Machine learning Mahout推荐中相似性策略的差异

Machine learning Mahout推荐中相似性策略的差异,machine-learning,mahout,similarity,recommendation-engine,mahout-recommender,Machine Learning,Mahout,Similarity,Recommendation Engine,Mahout Recommender,我正在使用基于mahout RecommendItem的算法。所有可用的--相似性类之间有什么区别?如何知道我的申请的最佳选择是什么?以下是我的选择: SIMILARITY_COOCCURRENCE SIMILARITY_LOGLIKELIHOOD SIMILARITY_TANIMOTO_COEFFICIENT SIMILARITY_CITY_BLOCK SIMILARITY_COSINE SIMILARITY_PEARSON_CORRELATION SIMILARITY_EUCL

我正在使用基于mahout RecommendItem的算法。所有可用的--相似性类之间有什么区别?如何知道我的申请的最佳选择是什么?以下是我的选择:

SIMILARITY_COOCCURRENCE
SIMILARITY_LOGLIKELIHOOD
SIMILARITY_TANIMOTO_COEFFICIENT
SIMILARITY_CITY_BLOCK
SIMILARITY_COSINE
SIMILARITY_PEARSON_CORRELATION       
SIMILARITY_EUCLIDEAN_DISTANCE

每一个都是什么意思?

我对它们都不熟悉,但我可以帮上一些忙

Cooccurrence是同一用户两项发生的频率

对数可能性是指根据您推荐的特征,项目被推荐的概率对数

关于tanimoto不太清楚

城市街区是两个实例之间的距离,如果您假设您只能像在棋盘格风格的城市中一样四处移动

余弦相似性是两个特征向量之间角度的余弦

Pearson相关性是特征的协方差,通过其标准偏差标准化

欧几里德距离是两点之间的标准直线距离

要确定哪个应用程序最适合您,您很可能需要对数据及其含义有一些直觉。如果您的数据是连续的值特征,那么欧几里德距离或皮尔逊相关性就有意义了。如果离散值比城市街区或余弦相似线沿线的值更多,则可能更有意义


另一种选择是设置交叉验证实验,在该实验中,您可以看到每个相似性度量在预测所需输出值方面的效果如何,并从交叉验证结果中选择效果最好的度量。

Tanimoto和Jaccard是相似的,是用于比较样本集的相似性和多样性的统计数据