Created
March 14, 2018 01:07
-
-
Save jordanhudgens/4c7aeebb167360c5e51d4a61d0262ebf to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
print(__doc__) | |
# Code source: Jaques Grobler | |
# License: BSD 3 clause | |
import matplotlib.pyplot as plt | |
import numpy as np | |
from sklearn import datasets, linear_model | |
from sklearn.metrics import mean_squared_error, r2_score | |
# Load the diabetes dataset | |
diabetes = datasets.load_diabetes() | |
# Use only one feature | |
diabetes_X = diabetes.data[:, np.newaxis, 2] | |
# 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() | |
# 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.show() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment