scikit-learn - SKLearn中具有类权重的KNN

标签 scikit-learn knn

关闭。这个问题需要debugging details .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




是否可以在 SKLearn 中为 K-最近邻分类器定义类权重?我已经查看了 API,但无法解决。我有一个 knn 问题,它的类数量非常不平衡(其中 10000 个,其他 1 个)。

最佳答案

sklearn 中的原始 knn 似乎没有提供该选项。您可以通过在距离方程中添加系数(权重)来更改源代码,以便为属于多数类的记录(例如,系数为 1.5)放大距离。

https://github.com/scikit-learn/scikit-learn/blob/7b136e9/sklearn/neighbors/classification.py#L23

或者,作为 scikit-learn-contrib 项目的一部分的不平衡学习模块可用于具有高度类间不平衡的数据集:

http://contrib.scikit-learn.org/imbalanced-learn/stable/introduction.html

(在二分类的情况下,您也可以将问题视为无监督异常值检测问题,并使用 sklearn 中的一类 SVM 等方法进行分类)

关于scikit-learn - SKLearn中具有类权重的KNN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876280/

相关文章:

Murmurhash3 的 Javascript 实现给出与 Python 的 sklearn 中可用的转换使用的 Murmurhash3.cpp 相同的结果

python - 对 LinearRegression 使用 .set_params() 函数

python - scikit-learn 中的最近邻分类

解决两个现实生活问题的算法

python - 带提示数据集的 KNN

r - R 中 data.frame 内的矩阵或其他嵌套结构

python - 具有不确定点的最近邻

pandas - 特征哈希到底是如何工作的?

ruby - 实现k最近邻需要哪些数据?

machine-learning - 具有分类值的 KNN 无法正确预测