1. 程式人生 > >ML Day2簡單線性迴歸

ML Day2簡單線性迴歸

機器學習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()