☰
数据挖掘五实验实战:随机森林 AUC 0.97 与特征重要性分析(sklearn 实测)
2026/9/29 22:40:18 网站建设 项目流程

数据挖掘五实验实战:随机森林 AUC 0.97 与特征重要性分析(sklearn 实测)

数据挖掘的标准流程就五步:选模型、验模型、看特征、试无监督、读混淆矩阵。本文用 5000 样本 ×12 特征的合成数据集(正负比 7:3)把五步全部跑通,sklearn 1.8 真实运行,每一行输出都可复现——包括那个"失败"的无监督实验,它的诚实结论比十个漂亮数字更有教学价值。

一、五实验总览

实验内容实测
E1逻辑回归 vs 随机森林(5 折 AUC)0.8603 vs0.9707
E2随机森林测试集 AUC0.9673
E3特征重要性 Top5f9=0.2203 / f5=0.1484 / f0=0.1297
E4KMeans 无监督 vs 真实标签ARI=0.0052(诚实结论见 §四)
E5混淆矩阵精确率 0.9183 / 召回率 0.8647

二、模型选择:树集成碾压线性模型

E1 的五折交叉验证:逻辑回归 AUC 0.8603,随机森林 0.9707——差出 0.11。原因在数据构造:6 个有效特征 + 3 个冗余特征 + 类内双簇结构,决策边界天然非线性。逻辑回归的线性超平面拟合不动,树集成靠分裂天然处理交互与非线性。教训不是"随机森林永远更好",而是含冗余特征的表格数据上,树集成是默认起点。

三、验证纪律:均值 ± 标准差

E2 单次划分的测试集 AUC 0.9673,与 E1 的五折均值 0.9707 接近——但这不能靠运气,要靠cross_val_score(cv=5)的均值±标准差。单次划分在小数据上方差巨大,简历上只写"准确率 97%%"而不写交叉验证设置,是面试官最先追问的破绽。

四、无监督的诚实结论:ARI 0.0052 的教训

E4 是全文最重要的一节。直觉上"数据里有两类,KMeans(k=2) 应该能聚出来",实测 ARI 只有0.0052——几乎等于随机。原因:造数时n_clusters_per_class=2,每类内部有 2 个几何簇,全空间其实有 4 个簇;KMeans(k=2) 按"几何距离"切,与"标签边界"根本是两种切法。正确姿势是 k=4 聚类后再做簇-标签映射。这是初学者最常见的认知坑:无监督学到的是几何结构,不是你的标签语义。

五、不平衡数据:准确率会骗人

7:3 的正负比下,一个全预测负类的"傻子模型"也有 70% 准确率。E5 的混淆矩阵给出真实画面:TN=844 / FP=29 / FN=51 / TP=326,精确率 0.9183、召回率 0.8647。少数类是"要抓的目标"时,先看召回率再看精确率,阈值从 0.5 调起。

六、复现指南

random_state=42 全程固定,python mining_lab.py一条命令复现全部数字(依赖 sklearn + numpy)。代码里保留了两次真实踩坑:变量名复用覆盖模型对象、E4 输出文案与结果矛盾——修 bug 的过程本身就是数据挖掘工作流的一部分。

📦配套完整资源已整理上传:点击查看资源包(含五实验源码与运行留档,开箱即跑)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询