样本准备
import numpy as np
import matplotlib.pyplot as plt
train_X = np.linspace(-1, 1, 100)
train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3
plt.plot(train_X, train_Y, 'ro', label='Original data')
plt.legend()
plt.show()

模型训练及可视化
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(train_X.reshape(100, 1), train_Y.reshape(100, 1))
print("输入6,的模型预测结果:", model.predict(6))
print("线性模型的斜率与截距:", model.coef_, model.intercept_)
print("使用斜率与截距的计算结果:", model.coef_ * 6 + model.intercept_)
plt.plot(train_X, train_Y, 'ro', label='Original data')
plt.plot(train_X, model.predict(train_X.reshape(100, 1)), label='Fitted line')
plt.legend()
plt.show()

模型评估
X_test = np.linspace(11, 20, 20)
Y_test = 2 * X_test + np.random.randn(*X_test.shape) * 0.3
print("模型评估的分值:", model.score(X_test.reshape(20, 1), Y_test.reshape(20, 1)))
模型保存,及应用
from sklearn.externals import joblib
joblib.dump(model, "train_model.m")
model = joblib.load("train_model.m")
print("导入模型,并输入6得到的预测结果:", model.predict(6))