1. 程式人生 > >機器學習(3)-簡單線性迴歸

機器學習(3)-簡單線性迴歸

簡單線性迴歸適用於 一維的簡單的資料
比方說在某個資料集中,一列是員工的工作時間(假設以年為度量單位),一列是年薪,好比下圖
這裡寫圖片描述
類似這樣的我們可以用簡單線性迴歸來訓練,並進行預測
這裡寫圖片描述
圖片中的式子就是簡單線性迴歸的原理,我們需要做的是訓練資料找到b0與b1
機器對應的線性迴歸器,學習就是擬合的過程,學習之後,學到自變數因變數的關係,確定自身的引數,就可以用來預測了。

首先匯入資料集

dataset = pd.read_csv('SD.csv')
print("檢視dataset")
print(dataset)

設定自變數和因變數
注意區分這裡X是矩陣,y是向量

X
= dataset.iloc[:, :-1].values# 矩陣 y = dataset.iloc[:, 1].values # 向量

分別設定X和y的訓練集與測試集
資料集中有90個數據,這裡就分給測試集30個數據

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/3, random_state = 0)

標準庫中有一個類物件regressor,是為了擬合線性模型的。他的引數有好幾個,不過一般是不需要賦值的,fit還是為了擬合線性模型

regressor = LinearRegression()  #引數有好幾個 但是都需要賦值
regressor.fit(X_train,y_train) y_pred = regressor.predict(X_test)

預測完成之後,我們做出迴歸器預測結果圖,分別是訓練集和測試集的結果

plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary -training ')
plt.xlabel('Years ')
plt.ylabel('Salary')
plt.show()

plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color
= 'blue') plt.title('Salary -test ') plt.xlabel('Years') plt.ylabel('Salary') plt.show()

這裡寫圖片描述
這裡寫圖片描述
擬合出來的直線就是預測的一種狀態。迴歸器在擬合的過程中,只能是針對於訓練集作擬合。

原始碼與資料集下載地址:下載RAR

沒有積分的也可以免費向我索要哈,評論區留下郵箱地址。我看見的時候就打包傳送嘍~