如何计算mahout的rmse和时间效率得分?

问题描述

我一直在用mahout做推荐人。我需要帮助来计算rmse。这是我使用的代码。 应该添加什么代码来计算均方根值?另外,如何计算时间效率?

package com.company;

import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.common.LongPrimitiveIterator;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.TanimotoCoefficientSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;

import java.io.File;
import java.io.IOException;
import java.util.List;

public class ItemRecommender {

    public static void main(String[] args) {
        try {
            DataModel dm = new FileDataModel(new File("C:/Users/Pragya Kapoor/Desktop/ml-latest-small/movies.csv"));

            //ItemSimilarity sim = new LogLikelihoodSimilarity(dm);
            TanimotoCoefficientSimilarity sim = new TanimotoCoefficientSimilarity(dm);

            GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(dm,sim);

            int x=1;
            for(LongPrimitiveIterator items = dm.getItemIDs(); items.hasNext();) {
                long itemId = items.nextLong();
                List<RecommendedItem>recommendations = recommender.mostSimilarItems(itemId,5);

                for(RecommendedItem recommendation : recommendations) {
                    System.out.println(itemId + "," + recommendation.getItemID() + "," + recommendation.getValue());
                }
                x++;
                //if(x>10) System.exit(1);
            }

        } catch (IOException e) {
            System.out.println("There was an error.");
            e.printstacktrace();
        } catch (TasteException e) {
            System.out.println("There was a Taste Exception");
            e.printstacktrace();
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...