MLlib是Spark的机器学习(ML)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第1张

MLlib是Spark的机器学习(ML)库,旨在简化机器学习的工程实践作业,并便利扩展到更大规划。

MLlib由一些通用的学习算法和东西组成,包括分类、回归、聚类、协同过滤、降维等,一起还包括底层的优化原语和高层的管道API。

MLllib现在分为两个代码包:spark.mllib 包括根据RDD的原始算法API。

spark.ml ,供给了根据DataFrames高层次的API,能够用来构建机器学习管道,FEA-spk技能的机器学习便是根据spark.ml 包。

spark.ml 包,是根据DataFrame的,未来将成为Spark机器学习的首要API。它能够在分布式集群上进行大规划的机器学习模型练习,而且能够对数据进行可视化。

一、随机森林分类算法的介绍

随机森林望文生义,是用随机的办法树立一个森林,森林里边有许多的决策树组成,随机森林的每一棵决策树之间是没有相关的。在得到森林之后,当有一个新的输入样本进入时,就让森林中的每一棵决策树别离进行一下判别,看看这个样本应该归于哪一类(对应分类算法),然后看看哪一类被挑选最多,就猜测这个样本为那一类。

运用Spark MLlib随机森林算法存在缺乏,需求改善!

详细来讲,运用Spark MLlib进行模型的练习,需求进行很多的数据转化,列聚合为向量等。十分费事,而且不能做数据的可视化。

而FEA-spk技能能够很好的处理这些问题。对模型进行练习只需求一句指令就行了,而且能够对成果数据进行可视化展现。

二、Iris 数据分类练习事例

下面罗列一个用随机森林分类算法进行Iris 数据分类的比方。

1. 数据预备

原始的数据以及相应的阐明能够到https://pan.baidu.com/s/1c2d0hpA下载。 我在这根底之上,增加了header信息。

管中窥豹将下载好的数据放到hdfs上面进行读取。

2. Iris 数据进行练习的详细过程

(1)要运用FEA-spk技能,首先要创立一个spk的衔接,避实就虚的操作都是以它为上下文进行的。在fea界面运转以下指令

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第2张

(2)加载数据,数据在hdfs上面,数据的格局为csv文件格局,目录为/data/iris_data.txt

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第3张

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第4张

(3)运用ML_si办法将字符型的label变成index

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第5张

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第6张

(4)将特征列的类型转化为double类型,由于spark.ml只支撑double类型,运用 ML_double办法

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第7张

(5)运用随机森林模型进行练习

在练习RandomForest模型的时分,咱们需求设置好几个参数:

  • maxBins

***装箱数,为了近似计算变量,比方变量有100个值,我只分红10段去做计算,默许值是32;

  • numTrees

森林里有几棵树,默许值是20;

  • minInstancesPerNode

每个节点最少实例,默许值是1;

  • minInfoGain

最小信息增益,默许值是0.0;

  • maxDepth

***树深度,默许值是5;

  • maxMemoryInMB

***内存MB单位,这个值越大,一次处理的节点区分就越多,默许值是256;

  • cacheNodeIds

是否缓存节点id,缓存能够加快深层树的练习,默许值是False;

  • checkpointInterval

检查点距离,便是多少次迭代固化一次,默许值是10;

  • impurity

随机森林有三种办法,entropy,gini,variance,回归必定便是variance,默许值是gini;

  • seed

采样种子,种子不变,采样成果不变,默许值None;

  • featureSubsetStrategy

auto: 默许参数。让算法自己决议,每颗树运用几条数据。

运用的参数如下图所示

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第8张

(6)对练习好的模型进行打分

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第9张

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第10张

能够看到准确率达到了97%

(7)将练习好的模型保存到hdfs上面,以供下次运用

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第11张

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第12张

这个十分有用,关于模型比较大的情况下,运用HDFS的分布式结构就能够进步加载功能。

(8)将hdfs上面保存的模型加载进来

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第13张

(9)对加载后的模型做猜测

 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果) 随机森林 分类 算法 第14张

其间prediction列便是猜测的成果

以上便是运用FEA-spk技能进行机器学习的过程,它十分合适数据剖析处理大规划的数据,简略、强壮、可视化,不明白Java\Python相同能够玩转Spark!

转载请说明出处
知优网 » 用随机森林分类算法进行Iris 数据分类练习,是怎样的体会?(随机森林算法使用什么方法得到分类结果)

发表评论

您需要后才能发表评论