資源簡介
基于SVD的圖像壓縮
基于SVD的協同過濾推薦系統
我的博客地址:
http://blog.csdn.net/jinshengtao/article/details/41387379

代碼片段和文件信息
//?recommand.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include?
#include?
#include?
#include?“bmuav.c“
#include?“brmul.c“
#define?max(ab)????????????(((a)?>?(b))???(a)?:?(b))
typedef?double?(*func)(double?*dataMatint?*overLap?int?n?int?count?int?item?int?j);
typedef?double?(*Est)(double?*dataMat?int?user?func?simMeas?int?item?int?m?int?n);
extern?void?brmul(double?*adouble?*bint?mint?nint?kdouble?*c);
extern?int?bmuav(double?*aint?mint?ndouble?*udouble?*vdouble?epsint?ka);
extern?void?matrix_reverse(double?*srcdouble?*destint?rowint?col);
double?standEst(double?*dataMat?int?user?func?simMeas?int?item?int?m?int?n);
double?svdEst(double?*dataMat?int?user?func?simMeas?int?item?int?m?int?n);
double?cosSim(double?*dataMatint?*overLap?int?n?int?count?int?item?int?j);
double?cosSim2(int?*dataMatint?*overLap?int?n?int?scale?int?item?int?j);
double?ecludSim(double?*dataMatint?*overLap?int?n?int?count?int?item?int?j);
double?ecludSim2(double?*dataMatint?*overLap?int?n?int?count?int?item?int?j);
double?recommend(double?*dataMatint?n?int?m?int?user?func?simMeas=cosSim?Est?estMethod=standEst);
int?_tmain(int?argc?_TCHAR*?argv[])
{
int?user;
double?data[7][5]?=?{{4?4?0?2?2}
{4?0?0?3?3}
{4?0?0?1?1}
{1?1?1?2?0}
{2?2?2?0?0}
{5?5?5?0?0}
{1?1?1?0?0}};
double?data_2[11][11]?=?{{2?0?0?4?4?0?0?0?0?0?0}
{0?0?0?0?0?0?0?0?0?0?5}
{0?0?0?0?4?0?0?1?0?4?0}
{3?3?4?0?3?0?0?2?2?0?0}
{5?5?5?0?0?0?0?0?0?0?0}
{0?0?0?0?0?0?5?0?0?5?0}
{4?0?4?0?0?0?0?0?0?0?5}
{0?0?0?0?0?4?0?0?0?0?4}
{0?0?0?0?0?0?5?0?0?5?0}
{0?0?0?3?0?0?0?0?4?5?0}
{1?1?2?1?1?2?1?0?4?5?0}};
user?=?2;
????//recommend(&data[0][0]?5?7?user?cosSim?standEst);
//recommend(&data[0][0]?5?7?user?ecludSim?standEst);
//recommend(&data_2[0][0]?11?11?user?ecludSim2?svdEst);
recommend(&data_2[0][0]?11?11?user?cosSim2?svdEst);
return?0;
}
double?recommend(double?*dataMatint?n?int?m?int?user?func?simMeas?Est?estMethod)
{
int?icount?itemj;
int?*record=0;
double?*temp_vote=0;
double?temp=0?temp2=0;
record?=?(int?*)malloc(sizeof(int)*n);
memset(record?0?sizeof(int)*n);
count?=?0;
//尋找user用戶未評價物品
for(i?=?0;i? {
if(dataMat[user*n+i]?==?0)
{
record[count++]?=?i;
}
}
if?(count?==?0)
{
printf(“該用戶評價了所有的物品\n“);
return?-1;?//用戶評價了所有的物品
}
temp_vote?=?(double?*)malloc(sizeof(double)*count);
memset(temp_vote0sizeof(double)*count);
for(i=0;i {
item?=?record[i];
temp_vote[i]?=?estMethod(dataMat?user?simMeas?item?m?n);
}
//排序
for(i=0;i {
for(j=0;j {
if(temp_vote[j]
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8552??2014-11-19?20:55??svd\recommand\recommand\BMUAV.C
?????文件???????2080??2014-11-22?16:58??svd\recommand\recommand\BRMUL.C
?????文件???????1195??2014-11-19?22:47??svd\recommand\recommand\ReadMe.txt
?????文件???????6118??2014-11-22?22:07??svd\recommand\recommand\recommand.cpp
?????文件???????4956??2014-11-22?11:47??svd\recommand\recommand\recommand.vcproj
?????文件???????1427??2014-11-22?22:08??svd\recommand\recommand\recommand.vcproj.WIN-20141010QJV.Administrator.user
?????文件????????214??2014-11-19?22:47??svd\recommand\recommand\stdafx.cpp
?????文件????????233??2014-11-19?22:47??svd\recommand\recommand\stdafx.h
?????文件????????498??2014-11-19?22:47??svd\recommand\recommand\targetver.h
?????文件?????871424??2014-11-22?22:08??svd\recommand\recommand.ncb
?????文件????????893??2014-11-19?22:47??svd\recommand\recommand.sln
????..A..H.?????11776??2014-11-22?22:08??svd\recommand\recommand.suo
?????文件??????54272??2014-11-19?21:01??svd\svd_sol\Debug\svd.exe
?????文件?????330648??2014-11-19?21:01??svd\svd_sol\Debug\svd.ilk
?????文件?????494592??2014-11-19?21:01??svd\svd_sol\Debug\svd.pdb
?????文件???????7552??2014-11-19?20:22??svd\svd_sol\svd\BMUAV.C
?????文件????????237??2014-11-19?20:14??svd\svd_sol\svd\BRMUL.C
?????文件???????1159??2014-11-17?23:03??svd\svd_sol\svd\ReadMe.txt
?????文件????????208??2014-11-17?23:03??svd\svd_sol\svd\stdafx.cpp
?????文件????????233??2014-11-17?23:03??svd\svd_sol\svd\stdafx.h
?????文件???????2542??2014-11-19?20:20??svd\svd_sol\svd\svd.cpp
?????文件???????4938??2014-11-17?23:25??svd\svd_sol\svd\svd.vcproj
?????文件???????1427??2014-11-22?21:54??svd\svd_sol\svd\svd.vcproj.WIN-20141010QJV.Administrator.user
?????文件????????498??2014-11-17?23:03??svd\svd_sol\svd\targetver.h
?????文件????1027072??2014-11-22?21:54??svd\svd_sol\svd.ncb
?????文件????????875??2014-11-17?23:03??svd\svd_sol\svd.sln
????..A..H.?????11264??2014-11-22?21:54??svd\svd_sol\svd.suo
?????文件??????54784??2014-11-22?17:12??svd\SVD圖像壓縮\decomposite_color\Debug\decomposite_color.exe
?????文件?????382124??2014-11-22?17:12??svd\SVD圖像壓縮\decomposite_color\Debug\decomposite_color.ilk
?????文件????1453056??2014-11-22?17:12??svd\SVD圖像壓縮\decomposite_color\Debug\decomposite_color.pdb
............此處省略53個文件信息
- 上一篇:emu8086v4.08 注冊機+漢化補丁
- 下一篇:人臉表情模型學習
評論
共有 條評論