关键词:
将Mahout on Spark 中的机器学习算法和MLlib中支持的算法统计如下:
主要针对MLlib进行总结
分类与回归
分类和回归是监督式学习;
监督式学习是指使用有标签的数据(LabeledPoint)进行训练,得到模型后,使用测试数据预测结果。其中标签数据是指已知结果的特征数据。
分类和回归的区别:预测结果的变量类型
分类预测出来的变量是离散的(比如对邮件的分类,垃圾邮件和非垃圾邮件),对于二元分类的标签是0和1,对于多元分类标签范围是0~C-1,C表示类别数目;
回归预测出来的变量是连续的(比如根据年龄和体重预测身高)
线性回归
线性回归是回归中最常用的方法之一,是指用特征的线性组合来预测输出值。
线性回归算法可以使用的类有:
LinearRegressionWithSGD
RidgeRegressionWithSGD
LassoWithSGD
参数:
stepSize:梯度下降的步数
numIterations:迭代次数
设置intercept:是否给数据加上一个干扰特征或者偏差特征,一个始终值为1的特征,默认不增加false
{stepSize: 1.0, numIterations: 100, miniBatchFraction: 1.0}
模型的使用:
1、对数据进行预测,使用model.predict()
2、获取数据特征的权重model.weights()
模型的评估:
均方误差
例子:
import org.apache.spark.{SparkContext, SparkConf} import org.apache.spark.mllib.regression.LabeledPoint import org.apache.spark.mllib.regression.LinearRegressionModel import org.apache.spark.mllib.regression.LinearRegressionWithSGD import org.apache.spark.mllib.linalg.Vectors /** * Created by Edward on 2016/9/21. */ object LinearRegression { def main(args: Array[String]) { val conf: SparkConf = new SparkConf().setAppName("LinearRegression").setMaster("local") val sc = new SparkContext(conf) // Load and parse the data val data = sc.textFile("data/mllib/ridge-data/lpsa.data") val parsedData = data.map { line => val parts = line.split(‘,‘) LabeledPoint(parts(0).toDouble, Vectors.dense(parts(1).split(‘ ‘).map(_.toDouble))) }.cache() // Building the model val numIterations = 100 val model = LinearRegressionWithSGD.train(parsedData, numIterations) // var lr = new LinearRegressionWithSGD().setIntercept(true) // val model = lr.run(parsedData) //获取特征权重,及干扰特征 println("weights:%s, intercept:%s".format(model.weights,model.intercept)) // Evaluate model on training examples and compute training error val valuesAndPreds = parsedData.map { point => val prediction = model.predict(point.features) (point.label, prediction) } //计算 均方误差 val MSE = valuesAndPreds.map{case(v, p) => math.pow((v - p), 2)}.mean() println("training Mean Squared Error = " + MSE) // Save and load model model.save(sc, "myModelPath") val sameModel = LinearRegressionModel.load(sc, "myModelPath") } }
数据:
-0.4307829,-1.63735562648104 -2.00621178480549 -1.86242597251066 -1.02470580167082 -0.522940888712441 -0.863171185425945 -1.04215728919298 -0.864466507337306 -0.1625189,-1.98898046126935 -0.722008756122123 -0.787896192088153 -1.02470580167082 -0.522940888712441 -0.863171185425945 -1.04215728919298 -0.864466507337306 -0.1625189,-1.57881887548545 -2.1887840293994 1.36116336875686 -1.02470580167082 -0.522940888712441 -0.863171185425945 0.342627053981254 -0.155348103855541 -0.1625189,-2.16691708463163 -0.807993896938655 -0.787896192088153 -1.02470580167082 -0.522940888712441 -0.863171185425945 -1.04215728919298 -0.864466507337306 0.3715636,-0.507874475300631 -0.458834049396776 -0.250631301876899 -1.02470580167082 -0.522940888712441 -0.863171185425945 -1.04215728919298 -0.864466507337306 0.7654678,-2.03612849966376 -0.933954647105133 -1.86242597251066 -1.02470580167082 -0.522940888712441 -0.863171185425945 -1.04215728919298 -0.864466507337306
...
数据第一列表示标签数据,也就是结果数据,其他列表示特征数据;
预测就是再给一组特征数据,预测结果;
结果:
weights:[0.5808575763272221,0.18930001482946976,0.2803086929991066,0.1110834181777876,0.4010473965597895,-0.5603061626684255,-0.5804740464000981,0.8742741176970946], intercept:0.0
training Mean Squared Error = 6.207597210613579
持续更新中...
一文读懂什么是机器学习--1.机器学习是什么?
一文读懂什么是机器学习--1.机器学习是什么? 一文读懂什么是机器学习--1.机器学习是什么?一文读懂什么是机器学习--2.机器学习的范围?一文读懂什么是机器学习--3.机器学习的方法?一文读懂什么是机器学习--4.机器学习的... 查看详情
机器学习入门
目录1机器学习概述2机器学习过程2.1机器学习与人类学习3机器学习的分类3.1无监督学习3.2监督学习3.3深度学习3.4强化学习4机器学习应用1机器学习... 查看详情
机器学习基础教程笔记---机器学习概述(代码片段)
目录机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习1.1.2机器学习、深度学习能做些什么1.1.3人工智能阶段课程安排1.2什么是机器学习1.2.1定义1.2.2解释1.2.3数据集构成1.3机器学习算法分类学习目标分析1.2中的例子... 查看详情
机器学习必备手册
机器学习是计算机科学的一个子领域,在人工智能领域,机器学习逐渐发展成模式识别和计算科学理论的研究。从2016年起,机器学习到达了不合理的火热巅峰。但是,有效的机器学习是困难的,因为机器学习本身就是一个交叉... 查看详情
麦子学院学习视频之机器学习:1.1机器学习介绍
今天开始学习机器学习,在网上找了很多视频还有书籍。由于本人不是计算机专业的学生,基础知识还是比较薄弱,但我非常想学习机器学习以及深度学习。最后还是选择了麦子学院的彭亮老师的《机器学习基... 查看详情
机器学习:azure机器学习模型搭建实验
文章目录Azure机器学习模型搭建实验前言Azure平台简介Azure机器学习实验Azure机器学习模型搭建实验前言了解Azure机器学习平台,知道机器学习流程。Azure平台简介AzureMachineLearning(简称“AML”)是微软在其公有云Azure上... 查看详情
机器学习直接放弃
机器学习人工智能(机器学习)学习之路推荐机器学习GBDT+xgboost决策树提升PythonMatplotlib.pyplotplt中文显示机器学习基础基本术语《机器学习》西瓜书课后习题参考答案debugging…… 查看详情
机器学习基础教程笔记---机器学习概述(代码片段)
目录机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习1.1.2机器学习、深度学习能做些什么1.1.3人工智能阶段课程安排1.2什么是机器学习1.2.1定义1.2.2解释1.2.3数据集构成1.3机器学习算法分类学习目标分析1.2中的例子... 查看详情
机器学习第一篇初识机器学习
一、什么是机器学习?对于机器学习,没有一个明确的定义。从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练... 查看详情
机器学习:机器学习算法分类
文章目录机器学习算法分类一、监督学习1、回归问题2、分类问题二、无监督学习三、半监督学习四、强化学习机器学习算法分类根据数据集组成不同,可以把机器学习算法分为:监督学习无监督学习半监督学习强化学习... 查看详情
机器学习|机器学习概念理解与基本知识
机器学习概念理解与基本知识1、机器学习是什么在数据上通过算法总结出规律模式,应用在新数据上做预测。2、机器学习基本概念2.1、不同类型的问题监督学习:分类问题(选择)、回归问题(计算)无监督学习:聚类问题(... 查看详情
机器学习实战第1章机器学习基础
第1章机器学习基础机器学习概述机器学习就是把无序的数据转换成有用的信息。获取海量的数据从海量数据中获取有用的信息我们会利用计算机来彰显数据背后的真实含义,这才是机器学习的意义。机器学习场景例如:识别动... 查看详情
零基础学python--机器学习:人工智能与机器学习概述
@TOC一、机器学习与人工智能、深度学习了解机器学习定义以及应用场景说明机器学习算法监督学习与无监督学习的区别说明监督学习中的分类、回归特点说明机器学习算法目标值的两种数据类型说明机器学习(数据挖掘)的开发流... 查看详情
统计机器学习-1-统计机器学习基础
一、统计机器学习的研究内容网络算法机器优化概率统计数据矩阵信息模型推理获知识靠学习Wearedrowningininformationandstarvingforknowledge.-JohnNaisbittData->Model->Knowledge二、机器学习与应用统计学对比MLSTATISTICS备注NetworksGraphsModels网络... 查看详情
机器学习简介
简单介绍一下机器学习: 简单理解一下“机器学习”:从字面上,可以想到,让机器去学习,学习什么呢?简单来说其实就是从数据中学习得到一些信息。机器学习能让我们从数据集中受到启发,意思就是,利用计... 查看详情
机器学习:机器学习的一个实例
大家都知道tensorflow(简称tf)是一个机器学习的框架,使用它就可以完成机器学习。那就用tf来演示一下怎么做机器学习吧,这样你就有一个具体的感受:原来是这样的啊!本文使用tensorflow做一次机器学习的演示。但是,tensorflo... 查看详情
mooc机器学习-01机器学习
1关于机器学习 机器学习是实现人工智能的手段,其主要研究内容是如何利用数据或经验进行学习,改善具体算法的性能 多领域交叉,涉及概率论、统计学,算法复杂度理论等多门学科 广泛应用于网络搜索、... 查看详情
机器学习入门机器学习简介|附加小练习(代码片段)
目录1.机器学习是什么2.机器学习、深度学习和人工智能的区别与联系3.机器学习的应用4.机器学习分类4.1监督学习4.2无监督学习4.3半监督学习4.4强化学习5.小练习5.1第一题5.2第二题5.3第三题1.机器学习是什么用老师上课的一张图我... 查看详情