继上文的集成学习模型之后,本文实践使用的pyspark提供的多层感知机神经网络模型,这是一种比较简单但是却又很重要的神经网络模型。MLP是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看做是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法常被用来训练MLP。MLP是感知器的推广,克服了感知器无法实现对线性不可分数据识别的缺点。多层感知器(Multi-Layer Perceptron,MLP)也叫人工神经网络(Artificial Neural Network,ANN),除了输入输出层,它中间可以有多个隐层。最简单的MLP需要有一层隐层,即输入层、隐层和输出层才能称为一个简单的神经网络。

一个简单的MLP结果示意图如下所示:

也可以是这样的:

上面是隐藏层只有一层的MLP神经网络模型,下面是隐藏层为两层的神经网络结果示意图:

同样,下面贴一下自己学习pyspark以来的记录笔记,具体如下:

pyspark顾名思义就是由python和spark组合使用的。Spark提供了一个Python_Shell,即pyspark,从而可以以交互的方式使用Python编写Spark程序。有关Spark的基本架构以及pyspark环境配置相关的内容本篇博客就不再多加阐述了,网络上也有很多不错的讲解。

pyspark里最核心的模块是SparkContext(简称sc),最重要的数据载体是RDD。RDD就像一个NumPy array或者一个Pandas Series,可以视作一个有序的item集合。只不过这些item并不存在driver端的内存里,而是被分割成很多个partitions,每个partition的数据存在集群的executor的内存中。

接下来回归正题,基于pyspark的MLP分类模型实现如下:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division'''
__Author__:沂水寒城
功能: pyspark 机器学习实践之【多层感知器分类器模型】
'''import findspark
findspark.init()
import pyspark
from pyspark import SparkConf
from pyspark.ml import Pipeline
from pyspark.context import SparkContext
from pyspark.sql.session import SparkSession
from pyspark.ml.classification import DecisionTreeClassifier
from pyspark.ml.evaluation import MulticlassClassificationEvaluator
from pyspark.ml.feature import StringIndexer, VectorIndexer,IndexToStringconf=SparkConf().setAppName('MLDemo')
sc = SparkContext('local')
spark = SparkSession(sc)def MLPClassifier(data="mllib/sample_multiclass_classification_data.txt"):'''多层感知器分类器(MLPC)是基于前馈人工神经网络的分类器。 MLPC由多层节点组成。 每层完全连接到网络中的下一层。 输入层中的节点表示输入数据。 所有其他节点通过输入与节点权重w和偏差b的线性组合将输入映射到输出,并应用激活函数。多层感知机分类器'''#加载LIBSVM格式的数据集data = spark.read.format("libsvm").load(data)#训练集、测试集划分splits = data.randomSplit([0.6, 0.4], 1234)train = splits[0]test = splits[1]#指定神经网络的层#输入层4个神经元,隐藏层两层神经元数量分别为:5、4,输出层3个神经元layers = [4, 5, 4, 3]trainer = MultilayerPerceptronClassifier(maxIter=100, layers=layers, blockSize=128, seed=1234)model = trainer.fit(train)result = model.transform(test)predictionAndLabels = result.select("prediction", "label")evaluator = MulticlassClassificationEvaluator(metricName="accuracy")print("Test set accuracy = " + str(evaluator.evaluate(predictionAndLabels)))if __name__=='__main__':MLPClassifier(data="mllib/sample_multiclass_classification_data.txt")

结果输出如下:

本文MLP神经网络模型输入的是多分类的数据集,可以看到在多分类的情况下MLP达到了90%以上的准确度,整体的性能来说还是很不错的。

pyspark分类算法之多层感知机神经网络分类器模型实践【MLPClassifier】相关推荐

  1. 从零推导一个多层感知机神经网络(附matlab源码,可直接运行)

    可以先跳到代码示例部分看看效果 算法基础 激活函数 损失函数 链式法则 向量求导 代码示例 代码文件结构说明 函数脚本 可运行脚本 效果演示 代码下载链接 算法基础 激活函数 激活函数的作用 激活函数 ...

  2. 分类算法之贝叶斯(Bayes)分类器

    摘要:旁听了清华大学王建勇老师的 数据挖掘:理论与算法 的课,讲的还是挺细的,好记性不如烂笔头,在此记录自己的学习内容,方便以后复习. 一:贝叶斯分类器简介 1)贝叶斯分类器是一种基于统计的分类器,它 ...

  3. 深度神经网络算法有哪些,深度神经网络主要模型

    有哪些深度神经网络模型? 目前经常使用的深度神经网络模型主要有卷积神经网络(CNN) .递归神经网络(RNN).深信度网络(DBN) .深度自动编码器(AutoEncoder) 和生成对抗网络(GAN ...

  4. Python实现哈里斯鹰优化算法(HHO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris ...

  5. 灰狼优化算法训练多层感知神经网络研究(Matlab代码实现)

  6. 【机器学习算法】手动Python实现KNN分类算法,并用iris数据集检验模型效果

    目录 一.KNN算法Python实现 1.导入包 2. 画图,展示不同电影在图上的分布 3.训练样本和待测样本准备 4.计算待测样本点到每个训练样本点的距离 5.查找离待测样本点最近的K个训练样本点的 ...

  7. 深度学习笔记其三:多层感知机和PYTORCH

    深度学习笔记其三:多层感知机和PYTORCH 1. 多层感知机 1.1 隐藏层 1.1.1 线性模型可能会出错 1.1.2 在网络中加入隐藏层 1.1.3 从线性到非线性 1.1.4 通用近似定理 1 ...

  8. 【动手学深度学习】多层感知机(MLP)

    1 多层感知机的从零开始实现 torch.nn 继续使用Fashion-MNIST图像分类数据集 导入需要的包 import torch from torch import nn from d2l i ...

  9. 深度学习之学习笔记(四)—— 感知机——神经网络的雏形

    感知机 感知机(Perceptron) 是神经网络的起源算法,由两层神经元组成,如下图所示, 输入层接收外界输入信号后传递给输出层 输出层是M-P神经元 在两个输入的情况下,感知机可以简化为如下形式: ...

  10. 什么是多层前馈神经网络,多层前馈神经网络原理

    前馈神经网络.BP神经网络.卷积神经网络的区别与联系 一.计算方法不同1.前馈神经网络:一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层.各层 ...

最新文章

  1. 基于GA的TSP问题
  2. 《挑战30天C++入门极限》C/C++中字符串常量的不相等性及字符串的Copy
  3. mybatis项目报java.sql.SQLException: Numeric Overflow的异常
  4. java 方法 示例_Java语言环境getISOCountries()方法与示例
  5. 琉璃男主成毅手机壁纸,你要么?
  6. iOS在app里面跳转到系统的设置界面
  7. 实现童年梦想——RPG游戏入门(RPG制作大师使用教程)
  8. 最炫黑科技还得谷歌!一副眼镜告别学外语,一个地图App在家沉浸式环球游
  9. python中的pip是什么_python中的pip是什么意思
  10. KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具
  11. 通常家庭说的100M宽带,下载速度是?
  12. ios备忘录下载安卓版_如何下载和平精英国际服?
  13. 视频号怎么赚钱?4个赚钱小技巧,实现视频号流量变现!
  14. 边框检测原理与Tensorflow代码
  15. JBPM4.4学习使用
  16. laravel入门教程
  17. QT下lcdNumber实现倒计时源代码
  18. 农业多贡献·看亮点②平昌青花椒:这个园区为何让参会代表直呼“上头”
  19. 09 七段-复利:营造长期的局部垄断
  20. Tasker 微信防撤回2.0

热门文章

  1. Leader-Follower线程模型
  2. Handler深入(分析源码,手写一套Handler)
  3. IOS开发之显示微博表情
  4. Linux 学习作业:认识bash shell
  5. FOSCommentBundle功能包:指南索引页
  6. Python自然语言处理学习笔记(60):7.1 信息抽取
  7. 【转】oracle order by 处理NULL 值
  8. WPF中的TreeView入门
  9. python_文件处理模式
  10. Python语法基础——关于全局变量与局部变量