【scikit-learn】加州房价数据集实战:从数据加载到回归模型评估

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)范围
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值