我使用Smote制作了一个预测模型,其中1类具有1800个样本和35000类0类样品。因此,根据Smote,创建了合成样品,并训练了随机森林。

但是,当我测试模型时,我现在将大多数结果作为1级。我只是试图在培训集中对其进行测试,这就是我得到的:

没有smote

Without SMOTE

用smote

With SMOTE

我还尝试了超参数优化,但这尚未起作用

谢谢

PS:在 pandasUnbalancedDataset 图书馆

有帮助吗?

解决方案

SMOTE算法取决于您拥有的数据集。如果您存在严重的数据不平衡,那么如果您的情况下的SMOTE算法的数据不平衡,如果少数民族中的变化非常高,并且两类之间的相似之处很高,则可能无法提供帮助。但是如何知道发生这种情况。尝试从少数族裔类训练非线性SVM中复制样本,并检查结果,如果分类精度非常低,则是这种情况。

Smote使用KNN创建新样本,但是如果少数族裔类中的变化很高,那么使用SMOTE将使用即使不是真正的邻居的样本。老实说,没有明确的解决方案解决此问题,但我可以建议以下内容:1。尝试边界示威:这是Smote算法的修改版本2.尝试smote boosting:这是Adaboost的修改版本,其中Adaboost Smote 3增强了算法。

许可以下: CC-BY-SA归因
scroll top