1 importjava.util.HashMap;2 importjava.util.Map;3 importjava.util.List;4 importjava.util.ArrayList;5 importjava.util.Comparator;6 importjava.util.Collections;7
8 /**
9 * Created by on 2016/12/8.ShiYan10 * 一.计算全部物品对的误差11 * 二.利用误差进行预测12 */
13 public classSlopeOne {14 Map> frequency=null;15 Map> deviation=null;16 Map> user_rating=null;17
18 public SlopeOne( Map>user_rating){19 frequency=new HashMap>();20 deviation=new HashMap>();21 this.user_rating=user_rating;22 }23
24 /**
25 * 全部有item间的评分误差26 */
27 public voidcomputeDeviation(){28 for(Map.Entry>ratingsEntry:user_rating.entrySet()){29 for(Map.EntryratingEntry:ratingsEntry.getValue().entrySet()){30 String item=ratingEntry.getKey();31 int rating=ratingEntry.getValue();32 Map itemFrequency=null;33 if(!frequency.containsKey(item)){34 itemFrequency=new HashMap();35 frequency.put(item,it