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

- Name
- Harry Chang
在完成「分類實戰」與「擬合理論」的探討後,我們已經學會了如何處理二選一的問題,並理解了過擬合的本質。但現實中還有另一種強大的需求:預測具體的數值。
今天,我們進入機器學習的第二大版圖 —— 回歸任務 (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:殘差圖 (斜切線之謎)
診斷筆記:從數據解讀真相
- 斜切線之謎 (圖 B):你有發現殘差圖中那條明顯的斜線嗎?這是因為數據在 50 萬美金處被「截斷 (Capped)」了。這提醒我們:數據品質(截斷問題)有時比模型選擇更致命。
- 係數的語言 (圖 A):參考係數圖,
MedInc(收入) 呈現強烈的正相關;而Latitude(緯度) 則是強烈的負相關,揭露了 「越往北邊,房價越低」 的地理事實。- 模型瓶頸與轉機:線性模型在處理 8 個特徵時,雖然勉強能畫出一條線,但面對像
Population這種無效雜訊,或高房價區的複雜規律時,它會顯得力不從心。我們需要一種「手術刀」,能自動幫我們剔除雜訊並壓制過度的解讀。
三、 正則化 (Regularization):對抗過擬合的手術刀
當我們發現線性回歸「撞牆」或對雜訊過度解讀時,我們需要給模型加上一些限制。這就是 正則化 —— 透過在損失函數中加入「懲罰項」,強迫模型變得更簡潔。
1. 兩大流派:L1 與 L2
- Ridge (L2) 權重縮減:讓所有特徵的係數都變小,但不歸零。
- Lasso (L1) 特徵選擇:這把刀更鋒利!它能直接將不重要的特徵係數砍成 0。
2. 實測對決:誰才是最精確的模型?
參考剛才在診斷章節中看到的 特徵係數權重圖 (圖 A),我們可以觀察到正則化帶來的驚人變化。下面是三種模型的實測評估數據:
| 模型 | MAE (越低越好) | RMSE (越低越好) | R-squared (越高越好) |
|---|---|---|---|
| Linear | 0.5332 | 0.7456 | 0.5758 |
| Ridge (L2) | 0.5331 | 0.7453 | 0.5761 |
| Lasso (L1) | 0.5355 | 0.7402 | 0.5819 |
五、 本日總結:回歸任務的深度診斷
至此,我們完成了從分類到回歸的跨越:
- [ML003]:理論地基,理解擬合的本質。
- [ML004]:分類優化,學會資料預處理。
- [ML005]:回歸診斷,掌握正則化手術刀。
🚀 數據背後的行動指南:我們可以做什麼?
跑出這些指標後,身為決策者,你應該啟動以下行動:
- 業務風險評估 (看 MAE):平均誤差 5.3 萬美金。這告訴我們目前的模型仍處於 「輔助參考」 階段,不可全自動化定價。
- 抓出害群之馬 (看 RMSE):找出預測錯誤最嚴重的樣本,分析是否漏掉了重要特徵(如:學區?或是靠近危險斷層?)。
- 突破性能天花板 (看 R-squared):58.1% 是線性模型的上限。下一步我們將挑戰 「非線性模型」 以突破準確率天花板。
下一站,我們將進入「進階集成學習」,學習如何利用多個模型的實力(如 Random Forest, XGBoost),徹底擊碎回歸預測的效能屏障!
- 化繁為簡:它自動剔除了
Population等雜訊特徵。在機器學習中,「能用 4 個特徵解決的事,就不要用 8 個」。
數據背後的行動指南:我們可以做什麼?
跑出這些指標後,身為決策者,你應該啟動以下行動:
- 業務風險評估 (看 MAE):平均誤差 5.3 萬美金。如果這是一間 20 萬的平價宅,誤差率仍高達 26%。這告訴我們目前的模型仍處於 「輔助參考」 階段,不可全自動化定價。
- 抓出害群之馬 (看 RMSE):RMSE (0.74) 顯著高於 MAE (0.53),代表數據中存在「預測極度失準」的案例。我們需要調出那些預測錯誤最嚴重的樣本,分析是否漏掉了重要特徵(如:學區?或是靠近危險斷層?)。
- 突破性能天花板 (看 R-squared):58.1% 的解釋力對線性模型來說已是上限。如果你需要將準確度拉升到 80% 以上,現在就是從「線性」轉向 「非線性 (如隨機森林)」 或進行 「深度特徵工程」 的最佳時機。