数据挖掘笔记十二:降维

降维是属于无监督学习的一种。 通常用于数据计算中的化简,预处理和可视化分析。常见算法有PCA、NMF、LDA等等。

PCA降维算法

特征向量、协方差矩阵

如果一个矩阵满足这个公式 $A \vec{v} = \lambda \vec{v} $ ,其中,$A$ 是一个方阵,那么,就可以说 $\vec{v} $ 是这个矩阵的特征向量,$\lambda$ 则是这个矩阵的特征值 。

协方差可以用于解释两个属性之间的正向相关或负向相关性。 协方差距阵 是由变量的协方差值构成的一个距阵。

PCA原理

我们把一个矩阵的 协方差矩阵 对应的 特征向量 称为这个矩阵的 主成分,那么再按照其对应的 特征值,那么将矩阵的这些特征值求出,排序即可。

如果要使用 PCA 算法将一个 M维的数据集降到 N维,那么就是取这个矩阵的前 N 个特征向量,相乘,即可得到一个投影矩阵,具体的过程可以参考相关资料。

阅读更多

数据挖掘笔记十一: 协同过滤 & Slope One 算法

很久以前,我们上一些新闻网站,购物网站点过一些页面后,就会不停的有类似“相似推荐”的东西,我们基本上是不会点进去看的,因为推荐的太水了,不费脑子想就知道是基于一些标签的推荐,毫无新意。

现在的广告就有了很大进步,很多广告看上去就是 为你而设 的。关于推荐算法,最多使用的是 协同过滤。 最简单的协同过滤算法是 Slope One

今天就自己不用框架,纯手打一个 Slope One 算法出来!:grin:

Slope One算法

如下数据,已经三个用户对三部电影在豆花网上的评分如下,问号是因为他们没有评分,所以暂时没有,那么:求问号内的值。(也就是他们如果看了电影再来评,可能会评多少分)?

阅读更多