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

数据说明:

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

回复:music。自主获取

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

1、数据导入

import 

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

数据解读:

triplet_dataset.shape=(48373586, 3)

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

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

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

conn 

表的名称为:[('songs',)]

track_metadata_df 

shape=(999056, 14)

2、数据简单处理

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

del

将两份数据合并在一起

tt 

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

triplet_dataset_merged.shape=(48373586, 8)

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

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

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

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

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

3、构造矩阵

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

#重新定义

构造矩阵

data_sparse:
<1019318x384546 sparse matrix of type '<class 'numpy.float64'>'
with 48373586 stored elements in COOrdinate format>

4、SVD计算

#导入相关包

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

#SVD求解,之前讲过了

定义参数:

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

U

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

def 

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

from 

推荐系统实战系列(python版).rar_python实战音乐推荐系统相关推荐

  1. python金融实战 源代码_穆棱市seo总代直销python金融量化营业实战课程 python量化项目实战源码+课件+视频...

    python金融量化生意实战课程 python量化项目实战源码+课件+视频 1. 自愿化生意综述 重要实质: 课程实质综述,自愿化/算法生意先容,python正在自愿生意中的使用简介 2. 量化生意体 ...

  2. Python项目实战:Python版超市管理系统源代码

    Python版超市管理系统可实现下单商品,修改商品数量,删除商品,结算商品. 程序使用元组代表商品,元组的多个元素分别代表商品条码,商品名称,商品单价: 使用dict来表示系统当前仓库中的所有商品,d ...

  3. python数据分析实战案例-Python数据分析案例实战

    原标题:Python数据分析案例实战 至今我们网站已经开设了多个数据分析系列的课程,大部分都是基于算法思路来开展的,课程中着重点在于算法的讲授.软件的使用,案例只是辅助学习.然而很多学员反映,希望可以 ...

  4. java 秒杀代码_Java秒杀系统实战系列~商品秒杀代码实战

    摘要: 本篇博文是"Java秒杀系统实战系列文章"的第六篇,本篇博文我们将进入整个秒杀系统核心功能模块的代码开发,即"商品秒杀"功能模块的代码实战. 内容: & ...

  5. shiro实战系列(一)之入门实战

    一.什么是shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密.   Apache Shiro 的首要目标是易于使用和理解.安全有 ...

  6. 人工智能实战项目(python)+多领域实战练手项目

    人工智能实战项目 大家好,我是微学AI,本项目将围绕人工智能实战项目进行展开,紧密贴近生活,实战项目设计多个领域包括:金融.教育.医疗.地理.生物.人文.自然语言处理等:帮助各位读者结合机器学习与深度 ...

  7. Java秒杀系统实战系列~商品秒杀代码实战

    摘要: 本篇博文是"Java秒杀系统实战系列文章"的第六篇,本篇博文我们将进入整个秒杀系统核心功能模块的代码开发,即"商品秒杀"功能模块的代码实战. 内容: & ...

  8. 关东升的iOS实战系列图书 《iOS实战:传感器卷(Swift版)》已经上市

     承蒙广大读者的厚爱我的 <iOS实战:传感器卷(Swift版)>京东上市了,欢迎广大读者提出宝贵意见.http://item.jd.com/11760248.html 欢迎关注关东升 ...

  9. 关东升的iOS实战系列图书 《iOS实战:入门与提高卷(Swift版)》已经上市

                承蒙广大读者的厚爱我的 <iOS实战:入门与提高卷(Swift版)>京东上市了,欢迎广大读者提出宝贵意见.http://item.jd.com/11766718 ...

最新文章

  1. 一系列视频教程 收藏
  2. java工具类去掉字符串String中的.点。android开发java程序员常用工具类
  3. 数字图像处理实验(10):PROJECT 05-01 [Multiple Uses],Noise Generators
  4. python在windows安装paramiko模块
  5. 圆方圆python入门:如何学习(二)
  6. NetScaler通过DHCP服务器获取IP地址
  7. MATLAB是一种面向数值计算,MATLAB是一种面向数值计算的高级程序设计语言。
  8. springMVC框架下JQuery传递并解析Json数据
  9. /etc/mtab is not writable
  10. Multi-class classification:One-vs-all
  11. zend studio php 运行,Zend Studio使用教程:使用PHP 7进行开发(一)
  12. java登录验证码_java实现登录验证码
  13. android 信鸽推送平台,信鸽推送平台Android常见相关问题
  14. C++实现模板方法模式--问卷调查实战
  15. MySql获取某天是一年的第几周
  16. TCP端口作用,漏洞,操作详析--杨义贤
  17. 关于相机(摄相头)的选用
  18. 简述linux的系统组成,【简答题】Linux操作系统有哪几个部分组成?请简述每个组成部分的作用。...
  19. ae渲染存在偏移_E3依旧是最好选择.千元游戏渲染主机该如何搭配
  20. 关于ORA-12505, TNS:listener does not currently know of SID given in connect descript的一个解决思路

热门文章

  1. 2020年12月国产数据库排行:榜首TiDB 2.7亿融资再破纪录;openGauss晋级十强!
  2. Oracle 19c和20c新特性最全解密
  3. 推陈出新:网友解锁 source 命令新的姿势,血的教训!已准备跑路
  4. 【智简联接,万物互联】华为云·云享专家董昕:Serverless和微服务下, IoT的变革蓄势待发
  5. 200 行代码实现一个滑动验证码
  6. python pandas csv时间聚合_pandas中简单统计分组聚合函数的介绍
  7. SpringBoot使用外置的Servlet容器
  8. Kotlin学习笔记 第二章 类与对象 第十二 十三节 对象表达式与对象声明 类型别名
  9. 韩顺平php视频笔记80 81 错误日志 异常捕获
  10. Python 基础知识学习笔记——OpenCV(1)