更好的Hadoop数据仓库解决方案——HAWQ数据挖掘
将HAWQ与Madlib的简单整合,仅适用SQL查询就能进行简单的数据挖掘与机器学习。用实例说明低秩矩阵分解、奇异值分解、主成分分析与投影、Apriori算法、k-means、Logistic回归、单源最短路径、决策树、交叉验证等常用数据挖掘方法。
wzy0623
25年的数据库、数据仓库、大数据相关工作。《Hadoop构建数据仓库实践》、《HAWQ数据仓库与数据挖掘实战》、《SQL机器学习库——MADlib技术解析》、《MySQL高可用实践》、《Kettle构建Hadoop ETL》、《Greenplum构建实时数据仓库实践》作者。
展开
-
HAWQ + MADlib 玩转数据挖掘之(一)——安装
一、MADlib简介 MADlib是Pivotal公司与伯克利大学合作的一个开源机器学习库,提供了精确的数据并行实现、统计和机器学习方法对结构化和非结构化数据进行分析,主要目的是扩展数据库的分析能力,可以非常方便的加载到数据库中, 扩展数据库的分析功能,2015年7月MADlib成为Apache软件基金会的孵化项目,其最新版本为MADlib1.11,可以用在Greenplum、Pos原创 2017-06-30 16:58:09 · 7256 阅读 · 4 评论 -
HAWQ + MADlib 玩转数据挖掘之(二)——矩阵
矩阵是Madlib中数据的基本格式,通常是二维的。在Madlib中,数组的概念与向量类似,数组通常是一维的,是矩阵的一种特殊形式。一、矩阵表示 MADlib为矩阵提供了两种表示形式:稠密和稀疏。1. 稠密 矩阵被表示为一维数组的分布式集合,例如3x10的矩阵如下表: row_id | row_vec--------+------------------原创 2017-07-19 18:03:32 · 1372 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(三)——向量
一、定义 这里不讨论向量严格的数学定义。在Madlib中,可以把向量简单理解为矩阵。矩阵是Madlib中数据的基本格式,当矩阵只有一维时,就是向量,1行n列的矩阵称为行向量,m行1列的矩阵称为列向量,1行1列的矩阵称为标量。二、线性代数函数 Madlib的线性代数模块(linalg module)包括基本的线性代数操作的实用函数。利用线性代数函数可以很方便地实现新算法。原创 2017-07-19 18:48:47 · 1706 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(四)——低秩矩阵分解实现推荐算法
一、潜在因子(Latent Factor)推荐算法 本算法整理自知乎上的回答@nick lee。应用领域:“网易云音乐歌单个性化推荐”、“豆瓣电台音乐推荐”等。 这种算法是在NetFlix(没错,就是用大数据捧火《纸牌屋》的那家公司)的推荐算法竞赛中获奖的算法,最早被应用于电影推荐中,在实际应用中比现在排名第一的 @邰原朗所介绍的算法误差(RMSE)会小不少,效率更高。原创 2017-07-20 09:09:50 · 3125 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(五)——奇异值分解实现推荐算法
一、奇异值分解简介 奇异值分解简称SVD(singular value decomposition),可以理解为:将一个比较复杂的矩阵用更小更简单的三个子矩阵的相乘来表示,这三个小矩阵描述了大矩阵重要的特性。SVD的用处有很多,比如:LSA(隐性语义分析)、推荐系统、数据降维、信号处理与统计等。 任何矩阵都可以使用SVD进行分解,对于一个MxN(M>=N)的矩阵M,存在原创 2017-07-20 10:01:02 · 5107 阅读 · 3 评论 -
HAWQ + MADlib 玩转数据挖掘之(六)——主成分分析与主成分投影
一、主成分分析(Principal Component Analysis,PCA)简介 在数据挖掘中经常会遇到多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性。例如,网站的“浏览量”和“访客数”往往具有较强的相关关系,而电商应用中的“下单数”和“成交数”也具有较强的相关关系。这里的相关关系可以直观理解为当浏览量较高(或较低)时,应该很大程度上认为访客数也较高(或较低原创 2017-08-03 17:28:03 · 3175 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(七)——关联规则方法之Apriori算法
一、关联规则简介 关联规则挖掘的目标是发现数据项集之间的关联关系,是数据挖据中一个重要的课题。关联规则最初是针对购物篮分析(Market Basket Analysis)问题提出的。假设超市经理想更多地了解顾客的购物习惯,特别是想知道,哪些商品顾客可能会在一次购物时同时购买?为回答该问题,可以对商店的顾客购买记录进行购物篮分析。该过程通过发现顾客放入“购物篮”中的不同商品之间的关联,原创 2017-08-09 11:27:37 · 2606 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(八)——聚类方法之k-means
一、聚类方法简介 所谓“物以类聚,人以群分”,其核心思想就是聚类。通过聚类,人们能意识到密集和稀疏的区域,发现全局的分布模式,以及数据属性之间有趣的相互关系。 在实践中,聚类往往为分类服务,即先通过聚类来判断事务的合适类别,然后再利用分类技术对新的样本进行分类。分类与聚类的区别是:分类是事先定义好类别,类别数不变,分类需要由人工标注训练得到,属于监督学习范畴。聚类则没有原创 2017-08-14 22:55:00 · 2873 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(九)——回归方法之Logistic回归
一、回归方法简介 回归指研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法,又称多重回归分析。通常前者叫做因变量,后者叫做自变量。 事物之间的关系可以抽象为变量之间的关系。变量之间的关系可以分为两类:一类叫确定关系,也叫函数关系,其特征是一个变量随着其它变量的确定而确定。另一类关系叫相关关系,变量之间的关系很难用一种精原创 2017-08-16 16:32:01 · 2597 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(十)——图算法之单源最短路径
一、图算法简介1. 定义 在计算中,常将运算方程或实验结果绘制成由若干有标尺的线条所组成的图,称为“算图”。计算时根据已知条件,从有关线段上一点开始,连结相关线段上的点,连线与表示所求量线段的交点即为答案。 无向图、有向图和网络能运用很多常用的图算法。这些算法包括:各种遍历算法(这些遍历类似于树的遍历),寻找最短路径的算法,寻找网络中最低代价路径的算法,用于回答一些简单原创 2017-08-17 15:35:53 · 1199 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(十一)——分类方法之决策树
一、分类方法简介1. 分类的概念 数据挖掘中分类的目的是学会一个分类函数或分类模型(也常常被称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类可描述如下:输入数据,或称训练集(Training Set),是由一条条数据库记录(Record)组成的。每一条记录包含若干个属性(Attribute),组成一个特征向量。训练集的每条记录还有一个特定的类标签(Class L原创 2017-08-24 16:50:18 · 1936 阅读 · 0 评论 -
HAWQ + MADlib 玩转数据挖掘之(十二)——模型评估之交叉验证
一、交叉验证概述 机器学习技术在应用之前使用“训练+检验”的模式,通常被称作“交叉验证”,如图1所示。图11. 预测模型的稳定性 让我们通过以下几幅图来理解这个问题:图2 此处我们试图找到尺寸(size)和价格(price)的关系。三个模型各自做了如下工作:第一个模型使用了线性等式。对于训练用的数据点,此模型有很大误差。这样的模型在初期排行榜和最终排行榜都原创 2017-08-29 11:03:57 · 1679 阅读 · 0 评论