機器學習2/100天-簡單線性迴歸
阿新 • • 發佈:2019-01-01
#Simple Linear Regression
github: 100-Days-Of-ML-Code
假設X和Y之間是線性關係,基於自變數(independent variables)X,預測因變數(dependent variable)Y。
目標是尋找最佳的線形關係,尋找線形關係使得預測值與實際值距離最小。
##1.資料預處理
- 匯入Libraries
- 匯入資料集
- 處理缺失資料
- 分割資料集
- 特徵歸一化
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.cross_validation import train_test_split X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size = 1/4, random_state = 0)
##2.使用線形模型擬合訓練資料
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train,Y_train)
##3.預測資料
使用前面訓練的模型
Y_pred = regressor.predict(X_test)
##4.視覺化
scatter 畫雜湊點
plot 畫線
plt.show()顯示
plt.scatter(X_train, Y_train, color='red') plt.plot(X_train, regressor.predict(X_train), color='blue') plt.scatter(X_test, Y_test, color='red') plt.plot(X_test, regressor.predict(X_test), color='blue')