第三大框架面试题题第二三题

第一二三题咋写?&
为您推荐:
其他类似问题
扫描下载二维码第二大题第一第二题,第三大题一二三四,第四大题第一题怎么做 分式乘除_百度知道
第二大题第一第二题,第三大题一二三四,第四大题第一题怎么做 分式乘除
提问者采纳
望采纳,谢谢
提问者评价
太给力了,你的回答完美的解决了我的问题!
其他类似问题
为您推荐:
一二三四的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁后使用快捷导航没有帐号?
查看: 1175|回复: 33
第三周作业第二三题
论坛徽章:7
本帖最后由 yanggw8071 于
10:56 编辑
2. 用案例的数据集,基于Mahout,任选一种算法,对任意一个女性用户进行协同过滤推荐,并解释推荐结果是否合理,解释过程可以写成一文档说明。
3. 接第2题,增加过滤条件,排除男性,只保留对女性用户的推荐评分,然后进行推荐,并解释推荐结果,是否合理。要求有代码,运行过程抓图,代码的文档说明,解释结果的文档说明等。
实验环境:
Myeclipse8.6
实验过程:
一、对任意一个女性用户进行协同过滤推荐
相似度:EuclideanDistanceSimilarity
推荐算法:GenericItemBasedRecommender
/*
* book推荐
*/
public class BookRecommenderTest {
private static final Logger log = LoggerFactory.getLogger(BookRecommenderTest.class);
public static void main(String[] args) throws Exception {
DataModel model =
long startTime = 0, endTime = 0;
long item_id = 0;
File modelfile=new File(&datafile/rating.csv&);
item_id = 11;
try {
//模型
startTime = System.currentTimeMillis();
model = new FileDataModel(modelfile);
endTime = System.currentTimeMillis();
<(&model运行时间: & + (endTime - startTime)+ &ms&);
//LongPrimitiveIterator it = model.getItemIDs();//All Items
// 相似度=
startTime = System.currentTimeMillis();
ItemSimilarity otherSimilarity = new EuclideanDistanceSimilarity(model);
GenericItemSimilarity similarity = new GenericItemSimilarity(otherSimilarity,model);
endTime = System.currentTimeMillis();
<(&similarity运行时间: & + (endTime - startTime)+ &ms&);
// 推荐=
startTime = System.currentTimeMillis();
ItemBasedRecommender recommender = new GenericItemBasedRecommender(model, similarity);
endTime = System.currentTimeMillis();
<(&recommender运行时间: & + (endTime - startTime)+ &ms&);
// 推荐的结果
startTime = System.currentTimeMillis();
List&RecommendedItem& recommendations = recommender.mostSimilarItems(item_id, 2);
<(&Item:&+item_id + & recommend sum:& + recommendations.size());
for (RecommendedItem recommendation : recommendations) {
<(recommendation.toString());
}
endTime = System.currentTimeMillis();
<(&recommenderItem: 运行时间: & + (endTime - startTime)+ &ms&);
} catch (Exception e) {
<(&recommend error& + e.getMessage());
log.error(&recommend error&,e);
}
}
}复制代码
二、用户11的推荐结果
14/03/14 09:48:09 INFO file.FileDataModel: Creating FileDataModel for file datafile\rating.csv
14/03/14 09:48:09 INFO file.FileDataModel: Reading file info...
14/03/14 09:48:09 INFO file.FileDataModel: Read lines: 4000
14/03/14 09:48:09 INFO model.GenericDataModel: Processed 200 users
14/03/14 09:48:09 INFO test.BookRecommenderTest: model运行时间: 83ms
14/03/14 09:48:09 INFO test.BookRecommenderTest: similarity运行时间: 172ms
14/03/14 09:48:09 INFO test.BookRecommenderTest: recommender运行时间: 3ms
14/03/14 09:48:09 INFO test.BookRecommenderTest: Item:11 recommend sum:2
14/03/14 09:48:09 INFO test.BookRecommenderTest: RecommendedItem[item:563, value:1.0]
14/03/14 09:48:09 INFO test.BookRecommenderTest: RecommendedItem[item:70, value:1.0]
14/03/14 09:48:09 INFO test.BookRecommenderTest: recommenderItem: 运行时间: 3ms
三、解释推荐结果的合理性
在课程中,老师是根据年龄和性别去判断推荐结果是否合理的,但我认为既然是协同过滤,应该根据用户对产品共同的兴趣去判断推荐结果,说的再深入点,用户相似性是根据用户在N维空间中的距离决定的,越近越相似,用户坐标就是用户对N个书籍的评分,距离根据相似性算法决定;
四、过滤女性的推荐,在这我改造了Mahout的FileDataModel类,过滤出女性用户
/*
* 女性book推荐
*/
public class BookFilterGenderRecommenderTest {
private static final Logger log = LoggerFactory.getLogger(BookFilterGenderRecommenderTest.class);
public static void main(String[] args) throws Exception {
DataModel model =
long startTime = 0, endTime = 0;
long item_id = 0;
RecommenderBuilder recommenderB
File modelfile=new File(&datafile/rating.csv&);
item_id = 11;
//模型
startTime = System.currentTimeMillis();
model = new FileFilterDataModel(modelfile);
endTime = System.currentTimeMillis();
<(&model运行时间: & + (endTime - startTime)+ &ms&);
//LongPrimitiveIterator it = model.getItemIDs();//All Items
// 相似度=
startTime = System.currentTimeMillis();
ItemSimilarity otherSimilarity = new EuclideanDistanceSimilarity(model);
GenericItemSimilarity similarity = new GenericItemSimilarity(otherSimilarity,model);
endTime = System.currentTimeMillis();
<(&similarity运行时间: & + (endTime - startTime)+ &ms&);
// 推荐=
startTime = System.currentTimeMillis();
ItemBasedRecommender recommender = new GenericItemBasedRecommender(model, similarity);
endTime = System.currentTimeMillis();
<(&recommender运行时间: & + (endTime - startTime)+ &ms&);
// 推荐的结果
startTime = System.currentTimeMillis();
List&RecommendedItem& recommendations = recommender.mostSimilarItems(item_id, 2);
<(&Item:&+item_id + & recommend sum:& + recommendations.size());
for (RecommendedItem recommendation : recommendations) {
<(recommendation.toString());
}
endTime = System.currentTimeMillis();
<(&recommenderItem: 运行时间: & + (endTime - startTime)+ &ms&);
} catch (Exception e) {
<(&recommend error& + e.getMessage());
log.error(&recommend error&,e);
}
}复制代码
五、推荐结果
14/03/14 10:52:57 INFO test.FileFilterDataModel: Creating FileDataModel for file datafile\rating.csv
14/03/14 10:52:57 INFO test.FileFilterDataModel: Reading file info...
14/03/14 10:52:57 INFO test.FileFilterDataModel: Read lines: 4000
14/03/14 10:52:57 INFO model.GenericDataModel: Processed 103 users
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: model运行时间: 211ms
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: similarity运行时间: 132ms
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: recommender运行时间: 12ms
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: Item:11 recommend sum:2
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: RecommendedItem[item:392, value:0.5]
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: RecommendedItem[item:686, value:0.5]
14/03/14 10:52:57 INFO test.BookFilterGenderRecommenderTest: recommenderItem: 运行时间: 26ms复制代码
六、解释,同第三点,具体评价推荐准确性的方法我还没想到,靠肉眼找了几个用户似乎也不太准,就不写上来了,欢迎各位老大指教,谢谢!
金牌会员, 积分 1667, 距离下一级还需 1333 积分
论坛徽章:9
不错!学习了!
金牌会员, 积分 2240, 距离下一级还需 760 积分
论坛徽章:6
不错,比较详细
中级会员, 积分 417, 距离下一级还需 83 积分
论坛徽章:2
学习了 ~~~~~~~~~
中级会员, 积分 463, 距离下一级还需 37 积分
论坛徽章:3
高级会员, 积分 600, 距离下一级还需 400 积分
论坛徽章:4
金牌会员, 积分 1165, 距离下一级还需 1835 积分
论坛徽章:7
高级会员, 积分 600, 距离下一级还需 400 积分
论坛徽章:4
本帖最后由 rujingyu 于
16:37 编辑
求助,困扰了很久的问题。
能帮看一下吗?
论坛徽章:18
高级会员, 积分 963, 距离下一级还需 37 积分
论坛徽章:8第二三大题_百度知道
第二三大题
提问者采纳
提问者评价
你的回答完美的解决了我的问题,谢谢!
来自:作业帮
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第二三大题,帮帮忙,我一定采纳。_百度知道
第二三大题,帮帮忙,我一定采纳。
提问者采纳
8a背井离乡
金科玉律入死
南北井井条
翼翼兢兢业业
提问者评价
太给力了,你的回答完美解决了我的问题!
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 党的三大问题 的文章

 

随机推荐