一、加州房价数据集介绍本实验使用模拟加州房价数据集完成随机森林二分类任务通过构建房屋特征与房价等级的映射关系实现房价高低二分类预测掌握随机森林集成学习算法、模型评估、特征重要性分析与参数调优方法。数据集简介数据集名称加州住房数据集模拟数据无网络依赖任务类型二分类任务高价房、低价房样本数量20640 条特征数量8 维特征包含房价相关区位、房屋、人口等属性数据特点本地生成、自带可学习规律、结果可复现、无需联网下载特征说明MedInc区域收入中位数HouseAge房屋房龄AveRooms平均房间数AveBedrms平均卧室数Population区域人口数量AveOccup平均居住人数Latitude区域纬度Longitude区域经度二、实验代码环境依赖安装命令pipinstallscikit-learn numpy-ihttps://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir需调参代码# 导入所需库fromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportaccuracy_score,classification_reportimportnumpyasnp# 设置随机种子保证实验可复现np.random.seed(42)# 数据集参数模拟加州房价数据集规格n_samples20640# 样本数量n_features8# 特征数量# 生成带可学习规律的模拟数据避免纯随机导致模型无法训练Xnp.random.randn(n_samples,n_features)# 构造二分类标签基于特征组合生成确保模型可学习y(X[:,0]X[:,2]X[:,6]0).astype(int)# 特征名称feature_names[MedInc,HouseAge,AveRooms,AveBedrms,Population,AveOccup,Latitude,Longitude]# 划分训练集与测试集8:2保持类别分布一致X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2,random_state42,stratifyy)# 初始化随机森林分类器rfRandomForestClassifier(n_estimators3,# 决策树数量max_depth1,# 树的最大深度random_state42,# 随机种子n_jobs-1# 使用全部CPU核心加速训练)# 训练模型rf.fit(X_train,y_train)# 在测试集上进行预测y_predrf.predict(X_test)# 输出模型评估指标print(准确率: {:.2f}%.format(accuracy_score(y_test,y_pred)*100))print(\nclassification_report(y_test,y_pred))# 计算并输出特征重要性排序importancesrf.feature_importances_ indicesnp.argsort(importances)[::-1]# 按重要性降序排列print(\n特征重要性)fori,idxinenumerate(indices):print(f{i1}.{feature_names[idx]}({importances[idx]:.4f}))三、实验结果与分析学生自主完成1. 实验结果展示运行代码后完整复制以下实验结果并粘贴至报告中测试集准确率保留两位小数完整分类报告精确率、召回率、F1分数、样本数全部特征重要性排序结果2. 结果分析根据运行结果完成以下分析内容模型性能分析结合准确率、精确率、召回率、F1分数评价本次随机森林模型的分类效果与泛化能力特征重要性分析列出排名前5的核心特征结合房产场景分析特征对房价分类的影响原因模型缺陷分析分析当前弱模型存在的性能不足、拟合问题等潜在问题3. 参数调优对比实验修改随机森林参数完成对照实验记录结果并分析实验组1n_estimators3max_depth1原弱模型实验组2n_estimators50max_depth3实验组3n_estimators200max_depth10要求记录每组参数的准确率对比分析树数量、树深度对模型性能的影响总结最优参数组合。四、实验讨论学生作答根据本次实验内容独立完成以下问题作答简述随机森林集成算法与单一决策树的区别分析集成学习的核心优势。结合本次实验说明如何通过参数判断模型欠拟合、过拟合并说明 max_depth、n_estimators 的调优思路。列举随机森林算法在现实生活中的其他分类应用场景。阐述 train_test_split 中 stratifyy 分层采样的作用与实验意义。五、实验总结学生作答根据本次实验全过程独立完成总结需包含以下内容本次实验的实验目标与完成情况。梳理随机森林分类任务的完整实验流程。记录实验过程中遇到的报错、问题及对应的解决方法。写出本次实验的学习收获、知识点总结与个人体会。
基于随机森林的加州房价二分类实验
发布时间:2026/5/23 14:39:41
一、加州房价数据集介绍本实验使用模拟加州房价数据集完成随机森林二分类任务通过构建房屋特征与房价等级的映射关系实现房价高低二分类预测掌握随机森林集成学习算法、模型评估、特征重要性分析与参数调优方法。数据集简介数据集名称加州住房数据集模拟数据无网络依赖任务类型二分类任务高价房、低价房样本数量20640 条特征数量8 维特征包含房价相关区位、房屋、人口等属性数据特点本地生成、自带可学习规律、结果可复现、无需联网下载特征说明MedInc区域收入中位数HouseAge房屋房龄AveRooms平均房间数AveBedrms平均卧室数Population区域人口数量AveOccup平均居住人数Latitude区域纬度Longitude区域经度二、实验代码环境依赖安装命令pipinstallscikit-learn numpy-ihttps://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir需调参代码# 导入所需库fromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportaccuracy_score,classification_reportimportnumpyasnp# 设置随机种子保证实验可复现np.random.seed(42)# 数据集参数模拟加州房价数据集规格n_samples20640# 样本数量n_features8# 特征数量# 生成带可学习规律的模拟数据避免纯随机导致模型无法训练Xnp.random.randn(n_samples,n_features)# 构造二分类标签基于特征组合生成确保模型可学习y(X[:,0]X[:,2]X[:,6]0).astype(int)# 特征名称feature_names[MedInc,HouseAge,AveRooms,AveBedrms,Population,AveOccup,Latitude,Longitude]# 划分训练集与测试集8:2保持类别分布一致X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2,random_state42,stratifyy)# 初始化随机森林分类器rfRandomForestClassifier(n_estimators3,# 决策树数量max_depth1,# 树的最大深度random_state42,# 随机种子n_jobs-1# 使用全部CPU核心加速训练)# 训练模型rf.fit(X_train,y_train)# 在测试集上进行预测y_predrf.predict(X_test)# 输出模型评估指标print(准确率: {:.2f}%.format(accuracy_score(y_test,y_pred)*100))print(\nclassification_report(y_test,y_pred))# 计算并输出特征重要性排序importancesrf.feature_importances_ indicesnp.argsort(importances)[::-1]# 按重要性降序排列print(\n特征重要性)fori,idxinenumerate(indices):print(f{i1}.{feature_names[idx]}({importances[idx]:.4f}))三、实验结果与分析学生自主完成1. 实验结果展示运行代码后完整复制以下实验结果并粘贴至报告中测试集准确率保留两位小数完整分类报告精确率、召回率、F1分数、样本数全部特征重要性排序结果2. 结果分析根据运行结果完成以下分析内容模型性能分析结合准确率、精确率、召回率、F1分数评价本次随机森林模型的分类效果与泛化能力特征重要性分析列出排名前5的核心特征结合房产场景分析特征对房价分类的影响原因模型缺陷分析分析当前弱模型存在的性能不足、拟合问题等潜在问题3. 参数调优对比实验修改随机森林参数完成对照实验记录结果并分析实验组1n_estimators3max_depth1原弱模型实验组2n_estimators50max_depth3实验组3n_estimators200max_depth10要求记录每组参数的准确率对比分析树数量、树深度对模型性能的影响总结最优参数组合。四、实验讨论学生作答根据本次实验内容独立完成以下问题作答简述随机森林集成算法与单一决策树的区别分析集成学习的核心优势。结合本次实验说明如何通过参数判断模型欠拟合、过拟合并说明 max_depth、n_estimators 的调优思路。列举随机森林算法在现实生活中的其他分类应用场景。阐述 train_test_split 中 stratifyy 分层采样的作用与实验意义。五、实验总结学生作答根据本次实验全过程独立完成总结需包含以下内容本次实验的实验目标与完成情况。梳理随机森林分类任务的完整实验流程。记录实验过程中遇到的报错、问题及对应的解决方法。写出本次实验的学习收获、知识点总结与个人体会。