diff --git a/src/main/java/com/tarzan/recommend/core/CoreMath.java b/src/main/java/com/tarzan/recommend/core/CoreMath.java index 8a9fd1f..212375b 100644 --- a/src/main/java/com/tarzan/recommend/core/CoreMath.java +++ b/src/main/java/com/tarzan/recommend/core/CoreMath.java @@ -50,8 +50,8 @@ public class CoreMath { * @return double */ private static double relateDist(List xList, List yList,int type) { - List xs= Lists.newArrayList(); - List ys= Lists.newArrayList(); + List xs= Lists.newArrayList(); + List ys= Lists.newArrayList(); xList.forEach(x->{ yList.forEach(y->{ if(type==0){ @@ -79,7 +79,7 @@ public class CoreMath { * @author tarzan * @date 2020年07月31日 17:03:20 */ - public static double getRelate(List xs, List ys){ + public static double getRelate(List xs, List ys){ int n=xs.size(); //至少有两个元素 if (n<2) { diff --git a/src/main/java/com/tarzan/recommend/dto/RelateDTO.java b/src/main/java/com/tarzan/recommend/dto/RelateDTO.java index 7caeb1d..285c84d 100644 --- a/src/main/java/com/tarzan/recommend/dto/RelateDTO.java +++ b/src/main/java/com/tarzan/recommend/dto/RelateDTO.java @@ -21,7 +21,7 @@ public class RelateDTO { /** 物品id */ private Integer itemId; /** 指数 */ - private Integer index; + private Double index; } diff --git a/src/main/java/com/tarzan/recommend/service/FileDataSource.java b/src/main/java/com/tarzan/recommend/service/FileDataSource.java index 24f3827..a1df88d 100644 --- a/src/main/java/com/tarzan/recommend/service/FileDataSource.java +++ b/src/main/java/com/tarzan/recommend/service/FileDataSource.java @@ -21,6 +21,9 @@ public class FileDataSource { public static String folderPath; + static { + folderPath= Objects.requireNonNull(FileDataSource.class.getResource("/ml-100k")).getPath(); + } /** @@ -31,7 +34,6 @@ public class FileDataSource { * @date 2020年07月31日 16:53:40 */ public static List getData() { - folderPath= Objects.requireNonNull(FileDataSource.class.getResource("/ml-100k")).getPath(); List relateList = Lists.newArrayList(); try { FileInputStream out = new FileInputStream(folderPath+"\\u.data"); @@ -43,7 +45,7 @@ public class FileDataSource { String[] ht = newline.split(" "); Integer userId = Integer.parseInt(ht[0]); Integer movieId = Integer.parseInt(ht[1]); - Integer rating = Integer.parseInt(ht[2]); + Double rating = Double.parseDouble(ht[2]); RelateDTO dto = new RelateDTO(userId, movieId, rating); relateList.add(dto); } @@ -61,7 +63,6 @@ public class FileDataSource { * @date 2020年07月31日 16:54:51 */ public static List getUserData() { - folderPath= Objects.requireNonNull(FileDataSource.class.getResource("/ml-100k")).getPath(); List userList = Lists.newArrayList(); try { FileInputStream out = new FileInputStream(folderPath+"\\u.user"); @@ -94,7 +95,6 @@ public class FileDataSource { * @date 2020年07月31日 16:54:22 */ public static List getItemData() { - folderPath= Objects.requireNonNull(FileDataSource.class.getResource("/ml-100k")).getPath(); List itemList = Lists.newArrayList(); try { FileInputStream out = new FileInputStream(folderPath+"\\u.item");