我不是训练有素的统计学家,所以对于某些词的错误使用,我深表歉意。我只是想从 Weka 最近邻算法中获得一些好的结果。我将在我的解释中使用一些冗余来尝试理解这个概念:
有没有办法对多维空间进行归一化,使任意两个实例之间的距离始终与对因变量的影响成正比?
换句话说,我有一个统计数据集,我想使用“最近邻”算法来查找与指定测试实例最相似的实例。不幸的是,我的初始结果毫无用处,因为值非常接近且与因变量弱相关的两个属性会错误地偏向距离计算。
例如,假设您正在尝试根据汽车数据库查找给定汽车的最近邻居:制造商、型号、年份、颜色、发动机尺寸、车门数量。我们凭直觉知道品牌、型号和年份对价格的影响大于门的数量。因此,颜色、门数相同的汽车可能不是颜色/门不同但品牌/型号/年份相同的汽车的最近邻居。什么算法可以用来适本地设置最近邻距离计算中每个自变量的权重,以便距离与因变量在统计上成正比(相关,无论如何)?
应用:这可用于在购物网站上更准确地“显示与该其他产品相似的产品”。回到汽车的例子,这会让相同品牌和型号的汽车冒泡到顶部,年份用作决胜局,然后在同一年的汽车中,它可能会对具有相同气缸数的汽车进行排序(4 或 6)领先于具有相同门数(2 或 4)的门。我正在寻找一种算法方法来得出类似于我凭直觉知道的权重(make >> model >> year >> engine >> doors
)并实际为它们分配数值用于最近邻搜索相似汽车。
一个更具体的例子:
数据集:
Blue,Honda,6-cylinder
Green,Toyota,4-cylinder
Blue,BMW,4-cylinder
现在查找类似于以下内容的汽车:
Blue,Honda,4-cylinder
在这个有限的例子中,它会匹配 Green,Toyota,4-cylinder
领先于 Blue,Honda,6-cylinder
因为这两个品牌在统计上差不多可互换和气缸是价格而不是颜色的更强决定因素。 BMW 会匹配得更低,因为该品牌倾向于将价格翻倍,即将商品放置在更远的距离。
最后注意:价格在算法训练期间可用,但在计算期间不可用。
最佳答案
可能您应该为此目的查看 Solr/Lucene。 Solr 提供了基于字段值频率的相似性搜索,并且它已经具有功能 MoreLikeThis用于查找相似的项目。
关于algorithm - 多维空间的归一化,这是什么算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33478834/