初识Spark的MLP模型

1. MLP介绍

Multi-layer Perceptron(MLP),即多层感知器,是一个前馈式的、具有监督的人工神经网络结构。通过多层感知器可包含多个隐藏层,实现对非线性数据的分类建模。MLP将数据分为训练集、测试集、检验集。其中,训练集用来拟合网络的参数,测试集防止训练过度,检验集用来评估网络的效果,并应用于总样本集。当因变量是分类型的数值,MLP神经网络则根据所输入的数据,将记录划分为最适合类型。常被MLP用来进行学习的反向传播算法,在模式识别的领域中算是标准监督学习算法,并在计算神经学及并行分布式处理领域中,持续成为被研究的课题。MLP已被证明是一种通用的函数近似方法,可以被用来拟合复杂的函数,或解决分类问题。

2.  使用Java进行开发

2.1开发环境准备

  1. 基本Java开发环境

Eclipse,Maven,Jdk1.7

  1. spark开发需要环境

Windows操作系统保存训练模型必须要依赖于hadoop-common-2.2.0-bin-master,如果不保存模型不需要配置此环境,linux操作系统不需要配置此环境。

配置此环境有以下两种方法:

  • 直接在代码最开始写

System.setProperty("hadoop.home.dir", "D:\\Programe\\hadoop-common-2.2.0-bin-master");

  • 配置入环境变量

直接在Windows的系统变量里面配置HADOOP_HOME,然后在PATH里面配置HADOOP_HOME/bin

2.2项目搭建

  1. 创建简单的maven项目
  2. 在pom下增加下列jar
<dependency>

            <groupId>org.apache.spark</groupId>

            <artifactId>spark-core_2.11</artifactId>

            <version>2.1.3</version>

        </dependency>

        <dependency>

            <groupId>org.apache.spark</groupId>

            <artifactId>spark-sql_2.11</artifactId>

            <version>2.1.3</version>

        </dependency>

        <dependency>

            <groupId>org.apache.spark</groupId>

            <artifactId>spark-mllib_2.11</artifactId>

            <version>2.1.3</version>

            <scope>runtime</scope>

    </dependency>

  

注意:本例使用jdk1.7,spark2.2.x要求jdk1.8。

2.3官网实例

注意:创建SparkSession时添加.master(“local”)

2.4保存训练模型

上例是直接使用数据训练模型之后进行预测,大多数情况是模型只需训练一次,之后就可以直接使用,于是Spark提供了保存模型的方法。

2.5获取训练模型

2.6其他相关知识

  1. Java类型数据转换为Spark数据类型

  1. 如何从word生成Spark可加载的libsvm的文档

3.  参考文档

hadoop-common-2.2.0-bin-master下载地址

https://github.com/srccodes/hadoop-common-2.2.0-bin

Spark的MPL例子官网地址(2.4.0版本与本文版本不一样,但是没有影响)

http://spark.apache.org/docs/latest/ml-classification-regression.html#multilayer-perceptron-classifier

代码例子官网地址(2.4.0版本与本文版本不一样,但是没有影响)

https://github.com/apache/spark/tree/master/examples/src/main/java/org/apache/spark/examples

初识spark的MLP模型的更多相关文章

  1. Spark—初识spark

    Spark--初识spark 一.Spark背景 1)MapReduce局限性 <1>仅支持Map和Reduce两种操作,提供给用户的只有这两种操作 <2>处理效率低效 Map ...

  2. 初识Spark(Spark系列)

    1.Spark Spark是继Hadoop之后,另外一种开源的高效大数据处理引擎,目前已提交为apach顶级项目. 效率: 据官方网站介绍,Spark是Hadoop运行效率的10-100倍(随内存计算 ...

  3. Spark之编程模型RDD

    前言:Spark编程模型两个主要抽象,一个是弹性分布式数据集RDD,它是一种特殊集合,支持多种数据源,可支持并行计算,可缓存:另一个是两种共享变量,支持并行计算的广播变量和累加器. 1.RDD介绍 S ...

  4. Spark分布式计算执行模型

    引言 相对Hadoop, Spark在处理需要迭代运算的机器学习训练等任务上有着很大性能提升,同时提供了批处理.实时数据处理.机器学习以及图算法等一站式的服务,因此最近大家一起来学习Spark,特别是 ...

  5. Spark2.1.0之初识Spark

    随着近十年互联网的迅猛发展,越来越多的人融入了互联网——利用搜索引擎查询词条或问题:社交圈子从现实搬到了Facebook.Twitter.微信等社交平台上:女孩子们现在少了逛街,多了在各大电商平台上的 ...

  6. Spark 决策树--回归模型

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.evaluation.Regres ...

  7. Spark 决策树--分类模型

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{D ...

  8. Spark Core源代码分析: Spark任务运行模型

    DAGScheduler 面向stage的调度层,为job生成以stage组成的DAG,提交TaskSet给TaskScheduler运行. 每个Stage内,都是独立的tasks,他们共同运行同一个 ...

  9. 带你初识Angular中MVC模型

    简介 MVC是一种使用 MVC(Model View Controller 模型-视图-控制器)设计模式,该模型的理念也被许多框架所吸纳,比如,后端框架(Struts.Spring MVC等).前端框 ...

随机推荐

  1. 学习Flask框架

      # -*- encoding: utf-8 -*- #导包 from flask import Flask #建立flask对象 app = Flask(__name__) #使用flask路由器 ...

  2. jquery调用iframe里面的方法

    $(window.parent.document).contents().find("#iframename")[0].contentWindow.iframefunction() ...

  3. JPA报错问题修改小结

    项目中在使用线程跑定时任务时,遇到报错,"Could not open JPA EntityManager for transaction Caused by: org.hibernate. ...

  4. mysql安装,以及从csv插入数据

    1.mysql安装 用管理员身份打开cmd命令行工具,cd到解压文件的bin目录:    ・MySql的Windows服务安装: mysqld install 回车 ・生成无密码的root用户: my ...

  5. MyEclipse2014破解版安装教程

    下载安装包和破解程序脚本 1.下载地址 链接:https://pan.baidu.com/s/1XuMweEz602zcoGqwPb2xTA 提取码:idsx  两个文件:myeclipse-pro- ...

  6. 转码器ffmpeg安装

    网络上很多帖子 但是基本上都是没有验证过复制粘贴的 以下是我自己装时流程和网络上的差不多但是中间不通的地方已经改正 centos7 1. 安装autoconf cd /App/srcwget http ...

  7. Beautiful Numbers(牛客网)

    链接:https://ac.nowcoder.com/acm/problem/17385来源:牛客网 题目描述 NIBGNAUK is an odd boy and his taste is stra ...

  8. 从零开始学spring cloud(十一) -------- hystrix监控

    一.官方文档阅读 服务启动后,可以通过/health和hystrix.stream查看效果,实际上,访问上述两个地址,会出现404,这是因为spring boot版本的问题, 我在这里使用的sprin ...

  9. Winform 时间

    using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawi ...

  10. django xadmin多对多字段过滤(含filter的反向查询)

    要实现的功能: 继昨天实现拓展User模型使其得到其上级用户,今天要实现某些模型与用户多对多字段过滤功能. 功能描述:以用户指派功能为例,当前用户将文件指派给多个下级,修改前 程序会将所有用户都显示出 ...