机器学习回归模型 · 特征工程 · 可交互可视化
数据来源: California Housing Dataset | 样本数: 20,640
加州房价数据集是机器学习领域的经典数据集,包含了加州各区块的人口、房屋、地理等信息。我们的目标是建立一个能够准确预测房价的回归模型,并分析影响房价的关键因素。
| 字段名 | 中文说明 | 取值范围 | 类型 |
|---|---|---|---|
| MedInc | 收入中位数(单位:万美元) | 0.5 - 15 | 连续 |
| HouseAge | 房屋年龄(年) | 1 - 52 | 连续 |
| AveRooms | 每个房屋的平均房间数 | 1 - 142 | 连续 |
| AveBedrms | 每个房屋的平均卧室数 | 1 - 34 | 连续 |
| Population | 区块人口 | 3 - 35682 | 连续 |
| AveOccup | 平均入住人数 | 0.5 - 1243 | 连续 |
| Latitude | 纬度 | 32 - 42 | 连续 |
| Longitude | 经度 | -124 - -114 | 连续 |
| Price | 房价(美元) | 14,000 - 500,001 | 目标变量 |
数据集包含20,640个样本,涵盖加州各区域的房价信息。房价分布呈现右偏态,说明存在少量高价房产。
首先,我们分析各特征与房价之间的相关性,找出影响房价的主要因素。
热力图展示了所有数值特征之间的相关性系数。颜色越深表示相关性越强。
MedInc(收入)与Price的相关性高达0.69,是最强的预测因子。
Latitude/Longitude与Price存在一定相关性,反映地理位置对房价的影响。
AveRooms与AveBedrms高度相关(0.85),说明房间多的房子卧室也多。
通过散点图可以更直观地观察各特征与房价的非线性关系。
将收入分为5个等级,分析不同收入水平的房价差异。
高收入群体(>$80k)平均房价$458K,是低收入群体($20k)的4倍!
收入与房价呈现明显的正相关关系,但并非线性——高收入群体的房价涨幅更大。
除了常规分析,我们还发现了一些出乎意料的规律:
数据显示8-10间房的房子最贵($362K),但超过10间的反而下降到$185K!
可能原因:超多房间的房屋通常是远离市区的自建大房或公寓楼,单价反而较低。
不同人口密度区域的房价差异很小,说明影响房价的主要是收入而非拥挤程度。
高密度地区($201K)与低密度地区($205K)的房价几乎相同。
新房(0-10年)与老房(40+年)的房价差异仅$28K,说明在加州房屋折旧不明显。
可能原因:加州气候宜人,房屋维护成本低,老房子同样有价值。
我们训练了四种回归模型进行对比:
| 模型 | 原理 | R² Score | RMSE | MAE |
|---|---|---|---|---|
| Linear Regression | 线性回归,最小二乘法 | 0.576 | $74,558 | $53,320 |
| Ridge Regression | L2正则化线性回归 | 0.576 | $74,552 | $53,320 |
| Random Forest ⭐ | 集成多棵决策树 | 0.804 | $50,663 | $32,817 |
| Gradient Boosting | Sequential Boosting | 0.776 | $54,222 | $37,164 |
Random Forest模型取得了最佳的预测效果,R²分数达到0.804,意味着模型可以解释80%的房价变化。
相比线性模型,随机森林能够捕捉特征之间的非线性关系,预测精度提升了近40%。
Random Forest模型提供了每个特征的重要性评分,告诉我们哪些因素对房价预测贡献最大。
MedInc(收入):贡献度52.5%,是最重要的预测因子。收入水平直接决定了购房能力。
AveOccup(入住率):贡献度13.8%,反映人口密度和房屋利用效率。
Latitude/Longitude(地理位置):合计贡献度17.8%,沿海地区房价明显更高。
其他特征:房龄、房间数等因素贡献较小。
分析模型的预测误差分布,判断是否存在系统性偏差。
加州房价呈现明显的地理差异,沿海城市(旧金山、洛杉矶)房价显著高于内陆地区。
南加州(洛杉矶):平均房价$213K,最高房价区域集中在沿海地带。
北加州(旧金山):平均房价$206K,科技富豪聚集地带动房价上涨。
中央谷地:平均房价$202K,相对较低的内陆地区。
本分析展示了机器学习在房地产定价中的应用潜力: