資源簡介
數據挖掘的上機實驗,包括文檔和代碼,是用c++實現的,用于電影推薦。
本實驗通過6040個用戶對3952部電影的100多萬條評價,利用基于網絡結構的鏈路預測算法,使用二分法模型,將用戶和產品看成抽象的節點,把用戶對產品的選擇關系構建成二部圖,以此預測用戶潛在喜愛的電影,將排序靠前的電影推薦給該用戶,并預測其準確性。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
double?crr[6041][3953];
double?crrt[3953][6041];
double?drr[3953][3953];
double?err[6041][3953];
int?arr[6041];
int?brr[3953];
//vector?user[6041];
int?main()
{
????int?a?b?c;
????double?sum?x?y?w;
????vector::iterator?iter;
????memset(arr?0?sizeof(arr));
????memset(brr?0?sizeof(brr));
????memset(crr?0?sizeof(crr));
????memset(crrt?0?sizeof(crrt));
????//for(int?i?=?0;?i?6041;?i++){
????//????user[i].clear();
????//}
????FILE?*fp?=?fopen(“ratings.txt“?“r“);
????while(!feof(fp))?{
????????fscanf(fp?“%d?%d?%d\n“?&a?&b?&c);
????????arr[a]++;
????????brr[b]++;
????????crrt[b][a]?=?1;
????????if(c?>?3)?{
???????????//?user[a].push_back(b);
???????????crr[a][b]?=?1;
????????}
????}
????fclose(fp);
????//FILE?*fpt?=?fopen(“w.txt“?“a“);
????for(int?i?=?1;?i?<=?3952;?i++)?{
????????for(int?j?=?1;?j?<=?3952;?j++)?{
????????????sum?=?0;
????????????for(int?z?=?1;?z?<=?6040;?z++)?{
????????????????/*iter?=?find(user[z].begin()?user[z].end()?i);
????????????????if(iter?!=?user[i].end())
????????????????????x?=?1;
????????????????else
????????????????????x?=?0;
????????????????iter?=?find(user[z].begin()?user[z].end()?j);
????????????????if(iter?!=?user[i].end())
????????????????????y?=?1;
????????????????else
????????????????????y?=?0;*/
????????????????sum?+=?crr[z][i]*crr[z][j]/arr[z];
????????????}
????????????if(brr[j]?==?0)
????????????????w?=?0;
????????????else
????????????????w?=?sum?/?brr[j];
????????????drr[i][j]?=?w*100000;
????????????//cout?<????????????//fprintf(fpt?“%.0f?“?w*100000);
????????}
????????//fprintf(fpt?“\n“);
????}
????//fclose(fpt);
????for(int?i?=?1;?i?6041;?i++)?{
????????for(?int?j?=?1;?j?3953;?j++)?{
????????????????err[i][j]?=?0;
????????????for(int?z?=?1;?z?3953;?z++)?{
???????????????err[i][j]?+=?drr[j][z]?*?crrt[z][i];
????????????}
????????}
????}
????FILE?*fpt?=?fopen(“ww.txt“?“a“);
????for(int?i?=?1;?i?6041;?i++)?{
????????for(int?j?=?1;?j?3953;?j++)?{
????????????fprintf(fpt?“%.0f?“?err[i][j]);
????????}
????????fprintf(fpt?“\n“);
????}
????fclose(fpt);
????return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-04?23:36??數據挖掘第一次上機報告—16030147001—錢宇珊\
?????文件????????2304??2018-05-03?20:59??數據挖掘第一次上機報告—16030147001—錢宇珊\movie.cpp
?????文件?????????241??2018-04-14?16:26??數據挖掘第一次上機報告—16030147001—錢宇珊\movie.py
?????文件????12553665??2018-04-14?16:26??數據挖掘第一次上機報告—16030147001—錢宇珊\ratings.txt
?????文件?????????156??2018-05-04?23:38??數據挖掘第一次上機報告—16030147001—錢宇珊\readme.txt
?????文件????????1353??2018-05-04?23:02??數據挖掘第一次上機報告—16030147001—錢宇珊\recommend.cpp
?????文件?????????244??2018-05-03?20:29??數據挖掘第一次上機報告—16030147001—錢宇珊\reconmend.py
?????文件????????1346??2018-05-04?23:21??數據挖掘第一次上機報告—16030147001—錢宇珊\verify.cpp
?????文件????34029595??2018-04-17?22:34??數據挖掘第一次上機報告—16030147001—錢宇珊\w.txt
?????文件???????55704??2018-05-04?23:31??數據挖掘第一次上機報告—16030147001—錢宇珊\數據挖掘第一次.docx
- 上一篇:C++課程設設計 員工信息管理系統
- 下一篇:mfc 任意多邊形填充色
評論
共有 條評論