0

在问这个问题之前,我向你保证我花了 2 天时间在互联网上研究这个话题。由于我没有找到具体的答案,所以我在这里提出这个问题。

我是数据科学的新手,我正在做我的第一类不平衡项目。我正在尝试构建能够很好地预测哪些客户可能不会出现在他们的预定约会中的模型。在我的数据集中,“1s”是没有出现的人,“0s”是出现的人。

我的 y_test 包含 1831 个“0”实例和 455 个“1”实例。我感兴趣的课程占 y_test 总数的 19.9%。

我缩放了我的数据并使用缩放的数据集来评估 KNN 的性能。我了解到 KNeighborsClassifier 有参数“权重”。它的默认值不会帮助我解决严重的班级不平衡问题。通过使用“距离”选项,它只会稍微提高混淆矩阵和 F1 分数,但会严重过度拟合。我注意到还有另一个选项称为 [callable]。我在 scikit-learn.org 上阅读了它并进行了额外的研究,但很难理解如何使用它来通知我的 KNN 类不平衡和类不平衡比率(例如,就像我能够为 Logistic 回归所做的那样)。

鉴于我初学者的 ML 知识,“权重”论点似乎是唯一让我有机会告知 KNN 我正在处理的类不平衡的论点。你知道我如何有效地使用这个论点来让 KNN 更了解类不平衡吗?文档对它的描述性不是很好,并且互联网图书馆在调整 KNN 以解决类不平衡方面并不丰富。因此,我在这里联系,看看是否有人有针对类不平衡调整 KNN 的经验,以及如何有效地做到这一点。

谢谢你帮助我学习!

4

0 回答 0