gpt4 book ai didi

scikit-learn - 设置 KNN 的特征权重

转载 作者:行者123 更新时间:2023-12-02 21:49:48 30 4
gpt4 key购买 nike

我正在研究 sklearn 的 KNN 实现。虽然我的输入数据有大约 20 个特征,但我相信其中一些特征比其他特征更重要。有没有办法:

  1. 在“训练”KNN 学习器时设置每个特征的特征权重。
  2. 了解经过或不经过预处理数据的最佳权重值。

在相关说明中,我知道 KNN 通常不需要训练,但由于 sklearn 使用 KDTree 实现它,因此必须从训练数据生成树。然而,这听起来像是将 KNN 问题变成了二叉树问题。是这样吗?

谢谢。

最佳答案

kNN 只是基于距离函数。当你说“特征二比其他特征更重要”时,通常意味着特征二的差异值得其他坐标的 10 倍差异。实现此目的的简单方法是将坐标 #2 乘以其权重。因此,您将坐标乘以各自的权重而不是原始坐标放入树中。

如果您的特征是坐标的组合,您可能需要在应用权重之前对坐标应用适当的矩阵变换,请参阅 PCA(主成分分析)。 PCA 可能会帮助您解决问题 2。

关于scikit-learn - 设置 KNN 的特征权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19892499/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com