python與機器學習入門(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()

擬合出來的直線就是預測的一種狀態。回歸器在擬合的過程中,只能是針對於訓練集作擬合。

源碼與數據集的下載請移步:

機器學習(3)-簡單線性回歸 - CSDN博客?

blog.csdn.net圖標
推薦閱讀:

pycharm Python console 路徑設置的問題?
PyQt5系列教程(34):書寫我要Markdown(QTextEdit的使用)
Python的靜態方法和類成員方法
量化策略系列教程:13布林強盜系統

TAG:機器學習 | Python | 數據分析 |