機器學習A-Z_Part 2-1 簡單線性回歸

Linear Regression

簡單線性回歸,以2維為例,在平面中找出一條最佳的直線y = ax+b ,對每一組數據的距離合(平方和)為最小,即為Linear Regression。

依照Part 1的 數據預處理章節中,處理完數據後,我們接著要開始做基本的數據分析工作了,

第一步:

首先我們先導入要用到的packege,程式如下:

from sklearn.linear_model import LinearRegression
re = LinearRegression()
re.fit(X_train, Y_train)

上面的程式第二句我們先創了一個re = LinearRegression(),代表新增了一個re的class,這個class可以使用LinearRegression內的所有程式代碼,接下來所有章節所導入的程式都將會用這種方式來使用。

因此第三句程式碼我們直接使用fit的功能,第一個變數為X_train,第二個變數為Y_train。

以上程式跑完,將會自動擬合出符合數據集的最佳線性回歸公式。

第二步:

將擬合好的LinearRegression結果導入測試集驗證結果

y_pred = re.predict(X_test)

接著我們就可以呼叫出y_pred來與y_test中的數據做比較。

以上就是Linear Regression在python中的內容,那如果要視覺化我們擬合的成果,可以繼續往第三步。

第三步:

為了視覺化所有的數據跟擬合結果,我們會用到matplotlib.pyplot 中的 plt,因此在程式開頭我們就會導入

import matplotlib.pyplot as plt

接著視覺化的程式代碼如下:

# Visualising the Training set results將數據視覺化
plt.scatter(X_train, Y_train, color = 'red')
plt.plot(X_train, re.predict(X_train), color = 'blue')
plt.title('Salary VS Experience (training set)')
plt.xlabel('Year of Experience')
plt.ylabel('Salary')
plt.show()   #需與前面plt一同執行才會顯示這次

# Visualising the test set results將數據視覺化
plt.scatter(X_test, Y_test, color = 'red')
plt.plot(X_train, re.predict(X_train), color = 'blue')
plt.title('Salary VS Experience (test set)')
plt.xlabel('Year of Experience')
plt.ylabel('Salary')
plt.show()   #需與前面plt一同執行才會顯示這次

那整個完整的Linear Regression分析就到這邊。

發表留言