大数据----Spark中的 决策树 及 SVM 建模

一、算法解释

              使用决策树二元分类分析StumbleUpon数据集,预测网页是暂时性(Ephemeral)或是长青的(Evergreen),
              并且调校参数找出最佳参数组合,提高预测准确度。决策树的优点:条例清晰、方法简单、易于理解、使用范围广等。

决策树介绍:
当我们使用决策树分类算法训练数据后,会以 feature(特征字段)与label(标签字段)建立决策树。

决策树

              当我们使用历史数据执行训练时会建立决策树。可是决策树不可能无限成长,因此我们必须限制它的最大分支与深度,
所以必须设置下列参数:
              -a. maxBins 参数:
              决策时每一个节点最大分支数
              -b. maxDepth 参数:
              决策树最大深度
              -c. Impurity 参数:
              决策树分裂节点时的方法,为什么选择特征进行分支
              当树的父节点在分裂子节点时,以什么方法作为依据?例如,湿度以60为分割点,分为大于60或小于60;或者湿度
              以50为分割点,分为大于50或小于50.到底哪种方式比较好呢?此时有Gini 与 Entropy 两种判断方式:
              -i. 基于系数(Gini)
              由意大利统计学家Corrado Gini 发明,用于计算数值散步程度(Statistical Dispersion,统计离差)的指标。
              决策树算法对每种特征字段分割点计算估值,选择分裂后最小的基尼指数(Gini)方式。
              -ii. 熵(Entropy):
              熵(Entropy)也被用于计算机系统混乱的程度。决策树算法对每种特征字段分割点计算估值,选择分裂后最小的熵(Entropy)方式。

SVM

              SVM,即Support Vector Machine(支持向量机),是一种使用线性分割平面的二元分类算法。其原理是通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
123

建立步骤

"""
    构建机器学习模型步骤;
        1、如何搜集数据 ?
            历史数据
        2、如何进行数据准备 ?
            提取特征字段和标签字段  -   特征工程    (花费时间最多的)
        3、如何训练模型 ?
            使用什么算法进行训练模型
        4、如何使用模型预测 ?
            使用训练的模型如决策树模型,进行预测
        5、如何评估模型的准确率?
            使用某一个标准来评估模型的准确率,二元分类中使用 AUC 作为评估标准
        6、模型训练参数如何影响准确率?
            训练模型时,针对算法传递不同的参数将会影响准确率和训练时间。
            如使用决策树算法,其中参数impurity、maxDepth、maxBins的值设置
        7、如何找出准确率最高的参数组合?
            不同的参数,不同的组合得到的模型不一样,准确率也不痒。
        8、如何确认是否Overfiiting(过度训练,过拟合):
            Overfiting(过度训练)是指机器学习所学到的模型过度贴近trainData,从而导致误差变得很大。
            我们使用另一组数据testData再次测试,以避免overfitting的问题。
            - 如果训练评估阶段是AUC很高,但是测试阶段AUC很低,代表可能有overfitting的问题。
            - 如果测试与训练评估阶段的结果中AUC差异不大,就代表无overfitting的问题。
"""

二、代码实现

放在这里看不出数据效果,已经转换成网页,点击这里,spark中SVM模型建立

已经转换成网页,点击这里,spark中决策树模型建立

猜你喜欢

转载自blog.csdn.net/Sakura55/article/details/81281036