Supervised Learning : Linear Regression Model
# Diabetes patient data
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error
#Load the datasets from sklearn
diabetes = datasets.load_diabetes()
print(diabetes.keys())
#(['data', 'target', 'DESCR', 'feature_names')]
#print(diabetes.DESCR)
# Display DESCR in the one-column format index =2
diabetes_X = diabetes.data[:, np.newaxis, 2]
diabetes_X = diabetes.data[:, np.newaxis, 2]
#print(diabetes_X)
#Take 30 data to train (last 30) and test data (first 20)
diabetes_X_train = diabetes_X[:-50]
diabetes_X_test = diabetes_X[-30:]
diabetes_Y_train = diabetes.target[:-50]
diabetes_Y_test = diabetes.target[-30:]
#Model definition
model = linear_model.LinearRegression()
model.fit(diabetes_X_train,diabetes_Y_train)
diabetes_y_predicted = model.predict(diabetes_X_test)
print ("Mean squared error is :", mean_squared_error(diabetes_Y_test,
diabetes_y_predicted))
#Find weights of the regression line
print("Weights: ", model.coef_)
print("Intercept: ", model.intercept_)
#Plot the Model
plt.scatter(diabetes_X_test, diabetes_Y_test)
plt.plot(diabetes_X_test,diabetes_y_predicted)
plt.show()