关于模型搭建
- 在一开始,尽量不要将问题复杂化(不要提前优化),先快速实现一个简单算法,然后通过交叉验证集评估模型。这就好比在软件工程中,不会做提前优化,而是先迭代功能。
- 通过绘制学习曲线(learning curve),确定面临的问题是高偏差还是高方差,来决定是添加更多训练样本,还是添加更多特征。
- 甚至可以手动检查交叉验证集中误差较大的样本,确定错误的来源和解决策略。
关于准确率与召回率的权衡
我们希望有一个指标能选出查准率和召回率都高的算法,为此,引入了 F1Score :
关于数据集的划分
- 训练集60%
- 交叉验证集20%
- 测试集20%
关于PCA的使用
不要提前优化
在机器学习中,一定谨记不要提前优化,只有当算法运行效率不尽如人意时,再考虑使用 PCA 或者其他特征降维手段来提升训练速度。
关于聚类K值的选择
一般来说,K-Means 得到的聚类结果是服务于我们的后续目的(如通过聚类进行市场分析),所以不能脱离实际而单纯以数学方法来选择 K 值。