基于Scikit-learn的機器學習基本算法(一)線性回歸

關于線性回歸的數學原理本文不作贅述(懶得敲公式。。。),各種機器學習入門的書籍和帖子里應該都有,直接上在Python里面的使用方法。

首先構建一個隨機訓練數據集,需要符合線性關系。

import numpy as np
from numpy import random
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

import matplotlib.pyplot as plt
plt.plot(X, y, "b.")
訓練數據

第二步即需要使用scikit-learning的工具來做線性回歸。

from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X, y)

來看一下擬合后的模型:

lin_reg.intercept_, lin_reg.coef_

(array([4.02040005]), array([[3.04161372]]))

可以看到與我們構建的模型參數吻合度很高。

接下來我們來做一個預測,構建測試數據(0和2):

X_new = np.array([[0], [2]])
y_predict = lin_reg.predict(X_new)

最后我們將訓練數據和模型做一個可視化:

plt.plot(X, y, "b.")
plt.plot(X_new, y_predict, "r-")
預測結果

本節(jié)需要記憶的語法:

1. random.rand(d0, d1, ..., dn) #生成[0, 1)之間的隨機數
2. random.randn(d0, d1, ..., dn) #生成正態(tài)分布隨機數
3. lin_reg = LinearRegression() #新建一個線性回歸模型
4. lin_reg.fit(X, y) #擬合線性回歸模型
5. y_predict = lin_reg.predict(X_new) #對測試數據進行預測
6. plt.plot(X, y, "b.") #畫圖,橫坐標X,縱坐標y,顏色blue,形狀點
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容