今天的學習內容是簡單線性回歸,簡單了說就是一次線性回歸。
直接上**吧!
step 1:
import pandas as pd首先是對資料的預處理,這個在第一天的學習裡已經學習過了。import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv('studentscores.csv')
x = dataset.iloc[ : , : 1 ].values
y = dataset.iloc[ : , 1 ].values
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split( x, y, test_size = 1/4, random_state = 0)
不過也回顧下昨天的學習內容。首先導入庫,然後匯入資料,再將資料拆分為訓練集和測試集,比例為1:3;
值得講一下的是,在第一天學習中拆分資料庫匯入的是sklearn.cross_validation中的函式,而不是sklearn.model_selection的,原因是sklearn.cross_validation在2.0版本中會被棄用,在執行中會出現警告。
step 2:
from sklearn.linear_model import linearregression第二步直接對資料進行訓練線性回歸。regressor = linearregression()
regressor = regressor.fit(x_train, y_train)
這裡使用的是fit進行訓練的。
fit的使用方法為fit(x,y,sample_weight=none),sample_weight是每條測試資料的權重,以array格式傳入,我們這裡的sample_weight為空。
step 3:
y_pred = regressor.predict(x_test)第三步是使用訓練好的線性回歸模型對測試集進行**。
step 4:
plt.scatter(x_train , y_train, color = 'red')第四部就是把**值和實際值顯示在座標系裡。plt.plot(x_train , regressor.predict(x_train), color ='blue')
plt.show()
plt.scatter(x_test , y_test, color = 'red')
plt.plot(x_test , regressor.predict(x_test), color ='blue')
plt.show()
顯示結果如圖所示:
第二天的學習比較簡單,只是乙個線性回歸知識的預熱。
看到這裡的線性回歸,讓我想起了曲線擬合,感覺直線擬合與簡單的線性回歸性質是一樣的,查閱資料也證實了我的想法,一般都是用的最小二乘法對其進行求解。
好了,今天的學習就到這,明天繼續加油!!!
100天搞定機器學習 Day2簡單線性回歸分析
第一天機器學習100天 day1資料預處理,我們學習了資料預處理。知道了,資料預處理是機器學習中最基礎和最麻煩,未來占用時間最長的一步操作。資料預處理一般有六個步驟,導入庫 匯入資料集 處理缺失值 分類資料轉化 分出訓練集和測試集 特徵縮放等。在處理資料過程中,必須得兩個庫是numpy和pandas...
100天搞定機器學習 Day2簡單線性回歸分析
第一天機器學習100天 day1資料預處理,我們學習了資料預處理。知道了,資料預處理是機器學習中最基礎和最麻煩,未來占用時間最長的一步操作。資料預處理一般有六個步驟,導入庫 匯入資料集 處理缺失值 分類資料轉化 分出訓練集和測試集 特徵縮放等。在處理資料過程中,必須得兩個庫是numpy和pandas...
機器學習 day2
歸一化 將所有資料轉化到同一標準下,使的某乙個特徵對最終結果不會造成更大的影響。通過對原始資料進行變換把資料對映到 預設為 0,1 之間 問題 如果資料中異常點過多,會有什麼影響?最大值最小值會受影響。方差考量資料的穩定性。標準化 將所有資料進行變換到平均值為0,標準差為1之間。standardsc...