阅读背景:

Mahout对于GroupLens数据定制的推荐引擎

来源:互联网 

/*
 * 这段程序是应用GroupLens定制的DataModel数据模型
 * 由于这里的数据是以逗号隔开的。
 * 这里我把数据量加大,变成了20M的数据
 * 这里应用的数据模型是对GroupLens定制的GroupLensDataModel
 * */
package byuser;

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

import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.eval.LoadEvaluator;
import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;
import org.apache.mahout.cf.taste.recommender.Recommender;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
import org.apache.mahout.cf.taste.similarity.precompute.example.GroupLensDataModel;

public class GenericUserRecommeder_GroupLens {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			//进行数据的装载
			//生成数据模型
			DataModel model = new GroupLensDataModel(new File("E:\mahout项目\examples\ratings.dat"));
			UserSimilarity similarity = new org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity(model);
			UserNeighborhood neighborhood = new NearestNUserNeighborhood(100, similarity, model);
			//生成推举引擎
			Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
			LoadEvaluator.runLoad(recommender);
			//为用户已推举一件商品recommend( , );其中参数的意思是:第几个人,然后推举几件商品
			List<RecommendedItem> recommendations = recommender.recommend(1, 1);
			for(RecommendedItem recommendation : recommendations){
				System.out.println("GroupLens定制,为您推举的商品是:" + recommendation);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (TasteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
//这里的数据成果会涌现很慢,由于这里的数据我跑的是1M的数据。 
/*
 * 这段程序是应用GroupLens定制的DataModel数据模型
 * 由于这里的数据是




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: