python 解压,推荐系统实战系列(python版).rar_python实战音乐推荐系统

 2023-09-23 阅读 28 评论 0

摘要:SVD奇异值分解里具体说了SVD的基本原理解读,本次实战分析SVD的应用数据说明:本次数据使用的是用户听音乐的数据,具体数据有需要的可以关注公众号:不懂乱问(Andy_shenzl)后台留言。回复:music。自主获取python 解压。当然可以

17cf3e30a4f3aca01ae23c33edfac3b0.png

SVD奇异值分解里具体说了SVD的基本原理解读,本次实战分析SVD的应用

数据说明:

本次数据使用的是用户听音乐的数据,具体数据有需要的可以关注公众号:不懂乱问(Andy_shenzl)后台留言。

回复:music。自主获取

python 解压。当然可以自己在网上下载。

1、数据导入

import 

本次使用的数据量还是比较大的,倒入大概需要1分钟的时间

数据解读:

triplet_dataset.shape=(48373586, 3)

数据有近5000W行数据,3列

f1718d7593649b7b444d56ba2b0ca615.png

数据变量分别为用户名、歌曲名称、听歌次数

Python 音乐?还有一个歌曲的详细信息表,存储在数据库格式文件里

conn 
表的名称为:[('songs',)]
track_metadata_df 
shape=(999056, 14)

2、数据简单处理

查看下数据格式,去掉一些无用字段,只保留有用信息

del

将两份数据合并在一起

tt 

过程比较慢,大概需要1分半钟

triplet_dataset_merged.shape=(48373586, 8)

59c7ef6738eddd710ac63da8f4b504c1.png

推荐系统需要有用户对物品的打分,这里数据没有打分字段

php和python?所以我们需要处理一下,把听歌的次数作为评分,听的次数越多认为越喜欢

当然如果根据绝对的听歌次数会有失数据的平衡,所以我们用每个用户听每首歌的次数比上该用户听歌总次数的比值作为用户对当前歌曲的评分

#计算每个用户听歌的总次数

这样我们对数据的基本处理完成了

3、构造矩阵

SVD需要矩阵进行求解,所以我们需要对处理好的数据转换成矩阵格式

#重新定义

fa86733b8d83e3c2a42e54241b4829bc.png
构造矩阵
data_sparse:
<1019318x384546 sparse matrix of type '<class 'numpy.float64'>'
with 48373586 stored elements in COOrdinate format>

4、SVD计算

#导入相关包

定义两个函数来进行下面的操作

#SVD求解,之前讲过了

python django。定义参数:

K=10
urm = data_sparse
MAX_PID = urm.shape[1]
MAX_UID = urm.shape[0]
U

uTest是随机选取的几个用户数据进行推荐

def 

可能运算比较慢,我们调用concurrent.futures加速

from 

2300bea8c18a706a4b87f3205e530f77.png

f5961c07bbf0e0916f0b1d7c98f8b1e2.png

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/88828.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息