Professional Documents
Culture Documents
Implementation of Linear
Regression
Week 3
Session 2
X_df['intercept'] = 1
Step 8: Transform the dataframes into Numpy arrays for easier matrix operations
and initialize theta to 0
X = np.array(X_df)
y = np.array(y_df).flatten()
theta = np.array([0, 0])
Step 9: Define cost function for Linear regression
𝑚
1 𝑖 2
𝐽 𝜃0 , 𝜃1 = (ℎ𝜃 𝑥 −𝑦 𝑖 )
2𝑚
𝑖=1
return J
cost_function(X, y, theta)
Step 11: Define function gradient descent as
loss = hypothesis-y
gradient = X.T.dot(loss)/m
theta = theta - alpha*gradient
cost = cost_function(X, y, theta)
cost_history[iteration] = cost
gd = gradient_descent(X,y,theta,alpha, iter)
Step 13: Plot the best fit line as
plt.figure(figsize=(10,6))
plt.plot(X_df.population, y_df, '.')
plt.plot(best_fit_x, best_fit_y, '-')
plt.axis([0,25,-5,25])
plt.xlabel('Population of City in 10,000s')
plt.ylabel('Profit in $10,000s')
plt.title('Profit vs. Population with Linear Regression Line')
plt.show()
Tasks to perform: