使用Weka Java API进行协同过滤的最有效距离函数

我正在使用Weka的机器学习库JAVA API构建一个协同过滤系统…

我基本上使用StringToWordVector过滤器将字符串对象转换为其单词出现的分解形式…

现在我使用kNN算法来查找目标对象的最近邻…

我的问题是,我应该使用什么距离函数来计算经过StringToWordVector过滤器处理的两个对象之间的距离…在这种情况下,哪个最有效?

Weka中可用的选项有:

AbstractStringDistanceFunction, ChebyshevDistance, EditDistance, EuclideanDistance, ManhattanDistance, NormalizableDistance

回答:

是的,相似性度量确实很有趣。简短的回答是,你应该尝试所有这些,并根据均方根误差(RMSE)、平均绝对误差(MAE)、返回集的广度等进行优化。

编辑距离与其他度量之间似乎有所区别,因为我期望编辑距离算法直接作用于字符串本身。

你的StringToWordVector是如何工作的?首先回答这个问题,然后用这个答案来激发思考,比如:在我的应用中,两个单词之间的相似性意味着什么(例如,语义意义是否比单词长度更重要)。

只要你在使用StringVectorizer,似乎你可以自由考虑更多主流的相似性度量,如对数似然度(LogLikelihood)、皮尔逊相关系数(Pearson)和余弦相似度(Cosine)。我认为这是值得做的,因为据我所知,你列出的相似性度量在文献中并没有被广泛使用或认真研究过。

愿相似性与你同在!

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注