在Day05介紹coding樣板, 還有底下紅框中的沒用到:
另外在Under fitting與 Overfitting的案例, 主要只有Level與 Salary兩項資料即兩個Feature, 接下來要實作Multiple Linear Regression(多元線性回歸), 即有更多的Feature來做分析預測, Multiple Linear Regression 的式子可以下列表示
y=b0 + b1X1+ b2X2 + b3X3 + … + bNXN
接下來看一下這次的案例場景:
某日, CEO拿著各地區RD部門, 行政部門,與行銷的花費資料與公司獲利數字, 要求你藉由這三部門與地區的資料, 來預測公司的獲利數字, 公司花費與獲利數字共50筆資料如下
接下來就開始寫程式囉
首先將資料匯入, 並將State利用factor轉成categorical data, 即地區資料有New York, California 與Florida, 原本的資料型態是文字, 透過factor後, 可轉換為對應1,2,3
再來利用caTools這個套件將資料將資料切分成Training set(訓練資料集) and Test set(測試資料集), 因為資料有50筆, 取40筆訓練, 10筆測試, 故SplitRatio = 0.8, 程式碼如下
套用線性回歸, 並用Test set做預測
在Evaluation的步驟, 將實際與Test set預測結果組成一個data frame, 然後查看, 另外再透過cor()這個函數, 查看兩者的相關係數
實際與Test set預測結果資料如下, 看起來預測結果還可以, 沒有太差
實際與Test set的相關係數如下, 結果也不錯, 快接近1了
最後來用作出來的模型測試一下單筆資料, 要注意的是一樣需要將地區資料用factor轉換過丟進去
到這邊做完了, 可以去跟CEO交差了, 但是CEO又丟了個問題, 到底各地區RD部門, 行政部門,與行銷的花費資料, 到底哪幾項資料才是決定公司獲利數字的關鍵呢? 在下一篇再來繼續探討
本篇完整程式碼如下
本文參考
Udemy Machine Learning A-Z™ Hands-On Python & R In Data Science-05.Multiple Linear Regression
http://www.superdatascience.com/wp-content/uploads/2017/02/Multiple_Linear_Regression.zip