監督學習-回歸模型評估-加州房價預測為例

監督學習-回歸模型評估-加州房價預測為例

離開了「是非題」的分類世界,今天我們要進入「填空題」的回歸領域。透過加州房價預測,學習如何用 RMSE 與 R-squared 來衡量模型的精準度,並學會看穿殘差圖背後的真相。


在完成「分類實戰」與「擬合理論」的探討後,我們已經學會了如何處理二選一的問題,並理解了過擬合的本質。但現實中還有另一種強大的需求:預測具體的數值

今天,我們進入機器學習的第二大版圖 —— 回歸任務 (Regression)


一、 回歸任務的本質:從「分類」到「預測」

在分類任務中,我們追求的是「分得準不準」;但在回歸任務中,我們追求的是 「離真相有多近」

案例背景:加州房價 (California Housing)

這個資料集比簡單的 Salary (薪資) 或 Startup (新創公司) 數據更大、更複雜,非常適合用來測試模型在處理真實世界數據時的表現與過擬合現象。

  • 資料量大:約 20,640 筆數據。
  • 特徵多樣:包含收入、房齡、房間數、緯度、經度等 8 個關鍵特徵。
  • 目標:預測各街區的房價中位數。

欄位說明:

  • MedInc:該街區住戶收入中位數(通常是影響房價最強的因素)。
  • HouseAge:該街區房屋年齡中位數。
  • AveRooms:平均房間數。
  • AveBedrms:平均臥室數。
  • Population:街區人口數。
  • AveOccup:平均入住人數。
  • Latitude / Longitude:街區緯度與經度。
  • Target (MedHouseVal):房價中位數 (單位:10 萬美金)。

💡 觀念導航:為什麼正確率 (Accuracy) 在這裡失靈了?

想像一下,如果某區真實房價是 1,000 萬

  • 模型 A 預測:1,001 萬(只差 1 萬)。
  • 模型 B 預測:2,000 萬(差了 1,000 萬)。

如果用分類任務的「正確率」來看,這兩個模型都是 0%(因為沒精確猜中數字)。但顯然模型 A 是優秀的,這就是為什麼回歸任務需要一套全新的「尺」來衡量誤差。


二、 模型評估與診斷:超越數字的真相

我們使用 線性回歸 (Linear Regression) 作為基礎模型,得到了以下實測結果:

1. 回歸診斷對照表

指標定義實測數據房地產場景意義
MAE平均絕對誤差0.53平均而言,每間房預測錯了約 5.3 萬美金
RMSE均方根誤差0.74若有極端預測錯誤,此數值會顯著拉高。
R-squared決定係數0.576戰力指標。代表模型解釋了 57.6% 的房價波動。
誤差分佈圖

📊 數據分析:誤差的長尾效應

觀察上方的 誤差分佈圖,大部分預測集中在 0 附近。但右側出現了一條長尾巴,這代表模型偶爾會出現嚴重的「低估」,這也是 RMSE (0.74) 遠高於 MAE (0.53) 的原因 —— 它正在警告我們模型存在嚴重的誤差點。

  • 深度思考:為什麼這裡的 R2 分數比 [ML001] 看到的低?

如果你還記得 [ML001] 的地圖展示,當時 Ridge 的 R2 分數約為 0.62,為什麼現在變成了 0.57

  • 關鍵在於資料量:早期的練習為了運算快速,通常只取了 5,000 筆 樣本進行測試。
  • 真相的代價:在本篇中,我們使用的是 全量資料 (20,640 筆)。隨著資料規模擴大,數據中的雜訊與非線性規律會更完整地暴露出來。
  • 結論:0.57 雖然數字較低,但它才是線性模型在面對真實、完整加州房價數據時的「誠實表現」。這也再次印證了為什麼我們需要更強大的優化工具。

2. 殘差與係數診斷:聽出模型的「求救聲」

除了看數字,我們更要看圖。下圖展示了模型的 係數權重(代表各特徵的重要性)與 殘差分佈(代表猜錯的證據)。

係數對比圖

圖 A:特徵係數權重 (Linear vs Lasso vs Ridge)

殘差圖

圖 B:殘差圖 (斜切線之謎)

診斷筆記:從數據解讀真相

  1. 斜切線之謎 (圖 B):你有發現殘差圖中那條明顯的斜線嗎?這是因為數據在 50 萬美金處被「截斷 (Capped)」了。這提醒我們:數據品質(截斷問題)有時比模型選擇更致命。
  2. 係數的語言 (圖 A):參考係數圖,MedInc (收入) 呈現強烈的正相關;而 Latitude (緯度) 則是強烈的負相關,揭露了 「越往北邊,房價越低」 的地理事實。
  3. 模型瓶頸與轉機:線性模型在處理 8 個特徵時,雖然勉強能畫出一條線,但面對像 Population 這種無效雜訊,或高房價區的複雜規律時,它會顯得力不從心。我們需要一種「手術刀」,能自動幫我們剔除雜訊並壓制過度的解讀。

三、 正則化 (Regularization):對抗過擬合的手術刀

當我們發現線性回歸「撞牆」或對雜訊過度解讀時,我們需要給模型加上一些限制。這就是 正則化 —— 透過在損失函數中加入「懲罰項」,強迫模型變得更簡潔。

1. 兩大流派:L1 與 L2

  • Ridge (L2) 權重縮減:讓所有特徵的係數都變小,但不歸零。
  • Lasso (L1) 特徵選擇:這把刀更鋒利!它能直接將不重要的特徵係數砍成 0

2. 實測對決:誰才是最精確的模型?

參考剛才在診斷章節中看到的 特徵係數權重圖 (圖 A),我們可以觀察到正則化帶來的驚人變化。下面是三種模型的實測評估數據:

模型MAE (越低越好)RMSE (越低越好)R-squared (越高越好)
Linear0.53320.74560.5758
Ridge (L2)0.53310.74530.5761
Lasso (L1)0.53550.74020.5819

五、 本日總結:回歸任務的深度診斷

至此,我們完成了從分類到回歸的跨越:

  1. [ML003]:理論地基,理解擬合的本質。
  2. [ML004]:分類優化,學會資料預處理。
  3. [ML005]:回歸診斷,掌握正則化手術刀。

🚀 數據背後的行動指南:我們可以做什麼?

跑出這些指標後,身為決策者,你應該啟動以下行動:

  • 業務風險評估 (看 MAE):平均誤差 5.3 萬美金。這告訴我們目前的模型仍處於 「輔助參考」 階段,不可全自動化定價。
  • 抓出害群之馬 (看 RMSE):找出預測錯誤最嚴重的樣本,分析是否漏掉了重要特徵(如:學區?或是靠近危險斷層?)。
  • 突破性能天花板 (看 R-squared):58.1% 是線性模型的上限。下一步我們將挑戰 「非線性模型」 以突破準確率天花板。

下一站,我們將進入「進階集成學習」,學習如何利用多個模型的實力(如 Random Forest, XGBoost),徹底擊碎回歸預測的效能屏障!

  1. 化繁為簡:它自動剔除了 Population 等雜訊特徵。在機器學習中,「能用 4 個特徵解決的事,就不要用 8 個」

數據背後的行動指南:我們可以做什麼?

跑出這些指標後,身為決策者,你應該啟動以下行動:

  • 業務風險評估 (看 MAE):平均誤差 5.3 萬美金。如果這是一間 20 萬的平價宅,誤差率仍高達 26%。這告訴我們目前的模型仍處於 「輔助參考」 階段,不可全自動化定價。
  • 抓出害群之馬 (看 RMSE):RMSE (0.74) 顯著高於 MAE (0.53),代表數據中存在「預測極度失準」的案例。我們需要調出那些預測錯誤最嚴重的樣本,分析是否漏掉了重要特徵(如:學區?或是靠近危險斷層?)。
  • 突破性能天花板 (看 R-squared):58.1% 的解釋力對線性模型來說已是上限。如果你需要將準確度拉升到 80% 以上,現在就是從「線性」轉向 「非線性 (如隨機森林)」 或進行 「深度特徵工程」 的最佳時機。