1. 程式人生 > >機器學習2/100天-簡單線性迴歸

機器學習2/100天-簡單線性迴歸

#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')

這裡寫圖片描述