我的spark python 决策树实例

from numpy import array
from pyspark.mllib.regression import LabeledPoint
from pyspark.mllib.tree import DecisionTree, DecisionTreeModel
from pyspark import SparkContext

sc = SparkContext(appName="PythonDecisionTreeClassificationExample")
data = [
     LabeledPoint(0.0, [0.0]),
     LabeledPoint(1.0, [1.0]),
     LabeledPoint(0.0, [-2.0]),
     LabeledPoint(0.0, [-1.0]),
     LabeledPoint(0.0, [-3.0]),
     LabeledPoint(1.0, [4.0]),
     LabeledPoint(1.0, [4.5]),
     LabeledPoint(1.0, [4.9]),
     LabeledPoint(1.0, [3.0])
 ]
all_data = sc.parallelize(data)
(trainingData, testData) = all_data.randomSplit([0.8, 0.2])

# model = DecisionTree.trainClassifier(sc.parallelize(data), 2, {})
model = DecisionTree.trainClassifier(trainingData, numClasses=2, categoricalFeaturesInfo={},
                                         impurity=‘gini‘, maxDepth=5, maxBins=32)
print(model)
print(model.toDebugString())
model.predict(array([1.0]))
model.predict(array([0.0]))
rdd = sc.parallelize([[1.0], [0.0]])
model.predict(rdd).collect()

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, "./myDecisionTreeClassificationModel")
sameModel = DecisionTreeModel.load(sc, "./myDecisionTreeClassificationModel")
时间: 2024-08-09 06:20:48

我的spark python 决策树实例的相关文章

梯度迭代树(GBDT)算法原理及Spark MLlib调用实例(Scala/Java/python)

梯度迭代树(GBDT)算法原理及Spark MLlib调用实例(Scala/Java/python) http://blog.csdn.net/liulingyuan6/article/details/53426350 梯度迭代树 算法简介: 梯度提升树是一种决策树的集成算法.它通过反复迭代训练决策树来最小化损失函数.决策树类似,梯度提升树具有可处理类别特征.易扩展到多分类问题.不需特征缩放等性质.Spark.ml通过使用现有decision tree工具来实现. 梯度提升树依次迭代训练一系列的

spark机器学习笔记:(五)用Spark Python构建分类模型(下)

声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents 博主简介:风雪夜归子(英文名:Allen),机器学习算法攻城狮,喜爱钻研Meachine Learning的黑科技,对Deep Learning和Artificial Intelligence充满兴趣,经常关注Kaggle数据挖掘竞赛平台,对数据.Machine Learning和Artificial Intelligence有兴趣的童鞋可以一起探讨哦,

python 编程实例 1

#python 100 例 1.py #题目:有 1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多 #少? a = {} c = 1 for i in range(1,5): for j in range(1,5): for k in range(1,5): if (i != j,i !=k ,j!= k): #                print (i,j,k) a[c]=(i,j,k) c = c + 1 print (a) #把结果输入到字典 a中,并用c记数

python 编程实例 2

#python 100 2.py #题目:企业发放的奖金根据利润提成.利润 (I)低于或等于 10 万元时,奖金可提 10%:利 #润高 于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分, #可可提  成 7.5%:20 万到 40 万之间时,高于 20 万元的部分,可提成 5%:40 万到 60 万之间 #时高于 40 万元的部分,可提成 3%:60 万到 100 万之间时,高于 60 万元的部分,可提成 #1.5%,高于 100 万元时,超过

python 编程实例 3

#python 100 例 3.py #题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数.求这个数. import math for x in range(1,100000): y = int(math.sqrt(x + 100)) z = int(math.sqrt(x + 268)) if ( x + 100 == y*y ) and ( x + 268 == z*z): print (x) python 编程实例 3,布布扣,bubuko.com

python 编程实例 4

#python 100例 4.py #输入一个日期,判断这一天是一年中的第几天. import time #print (time.strftime("%Y%m%d%H%M%S")) #当前时间 #print (time.time()) #当前时间的秒数,从1970年1月1日开始计算 b = input("输入一个日期如(20121012): ") #输入要计算的日期 a = b[0:4]+'0101' #获取输入日期的年份并加上1月1日,从当年的1月1日开始计算

python 编程实例 5

#题目:输入三个整数 x,y,z,请把这三个数由小到大输出. #1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y #的值交换,再比较X 和Z比较. x = int(input("输入一个正整数X:")) y = int(input("输入一个正整数Y:")) z = int(input("输入一个正整数Z:")) if x >y: if x > z: if y >z

python 编程实例 6

#python 100 例 6.py #输出9*9口决 for i in range(1,10): for j in range(1,10): a = i * j print (i ,"*",j ,"=",a ) python 编程实例 6,布布扣,bubuko.com

python 编程实例 7

#python 100 例 9.py #用*打印出一个棱形 a = int(input("biangchang: ")) #获取由几个* 边长的棱形 i = 1 j = 1 while i<a+1: print ("   "*(a-i)," * "*(2*i-1)) i = i+1 while j<a+1: print ("   "*j," * "*(2*(a-j)-1)) j = j+1 py