機器學習(3)-簡單線性迴歸
阿新 • • 發佈:2019-01-09
簡單線性迴歸適用於 一維的簡單的資料
比方說在某個資料集中,一列是員工的工作時間(假設以年為度量單位),一列是年薪,好比下圖
類似這樣的我們可以用簡單線性迴歸來訓練,並進行預測
圖片中的式子就是簡單線性迴歸的原理,我們需要做的是訓練資料找到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
沒有積分的也可以免費向我索要哈,評論區留下郵箱地址。我看見的時候就打包傳送嘍~