Sklearn 机器学习 房价预估 拆分训练集和测试集
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖
本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】
Sklearn 机器学习 房价预估:拆分训练集和测试集全流程解析
在机器学习建模中,训练集(Training Set) 与 测试集(Test Set) 的划分是第一步且极其关键。
无论是做房价预测、销售预测还是用户行为分析,这一步都决定了模型评估结果是否可信。
本文将用 两个案例 演示完整的数据集拆分流程:
- 模拟房价数据集(适合初学者快速理解)
- 真实 California Housing 数据集(适合实战)
📌 一、为什么要拆分训练集和测试集
在机器学习中,如果用同一份数据同时训练和测试模型,会出现 过拟合(Overfitting):
模型在训练数据上表现很好,但在真实场景中效果差。
拆分数据的意义:
- 训练集:用于训练模型,学习数据规律
- 测试集:用于检验模型在未见过数据上的表现
📍 核心思想:测试集要像“真实世界数据”,帮助评估模型泛化能力。
📊 二、案例一:模拟房价数据集拆分
1. 准备模拟数据(扩充为100条样本)
import pandas as pd
import numpy as np# 固定随机种子,保证结果可复现
np.random.seed(42)# 生成100条模拟数据
n_samples = 100
data = {'面积': np.random.randint(60, 220, size=n_samples), # 60-220㎡'卧室数': np.random.randint(1, 6, size=n_samples), # 1-5个卧室'位置评分': np.random.randint(4, 11, size=n_samples), # 4-10分'价格': 0.8*np.random.randint(60, 220, size=n_samples) \+ 0.5*np.random