資源簡介
基于java的協同過濾
代碼片段和文件信息
package?test;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.Comparator;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Map.Entry;
public?class?TestRecommend?{
????public?static?void?main(String[]?args)?{
???? //
????Map>?userPerfMap?=?new?HashMap>();
????Map?pref1?=?new?HashMap();
????pref1.put(“A“?3);
????pref1.put(“B“?4);
????pref1.put(“C“?3);
????pref1.put(“D“?5);
????pref1.put(“E“?1);
????pref1.put(“F“?4);
????userPerfMap.put(“p1“?pref1);
????Map?pref2?=?new?HashMap();
????pref2.put(“A“?2);
????pref2.put(“B“?4);
????pref2.put(“C“?4);
????pref2.put(“D“?5);
????pref2.put(“E“?3);
????pref2.put(“F“?2);
????userPerfMap.put(“p2“?pref2);
????Map?pref3?=?new?HashMap();
????pref3.put(“A“?3);
????pref3.put(“B“?5);
????pref3.put(“C“?4);
????pref3.put(“D“?5);
????pref3.put(“E“?2);
????pref3.put(“F“?1);
????userPerfMap.put(“p3“?pref3);
????Map?pref4?=?new?HashMap();
????pref4.put(“A“?2);
????pref4.put(“B“?2);
????pref4.put(“C“?3);
????pref4.put(“D“?4);
????pref4.put(“E“?3);
????pref4.put(“F“?2);
????userPerfMap.put(“p4“?pref4);
????Map?pref5?=?new?HashMap();
????pref5.put(“A“?4);
????pref5.put(“B“?4);
????pref5.put(“C“?4);
????pref5.put(“D“?5);
????pref5.put(“E“?1);
????pref5.put(“F“?0);
????userPerfMap.put(“p5“?pref5);
????Map?simUserSimMap?=?new?HashMap();
????String?output1?=?“皮爾遜相關系數:“?output2?=?“歐幾里得距離:“;
????for?(Entry>?userPerfEn?:?userPerfMap.entrySet())?{
????????String?userName?=?userPerfEn.getKey();
????????if?(!“p5“.equals(userName))?{
????????double?sim?=?getUserSimilar(pref5?userPerfEn.getValue());
????????double?distance?=?getEuclidDistance(pref5?userPerfEn.getValue());
????????output1?+=?“p5與“?+?userName?+?“之間的相關系數:“?+?sim?+?““;
????????output2?+=?“p5與“?+?userName?+?“之間的距離:“?+?distance?+?““;
????????simUserSimMap.put(userName?sim);
????????}
????}
????System.out.println(output1);
????System.out.println(output2);
????Map>?simUserObjMap?=?new?HashMap>();
????Map?pobjMap1?=?new?HashMap();
????pobjMap1.put(“一夜驚喜“?3);
????pobjMap1.put(“環太平洋“?4);
????pobjMap1.put(“變形金剛“?3);
????simUserObjMap.put(“p1“?pobjMap1);
????Map?pobjMap2?=?new?HashMap();
????pobjMap2.put(“一夜驚喜“?5);
????pobjMap2.put(“環太平洋“?1);
????pobjMap2.put(“變形金剛“?2);
????simUserObjMap.put(“p2“?pobjMap2);
????Map?pobjMap3?=?new?HashMap();
????pobjMap3.put(“一夜驚喜“?2);
????pobjMap
- 上一篇:EJB3.0——jsp網頁調用
- 下一篇:輕量級JavaEE企業級應用實戰.txt
評論
共有 條評論