spark机器学习
多层感知器(MLP)
from __future__ import print_function
from pyspark.ml.classification import MultilayerPerceptronClassifier
from pyspark.ml.evaluation import MulticlassClassificationEvaluator
from pyspark.sql import SparkSession spark = SparkSession\
.builder.appName("multilayer_perceptron_classification_example").getOrCreate() # 加载数据
data = spark.read.format("libsvm")\
.load("data/mllib/sample_multiclass_classification_data.txt") # 切分训练集和测试集
splits = data.randomSplit([0.6, 0.4], 1234)
train = splits[0]
test = splits[1] # 输入、隐层、隐层、输出个数
layers = [4, 5, 4, 3] # 创建多层感知器
trainer = MultilayerPerceptronClassifier(maxIter=100, layers=layers, blockSize=128, seed=1234) # 训练模型
model = trainer.fit(train) # 预测和计算准确度
result = model.transform(test)
result.show()
predictionAndLabels = result.select("prediction", "label")
evaluator = MulticlassClassificationEvaluator(metricName="accuracy")
print("Test set accuracy = " + str(evaluator.evaluate(predictionAndLabels))) spark.stop()
+-----+--------------------+----------+
|label| features|prediction|
+-----+--------------------+----------+
| 0.0|(4,[0,1,2,3],[-0....| 2.0|
| 0.0|(4,[0,1,2,3],[-0....| 0.0|
| 0.0|(4,[0,1,2,3],[-0....| 0.0|
| 0.0|(4,[0,1,2,3],[-0....| 2.0|
| 0.0|(4,[0,1,2,3],[-0....| 2.0|
| 0.0|(4,[0,1,2,3],[-1....| 2.0|
| 0.0|(4,[0,1,2,3],[0.1...| 0.0|
| 0.0|(4,[0,1,2,3],[0.2...| 0.0|
| 0.0|(4,[0,1,2,3],[0.3...| 0.0|
| 0.0|(4,[0,1,2,3],[0.3...| 0.0|
| 0.0|(4,[0,1,2,3],[0.3...| 0.0|
| 0.0|(4,[0,1,2,3],[0.4...| 0.0|
| 0.0|(4,[0,1,2,3],[0.5...| 0.0|
| 0.0|(4,[0,1,2,3],[0.7...| 0.0|
| 0.0|(4,[0,1,2,3],[0.8...| 0.0|
| 0.0|(4,[0,1,2,3],[1.0...| 0.0|
| 0.0|(4,[0,2,3],[0.166...| 0.0|
| 0.0|(4,[0,2,3],[0.388...| 0.0|
| 1.0|(4,[0,1,2,3],[-0....| 1.0|
| 1.0|(4,[0,1,2,3],[-0....| 1.0|
+-----+--------------------+----------+
only showing top 20 rows Test set accuracy = 0.901960784314
spark机器学习的更多相关文章
- Spark机器学习· 实时机器学习
Spark机器学习 1 在线学习 模型随着接收的新消息,不断更新自己:而不是像离线训练一次次重新训练. 2 Spark Streaming 离散化流(DStream) 输入源:Akka actors. ...
- Spark机器学习 Day2 快速理解机器学习
Spark机器学习 Day2 快速理解机器学习 有两个问题: 机器学习到底是什么. 大数据机器学习到底是什么. 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这 ...
- Spark机器学习 Day1 机器学习概述
Spark机器学习 Day1 机器学习概述 今天主要讨论个问题:Spark机器学习的本质是什么,其内部构成到底是什么. 简单来说,机器学习是数据+算法. 数据 在Spark中做机器学习,肯定有数据来源 ...
- Spark机器学习笔记一
Spark机器学习库现支持两种接口的API:RDD-based和DataFrame-based,Spark官方网站上说,RDD-based APIs在2.0后进入维护模式,主要的机器学习API是spa ...
- Spark机器学习之协同过滤算法
Spark机器学习之协同过滤算法 一).协同过滤 1.1 概念 协同过滤是一种借助"集体计算"的途径.它利用大量已有的用户偏好来估计用户对其未接触过的物品的喜好程度.其内在思想是相 ...
- 2019-1-18 Spark 机器学习
2019-1-18 Spark 机器学习 机器学习 模MLib板 预测 //有视频 后续会补充 1547822490122.jpg 1547822525716.jpg 1547822330358.jp ...
- Spark机器学习解析下集
上次我们讲过<Spark机器学习(上)>,本文是Spark机器学习的下部分,请点击回顾上部分,再更好地理解本文. 1.机器学习的常见算法 常见的机器学习算法有:l 构造条件概率:回归分 ...
- Spark机器学习8· 文本处理(spark-shell)
Spark机器学习 自然语言处理(NLP,Natural Language Processing) 提取特征 建模 机器学习 TF-IDF(词频 term frequency–逆向文件频率 inver ...
- Spark机器学习7·降维模型(scala&python)
PCA(主成分分析法,Principal Components Analysis) SVD(奇异值分解法,Singular Value Decomposition) http://vis-www.cs ...
- Spark机器学习6·聚类模型(spark-shell)
K-均值(K-mean)聚类 目的:最小化所有类簇中的方差之和 类簇内方差和(WCSS,within cluster sum of squared errors) fuzzy K-means 层次聚类 ...
随机推荐
- final视频
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2476] 视频链接[https://v.youku.com/v_show/id_ ...
- 20165326 java实验二
2017-2018-2 20165326实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326 成绩:指导教师:娄嘉鹏 实 ...
- Oracle 12c中新建pdb用户登录问题分析
Oracle 12c新建用户登录问题分析1 用sys用户新建用户,提示公用用户名或角色名无效.原因:Oracle 12c中,在容器中建用户(或者应该称为使用者),须在用户名前加c##.默认登录连接的就 ...
- C++中的break,continue和return语句小结
1.break语句能用在switch,while,do...while和for语句中:continue语句用在while,do...while和for语句中. 2.break结束语句执行,并将程序的执 ...
- FreeSWITCH视频会议命令
列出所有会议 conference list 列出会议的所有成员 conference <conference_name> list 而<conference_name>就是会 ...
- 微软Power BI 每月功能更新系列——8月Power BI 新功能学习
Power BI Desktop 8月新功能摘要 Power BI 产品八月发布的新版本又刷新了大家所期待的一些功能,它可以更方便的解决我们从用户那里听到的一些最重要的请求:其中最令人兴奋的是我们的导 ...
- java pojo类
POJO POJO是Plain OrdinaryJava Object的缩写 可以当作简单的Java对象 实际就是普通JavaBeans 外文名 POJO 实际意义 普通JavaBeans 全 ...
- 通过修改源码,免插件实现wordpress去除链接中的category
将以下代码加在主题目录的functions.php /** * 去除category */ add_action('load-themes.php', 'no_category_base_refres ...
- Oval框架如何校验枚举类型的一种思路
前言: Oval校验框架被广泛集成于各类接口参数校验中, 其方便的注解语法, 易读性和扩展性. 几乎成了java后端服务代码的标配. 有人会很疑惑, 都已经是枚举类型了, 还需要校验吗? 其实这边更确 ...
- Redis整理
1. Redis采用的是单进程多线程的模式.当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式.在该模式下,redis会在后台运行,并将进程pid号写入至redis.c ...