@NihalAnand/

# ML Class

## No description

Files
• main.py
• plot.pdf
• plot1.pdf
• Packager files
• poetry.lock
• pyproject.toml
• requirements.txt
main.py
```1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
```
```import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error, r2_score

def estimate_coefficients(x, y):
# size of the dataset OR number of observations/points
n = np.size(x)

# mean of x and y

mean_x, mean_y = np.mean(x), np.mean(y)

# calculating cross-deviation and deviation about x
SS_xy = np.sum(y*x - n*mean_y*mean_x)
SS_xx = np.sum(x*x - n*mean_x*mean_x)

# calculating regression coefficients
slope = SS_xy / SS_xx
bias  = mean_y - slope*mean_x

return(slope, bias)

# x,y are the location of points on graph
# color of the points change it to red blue orange play around

def plot_regression_line(x, y, coeff):
# plotting the points as per dataset on a graph
plt.scatter(x, y, color = "m",marker = "o", s = 30)

# predicted response vector
y_pred = coeff[1] +coeff[0]*x

# plotting the regression line
plt.plot(x, y_pred, color = "g")

# putting labels for x and y axis
plt.xlabel('Size')
plt.ylabel('Cost')

# function to show plotted graph
plt.savefig("plot2.pdf")

# Use only one feature
diabetes_X = diabetes.data[:, np.newaxis, 3]
scaler = StandardScaler();

diabetes_X = scaler.fit_transform(diabetes_X)
# Split the data into training/testing sets
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]

# Split the targets into training/testing sets
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]

# Create linear regression object
regr = linear_model.LinearRegression(normalize=True)

# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)

# Make predictions using the testing set
diabetes_y_pred = regr.predict(diabetes_X_test)

# The coefficients
print('Coefficients: \n', regr.coef_)
# The mean squared error
print("Mean squared error: %.2f"
% mean_squared_error(diabetes_y_test, diabetes_y_pred))
# Explained variance score: 1 is perfect prediction
print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))

# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test,  color='black')
plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)

plt.xticks(())
plt.yticks(())

plt.grid(1)

plt.savefig("plot.pdf")

#plot_regression_line(diabetes_X_test, diabetes_y_test, estimate_coefficients(diabetes_X_train, diabetes_y_train))
```
Fetching token