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逻辑回归的更多相关文章
-
Spark LogisticRegression 逻辑回归之建模
导入包 import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.s ...
-
Spark 多项式逻辑回归__多分类
package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{B ...
-
Spark 多项式逻辑回归__二分类
package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{L ...
-
Spark 机器学习------逻辑回归
package Spark_MLlib import javassist.bytecode.SignatureAttribute.ArrayType import org.apache.spark.s ...
-
Spark Mllib逻辑回归算法分析
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3816289.html 本文以spark 1.0.0版本MLlib算法为准进行分析 一.代码结构 逻辑回归 ...
-
Spark LR逻辑回归中RDD转DF中VectorUDT设置
System.setProperty("hadoop.home.dir", "C:\\hadoop-2.7.2"); val spark = SparkSess ...
-
ML 逻辑回归 Logistic Regression
逻辑回归 Logistic Regression 1 分类 Classification 首先我们来看看使用线性回归来解决分类会出现的问题.下图中,我们加入了一个训练集,产生的新的假设函数使得我们进行 ...
-
成功秀了一波scala spark ML逻辑斯蒂回归
1.直接上官方代码,调整过的,方可使用 package com.test import org.apache.spark.{SparkConf, SparkContext} import org.ap ...
-
Spark LogisticRegression 逻辑回归之简介
LogisticRegression简介
随机推荐
-
遍历dynamic的方式
一.遍历ExpandoObject /// <summary> /// 遍历ExpandoObject /// </summary> [TestMethod] public v ...
-
fiddler抓包工具1
名称 含义 # 抓取HTTP Request的顺序,从1开始,以此递增 Result HTTP状态码 Protocol 请求使用的协议,如HTTP/HTTPS/FTP等 Host 请求地址的主机名 U ...
-
AOP 学习
学习 Spring.Net 的AOP 的时候,在做一个简单的测试例子的时候,配置文件和代码逻辑都是没问题的,但始终报这样一个异常: 无法将类型为“CompositionAopProxy_1e76f37 ...
-
Apache配置多域名 AH00548: NameVirtualHost has no effect and will be removed in the next release
httpd-vhosts.conf 中首行 NameVirtualHost *:80 删除掉即可解决.
-
ie浏览器兼容性快速处理小招
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
-
c++ union学习
看到公司前辈的代码中用到了union,不管是大学还是工作用到union机会比较少,还是挺新奇的.所以特意找些资料学习学习 前辈的代码: #include<iostream> using n ...
-
Gradle DSL method found: ‘android()’错误
Gradle DSL method found: ‘android()’错误 和上个错误一样这个也是因为在新版本的Gradle中android()方法已经废弃,但是要注意android()只是在整个项 ...
-
srm 534
250 Description 给你一个1*n的棋盘.两人轮流行动,每一个人能够把"o"向右移动到空格子.或者跨越连续两个"o"到空格子. 一个"o& ...
-
BZOJ 2718: [Violet 4]毕业旅行( 最长反链 )
一不小心速度就成了#1.... 这道题显然是求最长反链, 最长反链=最小链覆盖.最小链覆盖就是先做一次floyd传递闭包, 再求最小路径覆盖. 最小路径覆盖=N - 二分图最大匹配. 所以把所有点拆成 ...
-
web前端面试官挖的那些坑(js)
题目1: function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () ...