郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(一)推荐系统概述...
4.1 推荐系统概述
4.1.1 从亚马逊网站认识推荐系统
4.1.2 推荐系统架构
第一部分 推荐系统至少三个推荐方:
物品信息、用户信息、用户对物品或者信息的偏好
第二部分 算法区域:推荐模型
基于人口统计学的推荐机制、基于内容的推荐、基于协同过滤的推荐(基于项目、基于用户)、基于隐语义的推荐模型
4.2 协同过滤及其算法
4.2.1 协同过滤(略)
4.2.2 数据预处理
4.2.3 使用Scikit-Learn的KMeans聚类
4.2.4 User CF 原理
基于用户的协同过滤算法
4.2.5 Item CF原理
基于物体的协同过滤算法
4.2.6 SVD原理与计算
使用余弦定理求用户之间的相似度,即选中与新用户之间夹角最小的那个。
#coding:utf-8from numpy import *eps = 1.0e-6 #避免除0 def cosSim(inA,inB): #夹角余弦定理denom = linalg.norm(inA)*linalg.norm(inB)return float(inA*inB.T)/(denom+eps)#加载数据 A = mat([[5,5,3,0,5,5],[5,0,4,0,4,4],[0,3,0,5,4,5],[5,4,3,3,5,5]]) new = mat([[5,5,0,0,0,5]]) #新加入的User E U,S,VT = linalg.svd(A.T) V = VT.T Sigma = diag(S) r = 2 #取前两个奇异值 #得到近似后的U、S、V值 Ur = U[:,:r] Sr = Sigma[:r,:r] Vr = V[:,:r] newresult = new*Ur*linalg.inv(Sr) #计算User E的坐标值 print newresultmaxv = 0 #最大的余弦值 maxi = 0 #最大值下标 indx = 0 for vi in Vr: #计算最近似的结果temp = cosSim(newresult,vi)if temp >maxv:maxv = tempmaxi = indxindx += 1 print maxv,maxi
转载于:https://www.cnblogs.com/wuchuanying/p/6249709.html
郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(一)推荐系统概述...相关推荐
- Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)
全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...
- Java编程思想学习笔记-第11章
<?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...
- Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)
全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...
- 郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(三)SVD...
4.5.1 SVD算法回顾 A = U∑VT 其中:A是N*M的矩阵,U是M*M的方阵(里面向量正交,称为左奇异向量),∑是一个M*N的矩阵,VT是一个N*N的矩阵(里面向量正交,右奇异向量) 那么奇 ...
- Opencv3编程入门学习笔记(四)之split通道分离Debug过程中0xC0000005内存访问冲突问题
这是笔者学习<Opencv3编程入门>的第四篇博客,这篇博客主要是解决在Windows系统下VS 2013中Debug含有split分离通道色彩函数时报出的0xC0000005内存访问冲突 ...
- Linux7.6—Shell编程 学习笔记 第四章:系统任务设置
Linux7.6-Shell编程 第四章:系统任务设置 文章目录 Linux7.6-Shell编程 一.系统启动流程 二.系统服务 三.开机自启动服务 四.定时任务 一.系统启动流程 启动计算机的硬件 ...
- 《机器学习》赵卫东学习笔记 第13章推荐系统(课后习题及答案)
1 推荐系统的功能是什么? 推荐系统是一种帮助用户快速发现有用信息的工具.通过分析用户的历史行为,研究用户偏好,对用户兴趣建模,从而主动给用户推荐能够满足他们感兴趣的信息.本质上,推荐系统是解决用户额 ...
- 传感器原理与检测技术复习笔记第四章-电感式传感器
第四章 电感式传感器 文章目录 第四章 电感式传感器 变磁阻电感式(自感式) 基本原理 输出特性 测量电路 变磁阻式应用 变气隙电感式压力传感器 变气隙差动压力传感器 差动变气隙厚度电感测微仪 差动变 ...
- 机器学习算法入门与编程实践课后题及答案(唐四新等编著)
目录 习题1 习题2 习题3 习题4 习题5 习题6 习题7 习题8 习题1 1.无监督学习的两个主要任务是(多选)(BD). A.回归 B.降维 C.分类 ...
- Unix编程实践教程笔记(四) IO重定向
IO重定向 //将stdin(标准输入)重定向到文件的第一个方法// 策略解释: // close then open // 先使用close将标准输入的连接切断// 使用open打开连接到stdin ...
最新文章
- android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程...
- php7和php8内核有区别吗,不要在PHP7中踩这些坑
- 一张图来看看.NETCore和前后端技术的演进之路
- 6位顺序号生成_分布式id生成策略,我和面试官扯了一个半小时
- 几种实用的 pythonic 语法
- 【医疗影像处理】使用前景像素的均值和方差(mean,std)对图像进行归一化(背景像素为0)【numpy-code】
- Target folder is neither empty nor does it point to an existing SDK installtion.
- mtk android 串口日志重定向,MTK UART串口调试
- 网络协议学习--SOAP协议(二)
- 如何对比评价TOM邮箱、QQ邮箱,Gmail邮箱以及139邮箱?
- html图片与文字的排版6,前端开发学习笔记(六)- Css 文字排版
- (十三)Thread-Specific Storage(ThreadLocal)模式
- Emacs 配置 latex
- 一文看尽 6篇 CVPR2021 2D 异常检测论文
- 中国首个数字化糖尿病逆转项目在宁波正式启动
- android最新版本下载vivo,vivo官网下载
- 【数据库】数据库恢复技术
- 四、函数的基本概念和使用
- 干货来了,这些物联网基础知识你了解吗
- SpringBoot+Mybatis+Thymeleaf-Build Blog site_2
热门文章
- tcpreplay linux,Linux——Tcpreplay
- lync2013持久聊天服务器如何修复,Lync Server 2013:持久聊天服务器所需的资源 - Lync Server | Microsoft Docs...
- 2021-2027全球与中国自动卡车装卸系统市场现状及未来发展趋势
- 基于Arduino、ESP8266的物联网项目开发方案整理、毕业设计(第二波)
- 炉石传说一直显示重新连接服务器,炉石传说一直显示战网开启中 炉石传说卡在启动战网解决办法...
- Eclipse 代码整理
- 电机控制系统php,基于FPGA的直流电机PWM控制系统(附带源码下载)
- docker安装RabbitMQ:Error starting userland proxy: listen tcp 0.0.0.0:15672: bind: address already in u
- 〖2011.08.19〗秋无痕常用软件全功能装机光盘2011年八月版(支持64位WIN7)
- windows php进程数,win10的进程数应该多少?