Java Mahout自定义数据
我需要使用mahout建立一个推荐系统。我的数据包含以下数据块:Java Mahout自定义数据,java,mahout,recommendation-engine,mahout-recommender,recommender-systems,Java,Mahout,Recommendation Engine,Mahout Recommender,Recommender Systems,我需要使用mahout建立一个推荐系统。我的数据包含以下数据块: userID->用户的数字id foodID->包含食物的数字id(例如番茄酱的id为88) 分级->分级用户对项目的评分从1到5 brandID->foodID品牌的数字id(例如,亨氏可能是id 4) 使用以下代码: UserBasedRecommender recommender; int userId = 5; try { File file = new Fi
- userID->用户的数字id
- foodID->包含食物的数字id(例如番茄酱的id为88)
- 分级->分级用户对项目的评分从1到5
- brandID->foodID品牌的数字id(例如,亨氏可能是id 4)
UserBasedRecommender recommender;
int userId = 5;
try {
File file = new File(getClass().getResource("databaseFILE.csv").getFile());
DataModel dataModel = new FileDataModel(file);
UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel);
UserNeighborhood userNeighborhood = new ThresholdUserNeighborhood(0.1, userSimilarity, dataModel);
recommender = new GenericUserBasedRecommender(dataModel, userNeighborhood, userSimilarity);
List<RecommendedItem> recommendations = recommender.recommend(userId, 5);
for (RecommendedItem recommendation : recommendations) {
System.out.println(recommendation);
}
} catch (IOException e) {
throw new RuntimeException(e.getMessage(), e);
} catch (TasteException e) {
throw new RuntimeException(e.getMessage(), e);
}
UserBasedRecommender推荐程序;
int userId=5;
试一试{
File File=新文件(getClass().getResource(“databaseFILE.csv”).getFile());
DataModel DataModel=新文件DataModel(文件);
UserSimilarity UserSimilarity=新PearsonCorrelationSimilarity(数据模型);
UserNeighborary UserNeighborary=新阈值UserNeighborary(0.1,用户相似性,数据模型);
recommender=新的GenericUserBasedRecommender(数据模型、用户邻居、用户相似性);
列表建议=推荐人。推荐(userId,5);
对于(建议编辑EM建议:建议){
System.out.println(推荐);
}
}捕获(IOE异常){
抛出新的RuntimeException(e.getMessage(),e);
}捕获(味觉异常e){
抛出新的RuntimeException(e.getMessage(),e);
}
这为itemID及其相应的值提供了一个输出,但是我没有得到brandID的结果。我不知道我将如何改变这一点,以便brandID也可以包含在数据结构中
谢谢你的帮助:)我想你说的
itemID
你的意思是foodID
,但我想你需要做的是将你的foodID
和brandID
组合成一个itemID
哦,对不起,我已经解决了这个问题,是的,我曾考虑过将它们结合起来,但我不确定我的数据库结构是否符合我上面提到的形式。我只想说,我认为您有一个数据争用问题,而不是mahout问题。你的问题是,如何将形式为col-a,col-b,col-c的csv文件转换为形式为col-a,col-b_col-c的csv文件呢,谢谢你,我想我可以这样做,一开始是6位数字代表商品id,另外6位数字代表品牌id。这是你的意思吗?