0

所以我使用了Weka机器学习库JAVA API ...在WEKA Java API的协同过滤推荐最有效的距离函数

我基本上使用StringToWordVector过滤字符串对象转换成他们的话构建这个协同过滤系统occurence分解....

所以现在我使用的kNN算法来找到最近的邻居到目标对象....

我的问题是,我应该用什么样的距离函数来计算之间的距离两个由StringToWordVector过滤器过滤的对象......哪一个将会是mo对这种情况有效吗?

在Weka中可用的选项是:

AbstractStringDistanceFunction, ChebyshevDistance, EditDistance, EuclideanDistance, ManhattanDistance, NormalizableDistance 

回答

0

是相似性指标是美好的时光。简单的答案是,你应该尝试一切,并针对RMSE,MAE,回报集的宽度等进行优化。

编辑距离和其他指标之间似乎存在区别,因为我期望EditDistance算法来处理字符串本身。

您的StringToWordVector如何工作?首先回答这个问题,然后用这个答案来激发我的想法:我想在我的应用程序中使用两个词之间的相似性(例如,语义意义是否超过字长)。

只要你使用StringVectorizer,似乎你可以自由地考虑更多的主流相似性指标,如LogLikelihood,Pearson和Cosine(分别)。我认为这是值得的,因为根据我的知识,没有列出的相似性指标在文献中被广泛使用或认真研究过。

可能与你有相似之处!