首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >K近邻范畴属性的距离度量

K近邻范畴属性的距离度量
EN

Stack Overflow用户
提问于 2014-11-27 10:48:12
回答 2查看 3.1K关注 0票数 2

在我的课堂项目中,我正在编写Kaggle比赛-别被踢

这个项目将测试数据归类为汽车的好/坏购买。有34个特征,数据是高度倾斜的。我做了以下选择:

  1. 由于数据有很大的偏差,在73,000例中,64,000例为坏购,只有9,000例为好买。由于构建决策树将超出数据,所以我选择使用kNN -K最近的邻居。 在尝试了kNN之后,如果kNN没有产生好的结果,我计划使用尝试采用感知器和支持向量机技术。我对过度适应的理解正确吗?
  2. 由于有些特征是数字的,所以我可以直接使用欧几里得距离作为度量,但是还有一些属性是绝对的。为了恰当地使用这些特性,我需要自己的距离度量。我读过关于Hamming距离的文章,但我仍然不清楚如何合并两个距离度量,以使每个功能都具有同等的权重。
  3. 有办法找到k值的一个很好的近似吗?我知道这在很大程度上取决于用例,而且每个问题都不同。但是,如果我要从每个邻居那里进行一次简单的投票,我应该设置多少k的值?我目前正在尝试各种不同的值,比如2,3,10等等。

我研究了一下,发现了这些链接,但这些没有什么特别的帮助-

最近邻度量,它说找出你自己的距离度量就相当于“核化”,但是它没有多大意义。

( kNN的距离无关逼近谈论R-树、M-树等,我认为这不适用于我的情况.

( c) 使用Jaccard coeff查找最近的邻居

如果你需要更多的信息,请告诉我。

EN

回答 2

Stack Overflow用户

发布于 2014-11-27 22:52:17

  1. 由于数据是不平衡的,所以您应该选择相同数量的好/坏(丢失大量“坏”记录),或者使用一种可以解释这一点的算法。我认为在RapidMiner中有一个支持向量机实现可以做到这一点。
  2. 您应该使用交叉验证以避免过度安装。不过,您可能在这里不正确地使用了术语过度拟合
  3. 你应该把距离正常化,这样它们的重量就一样了。归一化指的是力在0到1之间。要使某物归一化,减去最小值,除以量程。
  4. 寻找K的最优值的方法是尝试所有可能的K值(同时交叉验证),并选择精度最高的K值。如果K的“好”值很好,那么您可以使用遗传算法或类似的方法来找到它。或者你可以用5或10的步骤来尝试K,看看哪一个K可以得到很好的精度(比如它是55),然后尝试接近这个“好值”的步骤1(即50,51,52.)但这可能不是最佳选择。
票数 1
EN

Stack Overflow用户

发布于 2018-02-05 11:20:56

我在看同样的问题。

关于k的选择,建议为避免获得“票数相等”而将其作为一个奇数。

我希望在将来扩展这个答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27168756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档