logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。然后通过logistic回归分析,可以得到自变量的权重,从而可以大致了解到底哪些因素是胃癌的危险因素。同时根据该权值可以根据危险因素预测一个人患癌症的可能性。

数据源准备:

position;square;price;direction;type;name;
0;190;20000;0;4室2厅2卫;中信城(别墅);
0;190;20000;0;4室2厅2卫;中信城(别墅);
5;400;15000;0;4室3厅3卫;融创上城;
0;500;15000;0;5室3厅2卫;中海莱茵东郡;
5;500;15000;0;5室3厅4卫;融创上城(别墅);
1;320;15000;1;1室1厅1卫;长江花园;
0;143;12000;0;3室2厅2卫;融创上城;
0;200;10000;0;4室3厅2卫;中海莱茵东郡(别墅);
0;207;9000;0;4室3厅4卫;中海莱茵东郡;
0;130;8500;0;3室2厅2卫;伟峰东第;
5;150;7000;0;3室2厅2卫;融创上城;
2;178;6000;0;4室2厅2卫;鸿城国际花园;
5;190;6000;0;3室2厅2卫;亚泰豪苑C栋;
1;150;6000;0;5室1厅2卫;通安新居A区;
2;165;6000;0;3室2厅2卫;万科惠斯勒小镇;
0;64;5500;0;1室1厅1卫;保利中央公园;
2;105;5500;0;2室2厅1卫;虹馆;
1;160;5300;0;3室2厅1卫;昊源高格蓝湾;
2;170;5100;0;4室2厅2卫;亚泰鼎盛国际;
0;155;5000;0;3室2厅2卫;中海水岸馨都;
5;128;5000;0;4室2厅1卫;长影世纪村;
0;145;4500;0;3室2厅2卫;富奥临河湾;
2;92;4200;0;3室2厅1卫;御翠豪庭尚府一期;
0;75;4100;0;1室1厅1卫;恒大雅苑;
5;105;4000;0;2室1厅1卫;南湖名家;
2;93;4000;0;3室2厅1卫;御翠豪庭尚府一期;
5;121;4000;0;3室1厅1卫;万达广场;
0;104;4000;0;2室1厅1卫;棠棣;
1;135;4000;0;3室2厅2卫;万科蓝山;
5;98;4000;0;2室2厅1卫;华亿红府;
0;128;3800;0;3室2厅1卫;复地哥德堡森林;
2;154;3700;0;3室2厅2卫;长春明珠;
0;100;3700;0;2室2厅1卫;翡翠花溪;
4;66;3700;0;1室1厅1卫;长客厂南;
2;106;3600;0;2室2厅1卫;虹馆;
5;132;3500;0;3室2厅1卫;大禹城邦;
1;135;3500;0;3室2厅1卫;昊源高格蓝湾;
0;130;3500;0;3室2厅1卫;中海国际社区(AJ区);
2;70;3500;0;2室1厅1卫;中信御园;
0;145;3500;0;3室2厅2卫;万盛东城;
5;132;3500;0;3室2厅2卫;大禹城邦;
5;100;3300;0;2室2厅1卫;国信南湖公馆;
5;75;3200;0;1室1厅1卫;南湖祥水湾;
0;120;3200;0;3室3厅2卫;复地哥德堡森林;
2;95;3200;0;3室2厅1卫;万科金域长春;
0;106;3200;0;2室2厅1卫;富腾天下城;
5;118;3200;0;3室2厅2卫;融创上城(别墅);
1;130;3200;0;3室2厅1卫;万龙名城;
0;137;3200;0;3室2厅2卫;中海国际社区(AJ区);

Demo:

import org.apache.spark.SparkConf
import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.feature.VectorAssembler
import org.apache.spark.sql.SparkSession/*** 逻辑回归*/
object logic {def main(args: Array[String]): Unit = {val conf = new SparkConf().setMaster("local[*]").setAppName("logic")val spark = SparkSession.builder().config(conf).getOrCreate()val file = spark.read.format("csv").option("sep", ";").option("header", "true").load("house.csv")import spark.implicits._val random = new util.Random()// 加载训练数据val data = file.select("square", "price").map(rows => (rows.getAs[String](0).toDouble, rows.getString(1).toDouble, random.nextDouble())).toDF("square", "price", "random").sort("random")val assembler = new VectorAssembler().setInputCols(Array("square")).setOutputCol("features")val frame = assembler.transform(data)//把数据集拆分2个部分 training (80%) and test (20%).val Array(train, test) = frame.randomSplit(Array(0.8, 0.2))//创建逻辑回归val lr = new LogisticRegression().setLabelCol("price").setFeaturesCol("features").setRegParam(0.3).setElasticNetParam(0.8).setMaxIter(10)val model = lr.fit(train)model.transform(test).show(50,truncate = true)val iterations = model.summary.totalIterationsprintln(s"iter:${iterations}")spark.stop()}
}

Sparkmllib scala逻辑回归相关推荐

  1. 基于逻辑回归/决策树/随机森林/多层感知分类器/xgboost/朴素贝叶斯分类的资讯多分类性能对比

    在上一篇(https://blog.csdn.net/baymax_007/article/details/82748544)中,利用逻辑回归实现资讯多分类.本文在之前基础上,又引入决策树.随机森林. ...

  2. Spark MLlib回归算法------线性回归、逻辑回归、SVM和ALS

    Spark MLlib回归算法------线性回归.逻辑回归.SVM和ALS 1.线性回归: (1)模型的建立: 回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多 ...

  3. StumbleuponAnalysis--逻辑回归二元分类

    Spark MLlib 下的逻辑回归二元分类 训练模型 导入必要的包 import numpy as np import pyspark from matplotlib import pyplot a ...

  4. spark 逻辑回归算法案例_黄美灵的Spark ML机器学习实战

    原标题:黄美灵的Spark ML机器学习实战 本课程主要讲解基于Spark 2.x的ML,ML是相比MLlib更高级的机器学习库,相比MLlib更加高效.快捷:ML实现了常用的机器学习,如:聚类.分类 ...

  5. 朴素贝叶斯与逻辑回归区别

    朴素贝叶斯与逻辑回归有什么异同 1.上述链接大佬详细的介绍了朴素贝叶斯.逻辑回归的由来. 2.在B站李宏毅老师机器学习课中第4讲Classification中提到了从贝叶斯公式推导出逻辑函数的激活函数 ...

  6. TensorFlowMNIST数据集逻辑回归处理

    本节基于回归学习对 MNIST 数据集进行处理,但将添加一些 TensorBoard 总结以便更好地理解 MNIST 数据集. MNIST由https://www.tensorflow.org/get ...

  7. 线性回归、逻辑回归及SVM

    1,回归(Linear Regression) 回归其实就是对已知公式的未知参数进行估计.可以简单的理解为:在给定训练样本点和已知的公式后,对于一个或多个未知参数,机器会自动枚举参数的所有可能取值(对 ...

  8. 逻辑回归算法原理简介

    1,逻辑回归简介 逻辑回归完成分类任务,是经典的二分类算法(也可以解决多分类问题),机器学习算法一般选择先逻辑回归(优先选择)再用复杂的,逻辑回归的决策边界可以是非线性的(高阶).可以通过参数对结果进 ...

  9. 机器学习(14)逻辑回归(实战) -- 癌症分析

    目录 试错 一.读取数据 二.划分数据集 三.对训练集和测试集标准化 四.创建逻辑回归预估器,训练得到模型 五.模型评估 总代码 试错 这里必须要做对缺失数据的处理,否则会报错: ValueError ...

最新文章

  1. netapp存储服务器文档,NetApp秘密开发服务器闪存?
  2. 8.文本处理(编码解码/文件操作)
  3. 基于移动位置服务器,移动定位服务器的设计与实现
  4. 一个用于推算神经网络理论收敛迭代次数的方法
  5. 解析IT行业的苦逼工作!(漫画)
  6. Java 8:对速度3.0.1“森林”流ORM的更深入了解
  7. 生命银行怎么样_减脂就像是从“脂肪银行”中提款,想要成功,你要做到这两点...
  8. c mysql使用场景_Mysql 场景
  9. java.util.function.Function的用法
  10. tomcat java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListen
  11. Sim_EKB_Install_2021,TIA V17等西门子资料下载
  12. Windows7不再卡五叶草,更新了bootx64.efi和bootmgfw.efi文件,支持安全启动,不用关闭安全启动和打开csm支持.
  13. Unity四元数,欧拉角
  14. 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp这些都是什么意思啊?
  15. NBMA 和 BMA 区别
  16. 微信小程序 async await解决异步问题
  17. AIS航行状态和船舶类型
  18. 从写下第1行代码到拿下谷歌百万年薪 ,我是如何在8个月内做到的?
  19. 对于算法工程师职业生涯规划的考虑
  20. 马化腾:移动互联网上半场接近尾声 腾讯将拥抱产业互联网

热门文章

  1. SQL Server 重置Identity标识列的值(INT爆了)
  2. C++中的内联函数inline总结
  3. eth0,eth1,eth2,lo是什么
  4. 理解Netty中的零拷贝(Zero-Copy)机制
  5. 【转】C语言如何编译动态库与静态库?
  6. C++实现最大堆最小堆
  7. java五子棋胜负判定_五子棋的判断输赢规则—Java编程(简单优化完整版)
  8. jdbc获取结果行数_如何获取JDBC中的行数?
  9. 科大星云诗社动态20210204
  10. 科大星云诗社动态20210514