Multiple Linear Regression

Avatar of 潘泰宇.
Avatar of 潘泰宇.

Multiple Linear Regression

Software QA Engineer
Taichung City, Taiwan

分析資料來源為 中央研究院社會學研究所 「社會變遷基本調查計畫 第八期」2020年問卷調查的資料

此次取資料中[年齡, 性別,是否飲酒, 學歷]作為特徵,預測[每日工作時數] 為多元線性回歸模型。


Optimizer : Gradient Descent

Cost function : MSE 均方誤差

Run_iter : 10000

Learning_rate : 0.003

Test_size = 0.25

Random_state = 0



  1. 將資料讀入轉為二維陣列進行資料預處理
  2. 用梯度下降法反覆調整學習率並觀察cost下降情形與w,b的變化
  3. 當cost停止下降後以最後回傳的w,b 預測Y並將結果顯示出來
  4. 比較y_test 與y_pred 的差異,並將誤差值error顯示出來



資料預處理:

  1. 將所有特徵中值為[不知道,拒答,遺漏值]的資料整筆移除。
  2. 生日轉換為年齡特徵使用
  3. 學歷用Label Encoding 將其分為 [國中以下:0, 高中 :1, 大學 :2, 碩士以上 :3 ]
  4. 將資料拆分為訓練集與測試集 test_size = 0.25, random_state = 0
  5. 將所有特徵進行標準化

由訓練結果得知迭代3-4000次時cost已接近最低點,將影響4個特徵的4個w與b更新的過程顯示出來

以訓練出來的w,b 帶入預測模型,將結果與測試集y比較,並計算出誤差值。

最後每10比顯示一次將結果印出。

 
此次取資料中[年齡, 性別, 是否飲酒, 學歷]作為特徵,預測[每日工作時數] 為多元線性回歸模型。 訓練結束後,將預測結果、測試集Y、誤差值印出。 分析資料來源為 「中央研究院-社會學研究所台灣社會變遷基本調查計畫 第八期」
Avatar of the user.
Please login to comment.

Published: Oct 15th 2023
59
4
0

Tools

python
Python

machine learning
python
linear regression

Share