1. 加州房价数据集简介
加州房价数据集是scikit-learn内置的经典回归任务数据集,包含1990年加州人口普查中的房屋信息。这个数据集特别适合机器学习初学者练习回归问题的完整流程,因为它具备真实数据的特点(存在噪声、非线性关系等),同时又经过清洗和标准化处理。
我第一次接触这个数据集是在学习线性回归时,当时就被它丰富的特征和明确的目标变量所吸引。数据集包含20640个样本,每个样本有8个特征:
- MedInc:街区收入中位数
- HouseAge:房屋年龄中位数
- AveRooms:平均房间数
- AveBedrms:平均卧室数
- Population:街区人口
- AveOccup:平均入住率
- Latitude:纬度
- Longitude:经度
目标变量是房屋中位价,单位是十万美元。这个数据集虽然不大,但包含了地理位置、房屋属性和人口统计等多维度信息,非常适合用来探索特征工程和模型选择。
2. 数据加载与初步探索
2.1 加载数据集
使用scikit-learn加载数据非常简单,几行代码就能搞定:
from sklearn.datasets import fetch_california_housing
import pandas as pd
# 加载数据
housing = fetch_california_housing(as_frame=True)
X, y = housing.data, housing.target
# 转换为DataFrame方便查看
df = pd.DataFrame(X, columns=housing.feature_names)
df['MedHouseVal'] = y # 添加目标列
print(f"数据集形状: {df.shape}")
print("\n前5行数据:")
print(df.head())
这里我特意使用了as_frame=True参数,让数据直接返回为pandas DataFrame,这对数据探索特别方便。第一次运行时,数据会自动下载并缓存到本地,下次使用就不需要重新下载了。
2.2 数据基本统计
了解数据的统计特性非常重要,这能帮助我们快速发现异常值或需要特殊处理的特征:
print(df.describe().T)
从统计结果可以看到:
- 收入中位数(MedInc)范围


1593

被折叠的 条评论
为什么被折叠?



