Mahout实现的分类算法,两个例子,预测期望的目标变量

Mahout实现的分类算法有:

–随机梯度下降(SGD)

–贝叶斯分类(Bayes)

–在线学习算法(Online Passive Aggressive)

–隐马尔科夫模型(HMM)

–决策森林(随机森林,DF)

例子1:将位置用作预测变量

用一个使用合成数据的简单例子,演示如何选择预测变量,使Mahout的模型能够准确地预测期望的目标变量。

上图是一个历史数据集合。假设在搜索颜色填充的形状:颜色填充是目标变量。

特征可以视为包含形状,和位置的预测变量。

–位置貌似适合用作预测变量:水平(x)坐标可能就足够了。

–形状似乎并不重要

很明显,颜色填充有两种可能取值,即填充或未填充。

–现在需要选择用作预测变量的特征。哪些特征是可以正确表述的呢?

–首先排除颜色填充(它是目标变量),可以将位置或形状用作变量。

–可以用x和y坐标来描述位置。基于一个数据表,可以为每个样本创建一条记录,包含目标变量和正在考虑的预测变量的字段。

例子2:不同数据需要不同预测变量

看看另一组历史数据,它们与之前的数据有着同样的特征。

–但在这种情况下,无论x还是y坐标,对预测符号是否填充颜色,没有作用。

–位置不再有用,但现在形状成为了一个有用的特征。

选作预测变量的特征(形状)具有3种值(圆形、三角形、正方形)。可引入朝向,来区分这些形状(朝上的三角形和朝下的三角形)

不同的算法各有优势

以前面的例子为证:

–在例1中,训练算法应该使用x坐标位置来判定颜色填充。在例2中,形状更有用。

一个点的x坐标点位置是连续变量,需要算法可以使用连续变量。

–在Mahout中,SGD和随机森林法,可以使用连续变量。

–朴素贝叶斯和补充朴素贝叶斯算法,则无法使用连续变量。

并行串行算法的权衡

并行算法有相当大的额外开销,开始处理样本之前,需要花一些时间去设置计算环境。

对于某些中等规模的数据集,串行算法可能不仅仅是够用,而往往是首选的

这种权衡如图所示,其中比较了假设的串行,和并行可扩展算法的运行时间

锯齿形状的下降部分,是由于添加了新机器

时间: 2024-11-04 08:53:59

Mahout实现的分类算法,两个例子,预测期望的目标变量的相关文章

Mahout 分类算法

实验简介 本次课程学习了Mahout 的 Bayes 分类算法. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名 shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: XfceTerminal: Linux 命令行终端,打开后会进入 Bash 环境,可以使用 Linux 命令: Firefox:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的 HTML/JS 页面即可: GVim:非常好用的编辑器,最简单的用

数据挖掘之分类算法---knn算法(有matlab例子)

knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法. 注意,不是聚类算法.所以这种分类算法必然包括了训练过程. 然而和一般性的分类算法不同,knn算法是一种懒惰算法.它并非 像其他的分类算法先通过训练建立分类模型.,而是一种被动的分类 过程.它是边测试边训练建立分类模型. 算法的一般描述过程如下: 1.首先计算每个测试样本点到其他每个点的距离. 这个距离可以是欧氏距离,余弦距离等. 2. 然后取出距离小于设定的距离阈值的点. 这些点即为根据阈值环绕在测试

mahout运行测试与kmeans算法解析

在使用mahout之前要安装并启动hadoop集群 将mahout的包上传至linux中并解压即可 mahout下载地址: 点击打开链接 mahout中的算法大致可以分为三大类: 聚类,协同过滤和分类 其中 常用聚类算法有:canopy聚类,k均值算法(kmeans),模糊k均值,层次聚类,LDA聚类等 常用分类算法有:贝叶斯,逻辑回归,支持向量机,感知器,神经网络等 下面将运行mahout中自带的example例子jar包来查看mahou是否能正确运行 练习数据下载地址: 点击打开链接 上面的

转载:算法杂货铺——分类算法之决策树(Decision tree)

作者:张洋 算法杂货铺——分类算法之决策树(Decision tree) 2010-09-19 16:30 by T2噬菌体, 44346 阅读, 29 评论, 收藏, 编辑 3.1.摘要 在前面两篇文章中,分别介绍和讨论了朴素贝叶斯分类与贝叶斯网络两种分类算法.这两种算法都以贝叶斯定理为基础,可以对分类及决策问题进行概率推断.在这一篇文章中,将讨论另一种被广泛使用的分类算法——决策树(decision tree).相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际

初识分类算法(3)-----朴素贝叶斯算法

1. 例子引入:如上篇的play or not 例子. 未知分类的样本:D:<A=sunny, B=cool, C=high ,D=strong>,  是 or 否? 我们要判断该样本的分类,即比较该样本属于是的概率大还是否的概率大 P(是/否|A=sunny, B=cool, C=high ,D=strong) P(是|A=sunny, B=cool, C=high ,D=strong)=P(是,(A=sunny, B=cool, C=high ,D=strong))/P(A=sunny,

用Python开始机器学习(2:决策树分类算法)

http://blog.csdn.net/lsldd/article/details/41223147 从这一章开始进入正式的算法学习. 首先我们学习经典而有效的分类算法:决策树分类算法. 1.决策树算法 决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归.不过对于一些特殊的逻辑分类会有困难.典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题. 决策树的构建不是唯一的,遗憾的是最优决策树的构建属于NP问题.因此如何构建一棵好的决策树是研究的重点. J. Ross Q

KNN邻近分类算法

K邻近(k-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法了.它采用测量不同特征值之间的距离方法进行分类.它的思想很简单:计算一个点A与其他所有点之间的距离,取出与该点最近的k个点,然后统计这k个点里面所属分类比例最大的,则点A属于该分类. 下面用一个例子来说明一下: 电影名称 打斗次数 接吻次数 电影类型 California Man 3 104 Romance He’s Not Really into Dudes 2 100 Romance Beautiful Wo

R语言与分类算法的绩效评估(转)

关于分类算法我们之前也讨论过了KNN.决策树.naivebayes.SVM.ANN.logistic回归.关于这么多的分类算法,我们自然需要考虑谁的表现更加的优秀. 既然要对分类算法进行评价,那么我们自然得有评价依据.到目前为止,我们讨论分类的有效性都是基于分类成功率来说的,但是这个指标科学吗?我们不妨考虑这么一个事实:一个样本集合里有95个正例,5个反例,分类器C1利用似然的思想将所有的实例均分成正例,分类成功率为95%:分类器C2成功分出了80个正例,3个反例,分类成功率仅83%.我们可以说

算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)

算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification) 0.写在前面的话 我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比的美感.而每次将学过的算法应用到实际中,并解决了实际问题后,那种快感更是我在其它地方体会不到的. 一直想写关于算法的博文,也曾写过零散的两篇,但也许是相比于工程性文章来说太小众,并没有引起大家的兴趣.最近面临毕业找工作,为了能给自己增加筹码,决定再次复习算法方面的知识,我决定趁这个机会,写一系列关于