资源简介

基于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 < n;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个文件信息

评论

共有 条评论