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博客
推薦閱讀:
※pycharm Python console 路徑設置的問題?
※PyQt5系列教程(34):書寫我要Markdown(QTextEdit的使用)
※Python的靜態方法和類成員方法
※量化策略系列教程:13布林強盜系統