
1) 【一句话结论】:在样本分析项目中,因样本数据特征分布严重不平衡(正样本占比极低),导致模型训练效果差,通过特征工程结合SMOTE重采样技术,成功平衡数据并提升模型预测准确率。
2) 【原理/概念讲解】:数据不平衡(Imbalanced Data)指分类任务中不同类别样本数量差异显著,常见于恶意样本检测等场景。核心原理是多数类样本主导模型决策,导致少数类(如正样本)的预测性能下降。类比:买彩票中头奖,多数类样本(未中奖)数量远多于少数类(中奖),模型易忽略中奖特征。分析问题时,需通过统计指标(如类别比例、混淆矩阵)确认不平衡程度;解决方案需结合重采样(调整样本数量)或特征工程(增强少数类特征)。
3) 【对比与适用场景】:
| 方法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 过采样(SMOTE) | 通过插值生成新少数类样本 | 保留原样本特征,避免信息丢失 | 少数类样本数量极少,特征维度高 | 可能过拟合,需交叉验证 |
| 欠采样 | 删除部分多数类样本 | 简单高效,计算成本低 | 多数类样本数量极大,计算资源紧张 | 可能丢失关键信息,模型性能下降 |
4) 【示例】:假设样本数据集包含1000条记录,其中正样本(恶意样本)100条(10%),负样本(正常样本)900条(90%)。使用SMOTE处理数据:
from imblearn.over_sampling import SMOTE
X_resampled, y_resampled = SMOTE().fit_resample(X, y) # X为特征矩阵,y为标签
model = LogisticRegression() # 示例模型
model.fit(X_resampled, y_resampled) # 重新训练模型
处理后的数据中,正样本数量增加至200条,平衡数据后模型预测正类的准确率从30%提升至85%。
5) 【面试口播版答案】:
“在之前参与的一个样本分类项目中,遇到了数据严重不平衡的挑战。具体来说,正样本(比如恶意软件样本)仅占1%,负样本(正常样本)占99%,导致模型预测正类的准确率极低。首先,我通过直方图和比例计算确认了数据不平衡程度,并分析了模型在验证集上的混淆矩阵,发现正类预测准确率不足30%。接着,我尝试了过采样方法——SMOTE,通过插值生成新的少数类样本,平衡数据分布。之后,重新训练逻辑回归模型,验证集上的F1分数从0.2提升至0.85左右。此外,我还结合特征工程,提取了样本的哈希特征和行为模式特征,进一步优化模型性能。最终,通过重采样和特征增强,成功解决了数据不平衡问题,提升了模型对少数类的识别能力。”
6) 【追问清单】:
7) 【常见坑/雷区】: