import org.apache.log4j.{Level, Logger}
import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.linalg.Vectors
import org.apache.spark.sql.SparkSession /**
* 逻辑回归
* Created by zhen on 2018/11/20.
*/
object LogisticRegression {
Logger.getLogger("org").setLevel(Level.WARN) // 设置日志级别
def main(args: Array[String]) {
val spark = SparkSession.builder()
.appName("LogisticRegression")
.master("local[2]")
.getOrCreate()
val sqlContext = spark.sqlContext
// 加载训练数据和测试数据
val data = sqlContext.createDataFrame(Seq(
(1.0, Vectors.dense(0.0, 1.1, 0.1)),
(0.0, Vectors.dense(2.0, 1.0, -1.1)),
(1.0, Vectors.dense(1.0, 2.1, 0.1)),
(0.0, Vectors.dense(2.0, -1.3, 1.1)),
(0.0, Vectors.dense(2.0, 1.0, -1.1)),
(1.0, Vectors.dense(1.0, 2.1, 0.1)),
(1.0, Vectors.dense(2.0, 1.3, 1.1)),
(0.0, Vectors.dense(-2.0, 1.0, -1.1)),
(1.0, Vectors.dense(1.0, 2.1, 0.1)),
(0.0, Vectors.dense(2.0, -1.3, 1.1)),
(1.0, Vectors.dense(2.0, 1.0, -1.1)),
(1.0, Vectors.dense(1.0, 2.1, 0.1)),
(0.0, Vectors.dense(-2.0, 1.3, 1.1)),
(1.0, Vectors.dense(0.0, 1.2, -0.4))
))
.toDF("label", "features")
val weights = Array(0.8,0.2) //设置训练集和测试集的比例
val split_data = data.randomSplit(weights) // 拆分训练集和测试集
// 创建逻辑回归对象
val lr = new LogisticRegression()
// 设置参数
lr.setMaxIter(10).setRegParam(0.01)
// 训练模型
val model = lr.fit(split_data(0))
model.transform(split_data(1))
.select("label", "features", "probability", "prediction")
.collect()
.foreach(println(_))
//关闭spark
spark.stop()
}
}

结果:

Spark ML逻辑回归的更多相关文章

  1. Spark LogisticRegression 逻辑回归之建模

    导入包 import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.s ...

  2. Spark 多项式逻辑回归__多分类

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

  3. Spark 多项式逻辑回归__二分类

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

  4. Spark 机器学习------逻辑回归

    package Spark_MLlib import javassist.bytecode.SignatureAttribute.ArrayType import org.apache.spark.s ...

  5. Spark Mllib逻辑回归算法分析

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3816289.html 本文以spark 1.0.0版本MLlib算法为准进行分析 一.代码结构 逻辑回归 ...

  6. Spark LR逻辑回归中RDD转DF中VectorUDT设置

    System.setProperty("hadoop.home.dir", "C:\\hadoop-2.7.2"); val spark = SparkSess ...

  7. ML 逻辑回归 Logistic Regression

    逻辑回归 Logistic Regression 1 分类 Classification 首先我们来看看使用线性回归来解决分类会出现的问题.下图中,我们加入了一个训练集,产生的新的假设函数使得我们进行 ...

  8. 成功秀了一波scala spark ML逻辑斯蒂回归

    1.直接上官方代码,调整过的,方可使用 package com.test import org.apache.spark.{SparkConf, SparkContext} import org.ap ...

  9. Spark LogisticRegression 逻辑回归之简介

    LogisticRegression简介

随机推荐

  1. 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?

    今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...

  2. LeetCode--No.011 Container With Most Water

    11. Container With Most Water Total Accepted: 86363 Total Submissions: 244589 Difficulty: Medium Giv ...

  3. Mysql配置主从同步的基本步骤

    # 配置主从同步的基本步骤 #总结为如下的步骤: # .在主服务器上,必须开启二进制日志机制和配置一个独立的ID # .在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号 ...

  4. web自动化测试(java)---元素定位

    和python类似,java-selenium也提供了很多种元素定位的方法,具体如下: findElement(By.id()) findElement(By.name()) findElement( ...

  5. 初入SpringBoot——使用IDEA构建最小SpringBootDemo

    前言 从SpringBoot一出现,就开始关注这个东西了. 但是一直不敢使用,因为一个原则是刚出来的东西肯定有很多坑.而且之后会不会流行也需要时间的检验. 现在渐渐的时间检验之后,SpringBoot ...

  6. 高可用Hadoop平台-Ganglia安装部署

    1.概述 最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的.今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容 ...

  7. 三、TortoiseGit之配置密钥

    TortoiseGit使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥. 也就是说使用 ssh-keygen  -t rsa  -C "username@email.co ...

  8. JavaWeb学习 (九)————HttpServletRequest对象(一)

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  9. [转]Material使用08 MdDialogModule、MdAutocompleteModule

    本文转自:https://www.cnblogs.com/NeverCtrl-C/p/8125346.html 1 MatDialog 1.1 简要描述 MdDialog是一个服务,可以利用它来打开一 ...

  10. HDFS 安全模式的理解

    安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性. 当集群启动的时候,会首先进入安全模式.当系统处于安全模式时会检查数据块的完整性.假设我们设置的副本数(即参数dfs.replic ...