mahout利用布尔型数据评估查准率和查全率

/*利用无偏好值得布尔型 * 数据评估查准率和查全率 * */package byuser;import java.io.File;import java.io.IOException;import org.apache.mahout.cf.taste.common.TasteException;import org.apache.mahout.cf.taste.eval.DataModelBuilder;import org.apache.mahout.cf.taste.eval.IRStatistics;import org.apache.mahout.cf.taste.eval.RecommenderBuilder;import org.apache.mahout.cf.taste.eval.RecommenderIRStatsEvaluator;import org.apache.mahout.cf.taste.impl.common.FastByIDMap;import org.apache.mahout.cf.taste.impl.eval.GenericRecommenderIRStatsEvaluator;import org.apache.mahout.cf.taste.impl.model.GenericBooleanPrefDataModel;import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;import org.apache.mahout.cf.taste.impl.similarity.LogLikelihoodSimilarity;import org.apache.mahout.cf.taste.model.DataModel;import org.apache.mahout.cf.taste.model.PreferenceArray;import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;import org.apache.mahout.cf.taste.recommender.Recommender;import org.apache.mahout.cf.taste.similarity.UserSimilarity;public class GenericBooleanPreTest {public GenericBooleanPreTest() throws TasteException, IOException{DataModel model = new GenericBooleanPrefDataModel(new FileDataModel(new File("E:\\mahout项目\\examples\\ua.base")));RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();RecommenderBuilder recommenderBuilder= new RecommenderBuilder() {@Overridepublic Recommender buildRecommender(DataModel model) throws TasteException {// TODO Auto-generated method stubUserSimilarity similarity = new LogLikelihoodSimilarity(model);UserNeighborhood neighborhood = new NearestNUserNeighborhood(10, similarity, model);return new GenericUserBasedRecommender(model, neighborhood, similarity);}};DataModelBuilder modelBuilder = new DataModelBuilder() {@Overridepublic DataModel buildDataModel(FastByIDMap<PreferenceArray> trainingData) {// TODO Auto-generated method stubreturn new GenericBooleanPrefDataModel(GenericBooleanPrefDataModel.toDataMap(trainingData));}};IRStatistics stats = evaluator.evaluate(recommenderBuilder, modelBuilder, model, null, 10, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);System.out.println("布尔型数据评估的查准率是:" + stats.getPrecision());System.out.println("布尔型数据评估的查全率是:" + stats.getRecall());}public static void main(String[] args) throws TasteException, IOException {// TODO Auto-generated method stubGenericBooleanPreTest test = new GenericBooleanPreTest();}}

结果如图:

,选择逃避,选择被动的去面对生活

mahout利用布尔型数据评估查准率和查全率

相关文章:

你感兴趣的文章:

标签云: