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. 2D转换与3D转换的区别

    2D与3D的区别——2D 转换元素能够改变元素 x 和 y 轴.3D 转换元素还能改变其 Z 轴.

  2. [宏]__stringify

    Linux内核中有如下两个宏: #define __stringify_1(x...) #x #define __stringify(x...) __stringify_1(x) 写代码测试如下: # ...

  3. centos7使用lldb调试netcore应用转储dump文件

    centos7下安装lldb,dotnet netcore 进程生成转储文件,并使用lldb进行分析 随着netcore应用在linux上部署的应用越来越多,碰到cpu 100%,内存暴涨的情况也一直 ...

  4. C# 串口类SerialPort的使用方法

    序言:最近做了一个智能体育项目——跆拳道积分系统,硬件部分会向软件传入振动值等数据,链接方式为串口,所以用到SerialPort类. 值得注意的是: DataReceived 方法,当串口缓冲区有数据 ...

  5. postgresql 唯一约束增强

    http://blog.chinaunix.net/uid-15145533-id-2775821.html

  6. Android生成二维码--拍照或从相册选取图片

    拍照或从相册选择图片是我们日常开发中经常使用到的,可以说是必须掌握的东西.上一篇我介绍了如何生成自定义二维码<Android生成自定义二维码>,其中logo和代替黑色色块的图片都是写死的, ...

  7. 从零开始学 Web 之 CSS3(八)CSS3三个案例

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  8. quartz执行两遍问题

    转:http://blog.csdn.net/hejinwei_1987/article/details/49100975 在现在的项目中发现Quartz执行了两次,在网上找到下列解决方案,我是用的第 ...

  9. thinkphp的自动生成

    第一,在index.php里定义 define('BIND_MODULE','Admin'); //自动生成Admin目录下的结构(默认生成IndexController) define('BUILD ...

  10. Linux ELF 文件格式

    ELF 文件类型 ELF (Executable Linkable Format) 是 linux 下的可执行文件格式,与 windows 下的 PE (Portable Executable) 格式 ...