首页 > 编程知识 正文

数据算法,数据挖掘常用算法有哪几类

时间:2023-05-03 06:58:57 阅读:142324 作者:1380

第1关:基于矩阵分解的协同过滤算法

#-- coding : utf-8-- importnumpyasnpdefrecommend (userid,lr,alpha,d,n_iter, 数据) :“”用户:1-10推荐用户idlr (浮点) :学习因子浮点) :权重衰减因子d (整型) :矩阵分解因子)元素数n 取得用户数和项目数m,n=data.shape #初始化喜好矩阵和内容矩阵,值在0-1之间,与正态分布x=NP.rape一致d ) w=NP.random.uniform (0,1,) d, n ) )建立评分记录表,无评分为0,有评分为1 record=NP.array (data 0,dtype=int ) ),梯度下降,参数forIinrange(n_ITER ) : x w )-data ) w.T )更新w _ gg w (-data ) ) x=alph a* x-lr * x _ gradsw=alph a* w-lr * w _ grads #预测predict=NP.NP w ) )按从低到高的顺序排列用户未使用的项目的分数。forIinrange(n ) : if record [ userid-1 ] [ I ]==1: predict [ userid-1 ] [ I ]=推荐项目为项目%d、项目%d((userid,recommend[-1] 1,recommend

#-- coding : utf-8-- importnumpyasnpdefbuild _ rating (m,n, ratings_df(:''m(int ) ) :用户数n(int ) :电影数ratings_df (数据帧) :用户电影评估记录表rating(ndarray ) n ) ) for index, row in ratings_df.iterrows ) :创建rating [ int (row [ ' userid ' ] ),然后单击int(row(movierow ) ) (row ) ) rating 数据) :“”用户:用户idlr(float ) :学习率alpha (float ) :权重衰减系数d(int ) :矩阵分解系数d(int ) : #取得用户数和电影数m,n=data.shape #初始化喜好矩阵和内容矩阵,值在0-1之间,与正态分布x=NP一致d ) w=NP.random.uniform (0,1,) n ) )建立评分记录表,无评分为0,有评分为1 record=NP.array (data 0,dtype=int ) ),梯度下降,参数forIinrange(n_ITER ) : x w )-data ) w.T )更新w _ gg w (-data ) ) x=alph a* x-lr * x _ gradsw=alph a* w-lr * w _ grads #预测predict=NP.NP w * * * * * * end * * * * * * * * # return predict #建议defrecommend(userid,predict ), DATA(3360''userid(int ) :推荐用户idpredict(ndarray ) :预测结果data(ndarray ) :用户-电影评估矩阵((() (* ) ) ) ) ) 65用户从未看过的电影的得分按从低到高的顺序排列n=predict.shape [1] record=NP.array (data 0,dype=int(forIinrange(n

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。