ML Day2簡單線性迴歸
阿新 • • 發佈:2019-01-11
機器學習100天,每天進步一點點。跟著GitHub開始學習!
英文專案地址https://github.com/Avik-Jain/100-Days-Of-ML-Code
中文專案地址https://github.com/MLEveryday/100-Days-Of-ML-Code
簡單線性迴歸,使用單一特徵來預測響應值,即根據特徵或自變數的線性函式精確預測響應值。
怎樣找到最佳的擬合線?最小化實際值和模型預測值之間的長度。
簡單線性迴歸的處理步驟如下:
1 資料預處理
匯入相關庫、匯入資料集、檢查缺失資料、劃分資料集、特徵縮放
2 通過訓練集來訓練簡單線性迴歸模型
使用sklearn.linear_model庫的LinearRegression類,呼叫fit方法對資料集進行訓練。
3 預測結果
使用訓練的迴歸模型預測測試集。
4 視覺化
使用matplotlib.pyplot將結果視覺化。
程式碼:
# Data Preprocessing import pandas as pd #用於匯入和管理資料集 import numpy as np #包含數學計算函式 import matplotlib.pyplot as plt dataset = pd.read_csv('../datasets/studentscores.csv') X = dataset.iloc[ : , : 1 ].values #iloc是取矩陣的某行某列 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) # Fitting Simple Linear Regression Model to the training set from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor = regressor.fit(X_train, Y_train) # Predecting the Result Y_pred = regressor.predict(X_test) # Visualising the Training results plt.scatter(X_train , Y_train, color = 'red') #畫散點圖 plt.plot(X_train , regressor.predict(X_train), color ='blue') plt.show() #畫圖 # Visualizing the test results plt.scatter(X_test , Y_test, color = 'red') plt.plot(X_test , regressor.predict(X_test), color ='blue') plt.show()