import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('/content/salary data scatrch.csv')
x = data['YearsExperience']
y = data['Salary']
def linear_regression(x, y):
N = len(x)
x_mean = x.mean()
y_mean = y.mean()
B1_num = ((x - x_mean) * (y - y_mean)).sum()
B1_den = ((x - x_mean)**2).sum()
B1 = B1_num / B1_den
B0 = y_mean - (B1*x_mean)
reg_line = 'y = {} + {}x'.format(B0, round(B1, 3))
return (B0, B1, reg_line)
print(reg_line)
def corr_coef(x, y):
N = len(x)
num = (N * (x*y).sum()) - (x.sum() * y.sum())
den = np.sqrt((N * (x**2).sum() - x.sum()**2) * (N * (y**2).sum() -
y.sum()**2))
R = num / den
return R
B0, B1, reg_line = linear_regression(x, y)
print('Regression Line: ', reg_line)
R = corr_coef(x, y)
print('Correlation Coef.: ', R)
print('"Goodness of Fit": ', R**2)
def predict(B0, B1, new_x):
y = B0 + B1 * new_x
return y