91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 551KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: Java
  • 標簽: 協同過濾??

資源簡介

基于用戶的協同過濾算法,使用Java實現,實驗數據集為movielens100k

資源截圖

代碼片段和文件信息

package?user.cf;

import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileNotFoundException;
import?java.io.FileReader;
import?java.io.IOException;
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.List;

public?class?Usercf?{

public?static?final?int?KNEIGHBOUR?=?10; //number?of?neighbors
public?static?final?int?PREFROWCOUNT?=?943; //number?of?users?in?base
public?static?final?int?COLUMNCOUNT?=?1682; //number?of?items
public?static?final?int?TESTROWCOUNT?=?462; //number?of?users?in?test
public?static?final?String?base?=?“u1.base“;//訓練集
public?static?final?int?base_LINE?=?80000;//base
public?static?final?String?TEST?=?“u1.test“;//測試集
public?static?final?int?TEST_LINE?=?20000;//test


public?static?void?main(String[]?args)?{

Usercf?cf?=?new?Usercf();

int[][]?user_movie_base?=?cf.readFile(base_LINE?base);?//構建訓練集數據
int[][]?test?=?cf.readFile(TEST_LINE?TEST);? ???//構建測試集數據?

double[][]?similarityMatrix?=?cf.produceSimilarityMatrix(user_movie_base);//構建用戶相似性矩陣

double[][]?matrix?=?cf.getScore(user_movie_base?similarityMatrix);

double[]?mae?=?cf.produceMAE(matrix?test);
double?Mae?=?0.0?MAE?=?0.0;
for?(int?k?=?0;?k? Mae?+=?mae[k];
}
MAE?=?Mae?/?TESTROWCOUNT;
System.out.println(“MAE=:“?+?MAE);
}


/**
?*?完成數據讀入功能
?*?@param?rowCount?數據行數
?*?@param?fileName?文件名稱
?*?@return
?*/

public?int[][]?readFile(int?rowCountString?fileName)?{
int?[][]?user_movie=new?int?[PREFROWCOUNT][COLUMNCOUNT];//創建用戶-項目評分矩陣
try?{
File?file?=?new?File(fileName);
FileReader?fr?=?new?FileReader(file);
BufferedReader?br?=?new?BufferedReader(fr);
String?line?=null;
// int?i?=?0;
while?((line?=?br.readLine())!=null)?{
String[]?data?=?line.split(“\t“);
int[]?tempdata?=?new?int[4];?
for?(int?j?=?0;?j? tempdata[j]?=?Integer.parseInt(data[j]);
}
user_movie[tempdata[0]-1][tempdata[1]-1]=tempdata[2];//構建用戶-項目評分數據矩陣
// i++;
}
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
System.out.println(“讀入數據完成...“);

return?user_movie;??//return?preference;
}


/**
?*?構建用戶-用戶相似性矩陣
?*?@param?preference?用戶-項目評分矩陣
?*?@return
?*/
public?double[][]?produceSimilarityMatrix(int[][]?preference)?{
double[][]?similarityMatrix?=?new?double[PREFROWCOUNT][PREFROWCOUNT];//創建用戶-用戶相似性矩陣


for?(int?i?=?0;?i? for?(int?j?=?0;?j? if?(i?==?j)?{
similarityMatrix[i][j]?=?1;
}
else?{
similarityMatrix[i][j]?=?computeSimilarity(preference[i]?preference[j]);
}
}
}
return?similarityMatrix;
}


/**
?*?計算用戶之間的相似性
?*?@param?user1
?*?@param?user2
?*?@return
?*/

public?double?computeSimilarity(int[]?user1int[]?user2)?{

List

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????301??2016-03-14?21:09??User_CF\.classpath

?????文件????????383??2016-03-14?21:09??User_CF\.project

?????文件????????598??2016-03-14?21:09??User_CF\.settings\org.eclipse.jdt.core.prefs

?????文件???????6305??2016-03-14?21:33??User_CF\bin\user\cf\Usercf.class

?????文件???????6864??2016-03-14?21:33??User_CF\src\user\cf\Usercf.java

?????文件????1586544??2014-06-07?08:35??User_CF\u1.base

?????文件?????392629??2014-06-07?08:35??User_CF\u1.test

?????目錄??????????0??2016-03-14?21:59??User_CF\bin\user\cf

?????目錄??????????0??2016-03-14?21:59??User_CF\src\user\cf

?????目錄??????????0??2016-03-14?21:59??User_CF\bin\user

?????目錄??????????0??2016-03-14?21:59??User_CF\src\user

?????目錄??????????0??2016-03-14?21:59??User_CF\.settings

?????目錄??????????0??2016-03-14?21:59??User_CF\bin

?????目錄??????????0??2016-03-14?21:59??User_CF\src

?????目錄??????????0??2016-03-14?21:59??User_CF

-----------?---------??----------?-----??----

??????????????1993624????????????????????15


評論

共有 條評論