分类(Classification)

下面的例子说明了怎样导入LIBSVM 数据文件,解析成RDD[LabeledPoint],然后使用决策树进行分类。GINI不纯度作为不纯度衡量标准并且树的最大深度设置为5。最后计算了测试错误率从而评估算法的准确性。

from pyspark.mllib.regression import LabeledPoint
from pyspark.mllib.tree import DecisionTree, DecisionTreeModel from pyspark.mllib.util import MLUtils # Load and parse the data file into an RDD of LabeledPoint. data = MLUtils.loadLibSVMFile(sc, 'data/mllib/sample_libsvm_data.txt') # Split the data into training and test sets (30% held out for testing) (trainingData, testData) = data.randomSplit([0.7, 0.3]) # Train a DecisionTree model. # Empty categoricalFeaturesInfo indicates all features are continuous. model = DecisionTree.trainClassifier(trainingData, numClasses=2, categoricalFeaturesInfo={}, impurity='gini', maxDepth=5, maxBins=32) # Evaluate model on test instances and compute test error predictions = model.predict(testData.map(lambda x: x.features)) labelsAndPredictions = testData.map(lambda lp: lp.label).zip(predictions) testErr = labelsAndPredictions.filter(lambda (v, p): v != p).count() / float(testData.count()) print('Test Error = ' + str(testErr)) print('Learned classification tree model:') print(model.toDebugString()) # Save and load model model.save(sc, "myModelPath") sameModel = DecisionTreeModel.load(sc, "myModelPath")

以下代码展示了如何载入一个LIBSVM数据文件,解析成一个LabeledPointRDD,然后使用决策树,使用Gini不纯度作为不纯度衡量指标,最大树深度是5.测试误差用来计算算法准确率。

  1. # -*- coding:utf-8 -*-
  2. """
  3. 测试决策树
  4. """
  5. import os
  6. import sys
  7. import logging
  8. from pyspark.mllib.tree import DecisionTree,DecisionTreeModel
  9. from pyspark.mllib.util import MLUtils
  10. # Path for spark source folder
  11. os.environ['SPARK_HOME']="D:\javaPackages\spark-1.6.0-bin-hadoop2.6"
  12. # Append pyspark to Python Path
  13. sys.path.append("D:\javaPackages\spark-1.6.0-bin-hadoop2.6\python")
  14. sys.path.append("D:\javaPackages\spark-1.6.0-bin-hadoop2.6\python\lib\py4j-0.9-src.zip")
  15. from pyspark import SparkContext
  16. from pyspark import SparkConf
  17. conf = SparkConf()
  18. conf.set("YARN_CONF_DIR ", "D:\javaPackages\hadoop_conf_dir\yarn-conf")
  19. conf.set("spark.driver.memory", "2g")
  20. #conf.set("spark.executor.memory", "1g")
  21. #conf.set("spark.python.worker.memory", "1g")
  22. conf.setMaster("yarn-client")
  23. conf.setAppName("TestDecisionTree")
  24. logger = logging.getLogger('pyspark')
  25. sc = SparkContext(conf=conf)
  26. mylog = []
  27. #载入和解析数据文件为 LabeledPoint RDDdata = MLUtils.loadLibSVMFile(sc,"/home/xiatao/machine_learing/")
  28. #将数据拆分成训练集合测试集
  29. (trainingData,testData) = data.randomSplit([0.7,0.3])
  30. ##训练决策树模型
  31. #空的 categoricalFeauresInfo 代表了所有的特征都是连续的
  32. model = DecisionTree.trainClassifier(trainingData, numClasses=2,categoricalFeaturesInfo={},impurity='gini',maxDepth=5,maxBins=32)
  33. # 在测试实例上评估模型并计算测试误差
  34. predictions = model.predict(testData.map(lambda x:x.features))
  35. labelsAndPoint = testData.map(lambda lp:lp.label).zip(predictions)
  36. testMSE = labelsAndPoint.map(lambda (v,p):(v-p)**2).sum()/float(testData.count())
  37. mylog.append("测试误差是")
  38. mylog.append(testMSE)
  39. #存储模型
  40. model.save(sc,"/home/xiatao/machine_learing/")
  41. sc.parallelize(mylog).saveAsTextFile("/home/xiatao/machine_learing/log")
  42. sameModel = DecisionTreeModel.load(sc,"/home/xiatao/machine_learing/")

转载于:https://www.cnblogs.com/bonelee/p/7149804.html

spark 决策树分类算法demo相关推荐

  1. 【python代码实现】决策树分类算法

    目录 前置信息 1.决策树 2.样本数据 决策树分类算法 1.构建数据集 2.数据集信息熵 3.信息增益 4.构造决策树 5.实例化构造决策树 6.测试样本分类 后置信息:绘制决策树代码 前置信息 1 ...

  2. 大数据【企业级360°全方位用户画像】之USG模型和决策树分类算法

    在之前的一篇博客<大数据[企业级360°全方位用户画像]之RFM模型和KMeans聚类算法>中,博主为大家带来了KMeans聚类算法的介绍.并在之后,基于不同的模型开发标签,例如RFM,R ...

  3. python决策树分类案例_银行产品销售案例与决策树分类算法

    案例数据集来源于UCI网站.案例是基于一家葡萄牙金融机构的电话销售数据.营销目标是确认客户是否愿意认购银行发行的一款定期储蓄产品.该数据集内包含41188条记录和20个特征变量,和1个分类变量.变量包 ...

  4. python决策树分类案例_python实现决策树分类算法

    本文实例为大家分享了python实现决策树分类算法的具体代码,供大家参考,具体内容如下 1.概述 决策树(decision tree)--是一种被广泛使用的分类算法. 相比贝叶斯算法,决策树的优势在于 ...

  5. 决策树分类算法(if-else原理)

    决策树分类算法(if-else原理) 在本节我们将介绍"机器学习"中的"明星"算法"决策树算法".决策树算法在"决策"领 ...

  6. 机器学习-决策树分类算法与应用

    1. 决策树分类算法原理 1.1 概述 决策树(decision tree)--是一种被广泛使用的分类算法. 相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置 在实际应用中,对于探 ...

  7. 数据挖掘学习——决策树分类算法理论(包含Iris实战)

    目录 1.决策树分类算法概述及相关公式 (1)基本思路 (2)熵公式 (3)基尼(Gini)系数公式 2.ID3算法 3.C4.5算法 4.CART算法 5.各类决策树分类算法比较 6.过拟合与决策树 ...

  8. 【机器学习原理】决策树分类算法

    上一篇:朴素贝叶斯分类算法 文章目录 一.决策树分类 1. if - else 2. 如何种植一棵有灵魂的"树" 3. 决策条件的选择艺术 节点纯度的度量规则 纯度的度量方法 4. ...

  9. 决策树分类算法(1) - 决策树简介及ID3/CS4.5算法

    1. 引言 在现实生活中,我们会遇到各种选择,不论是相亲,还是挑选水果,都是基于以往的经验来做判断.如果把判断背后的逻辑整理成一个结构图,你会发现它实际上是一个树状图,这就是我们今天要讲的决策树. 2 ...

最新文章

  1. 专属于教育界的定律,你知道哪一些?
  2. 福利 | “石墨烯之父”现场演讲!中国科幻大会“科技与未来”论坛报名中
  3. RedHat Directory Server 8.2 Installation Guide
  4. 【图像处理opencv】_图像边缘
  5. 针对web高并发量的处理
  6. WCF(学习笔记)【参见WCF教程】
  7. CSDN-markdown编辑器(保存自CSDN官方)
  8. python测试框架数据生成工具最全资源汇总
  9. BZOJ 2818——Gcd
  10. 生产者-消费者模式的实现
  11. 取证 c语言实现日志导出_日志与日志不一样:五种不能忽略的日志源
  12. 怎么把项目的数据上传到服务器,怎么把sql数据库上传到云服务器
  13. 2021庐江高考成绩查询,2021庐江高考考点查询入口https://lj.hfzsks.org/list_score/index.php?seach_t...
  14. 【MySQL 5.7 】从库1032 报错处理
  15. 【干货】华为组织成长的动力机制.pdf(附下载链接)
  16. Qt 学习之路 2(1):序 笔记
  17. bp神经网络预测案例python_详细BP神经网络预测算法及实现过程实例
  18. 结对作业 ——UI组第八组 冯富禹 齐天浩
  19. 10秒钟搞定圆柱齿轮设计所有课题
  20. 信息化与业务流程再造

热门文章

  1. B+树与LSM树的区别与联系
  2. mysql job 运行时间设置_mysql 的job 设置
  3. keil查看程序运行时间_你知道 KEIL 自带示波器吗?
  4. python使用opencv_Python使用OpenCV进行标定
  5. android 2.2.3,升还是不升 Android2.2与2.3性能测试对比
  6. 华为新系统鸿蒙升级平板名单,华为鸿蒙系统升级名单正式确认!全面替换安卓:流畅度比肩iOS...
  7. matlab消去前一个图,各位matlab高手,如何从2个3元方程中消去一个变量,然后做3维图形~...
  8. php数组转xml文件,php数组转换成xml格式的实现方法
  9. linux开发教程,Java基础面试题(2)
  10. 【Java面试题】docker启动失败原因