1. 程式人生 > >sklearn 線性迴歸簡單應用

sklearn 線性迴歸簡單應用

樣本準備

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  # y=2x,但是加入了噪聲
# 顯示模擬資料點
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_) # y = kx+b 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))