决策树建模过程

决策树建模过程

1、第一阶段----环境准备

在这个阶段中,我们需要准备SparkSession和SparkContext,以及设置日志级别

必要的时候导入SparkSession隐式转化

2、第二阶段----数据准备

在这个阶段中,不需要太多的操作,只需要把待处理的数据路径准备好即可,一般我们会把待处理的数据放入resource目录下

3、第三阶段----读取数据

在这个阶段中,我们需要将数据处理成DataFrame格式,主要的事情是对这份数据进行结构上的优化,比如加上表头,如果是csv格式是数据还需要将其每一行的内容进行切割,识别类型

这里我们一般使用sc进行数据读取然后再将其转化成DF,转DF时常用手段时通过SparkSession的createDataFrame(rdd:RDD[Row],schema:StructType)方法创建

4、第四阶段----特征工程

在这个阶段中,我们主要需要做的:

a)类别标签索引化(通俗来说就是将字符串类型的类别标签列变成Double类型,以方便后续的使用)

这里用到API:StringIndexer

b) 特征列合并(本质来说是将所有Double类型的特征列,合并为一列Vector类型特征列)

这里用到的API:VectorAssembler

5、第五阶段----算法准备

在这个阶段中,我们需要根据是否有类别标签列采取不同的算法,如果有标签列我们就采用决策树算法,没有就采用聚类算法

这里用到的API:DecisionTreeClassifier

6、第六阶段----模型训练(做模型)

在这个阶段中,我们需要将上个阶段准备的算法和第四阶段处理后的数据集放到一起

算法对象调用fit(trainingSet)方法,将训练集传入

7、第七阶段----模型预测(试模型)

再这个阶段中,干的事就是利用训练好的模型,进行对第四阶段处理后的数据集进行使用(也就是用模型),我们分别将训练集数据和测试集数放入模型中,得到通过了模型预测后的新数据集,其中有一列是预测标签列,这个就是通过模型预测得到的结果,我们所做的这一些列动作也就是为了这个东西

8、第八阶段----模型校验(将测试出的值和原来的值进行比较)

在这个阶段中,主要做的事就是对预测的数据集中的预测列的类别标签列与原类别标签列进行校验,检验模型的好坏

这里底层是通过将两列的数据进行比对,然后统计出数据相同的样本数据再除以总样本数,进而得出预测的准确率也就评定了模型的好坏

这里用到的API:MulticlassClassificationEvaluator

9、第九阶段----模型保存

这个阶段中,主要就是将校验好的模型进行一个持久化保存,以别后续使用,这里唯一需要注意的就是保存的目标文件夹在指定路径下没有,需要我们在路径后边加上

 

你可能感兴趣的:(机器学习,决策树)