对教育追求至关重要
10.更改算法尽管在每个机器学习问题中,尝试各种算法都是一个很好的经验法则,但是对于不平衡的数据集而言,这尤其有利。 决策树经常在不平衡的数据上表现良好。在现代机器学习中,树集成(随机森林,梯度增强树等)几乎总是胜过单个决策树,因此我们将直接跳到:
基于树的算法通过学习 if / else 问题的层次结构来工作。这可以强制解决两个类。 8.更改性能指标评估不平衡数据集时,准确性不是最佳的度量标准,因为它可能会产生误导。 可以提供更好洞察力的指标是:
换句话说,如果你从每个类中随机选择一个观察值,你的模型能够正确“排序”它们的概率有多大? 9.惩罚算法(成本敏感训练)下一个策略是使用惩罚性学习算法,该算法会增加少数类分类错误的成本。 这项技术的一种流行算法是Penalized-SVM。 在训练过程中,我们可以使用参数class_weight='balanced'来惩罚少数类的错误,惩罚量与代表性不足的程度成正比。 如果我们想为支持向量机算法启用概率估计,我们还希望包含参数probability=True。
让我们在原始不平衡数据集上使用Penalized-SVM训练模型: 使用不平衡学习python模块平衡数据在科学文献中已经提出了许多更复杂的重采样技术。 例如,我们可以将多数类的记录聚类,并通过从每个聚类中删除记录来进行欠采样,从而寻求保留信息。在过采样中,我们可以为这些副本引入较小的变化,从而创建更多样的合成样本,而不是创建少数群体记录的精确副本。
让我们使用Python库 imbalanced-learn应用其中一些重采样技术。它与scikit-learn兼容,并且是scikit-learn-contrib项目的一部分。 .随机过采样过采样可以定义为向少数类添加更多副本。当你没有大量数据要处理时,过采样可能是一个不错的选择。
欠采样时要考虑的一个弊端是,它可能导致过拟合并导致测试集泛化不佳。 (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
