2016-07-19 22 views
0

我试图根据特征相似性来做推荐,其中我的特征空间中的点代表独特的类。基本上,我有几百个独特的项目表示为低维特征向量,我想按排名顺序查找最近的邻居,以获得新的观察结果。k-最近的邻居,其中每个点是它自己的类

通常你会找到邻居并选择其中大部分表示的类。考虑到每个项目都有自己的课程,这对我来说不起作用。

k NN在这里错误的方法?是否有更适合这种问题的不同系列的算法?

+0

那么,你有多个班级,每个班级的训练集只有一个元素? – amit

+0

@amit准确。可能有数百个课,每个课只有一个元素。 –

+0

那么,机器学习算法通常需要每个类有多个项目才能正常工作。我的意思是,你可以去NN(kNN k = 1),但我不会在你的情况下调用那个机器学习... – amit

回答

1

kNN是否是正确的方法归结为您的类在特征空间中是否具有距离度量标准的良好特征。你提出的建议没有任何内在的错误。您可以简单地将一个独特的类与每个培训观察相关联,然后将应用于kNN。

+0

Thanks @bogatron。如果* k *是1,我如何得出排名?我希望能找到距离顺序最近的班级名单 –

+0

啊。那不一样。 kNN并不是真正的排名课程。如果你只是想要最近的邻居,你可以使用任何罐装kNN实现。但是如果你想要排名的课程,那么我只需写一个脚本来生成到每个训练点的距离(按降序排列)。第一项(最小距离)对应于kNN类('k = 1'),而其他项将是排名较低的类。 – bogatron

1

这听起来像你想建立一个recommender system,在那里你推荐基于已经购买的产品的新产品。这不是一个分类问题,所以你不应该把它当作一个对待。

使用什么方法真的取决于有关您的数据,金额,功能表示和其他问题的更多细节。推荐系统往往是一个更难的问题,他们简单的分类与更细微的问题。 This coursera course可能对您更有帮助。

+0

是的,我想要做推荐。最终目标是基于调查回复的一种一次性推荐。我们没有购买(或任何)历史记录(这不是购买)。我知道关于这个话题的文献,因为短期内我希望把这个作为一种分类问题来处理,作为一种ML型方法在这里可能有用的概念证明。谢谢! –