pyspark dataframe 格式数据输入 做逻辑回归
该方法好处是可以调节阈值,可调参数比其他形式模型多很多。
【参照】http://blog.csdn.net/u013719780/article/details/52277616
【3种模型效果比较:逻辑回归,决策树,随机森林】http://blog.csdn.net/chaoran_liu/article/details/52203831
from pyspark import SparkContext
from pyspark.mllib.classification import LogisticRegressionWithLBFGS,LogisticRegressionModel
from pyspark.mllib.regression import LabeledPoint
from pyspark.sql import Row
from pyspark.mllib.linalg import *
from pyspark.ml.classification import LogisticRegression
from pyspark.ml.linalg import Vectors
from __future__ import print_function
#需要数据框格式数据
lines=sc.textFile('hdfs://getui-bi-hadoop/user/zhujx/1029_IOS_features_sex') #全是0和1的数据
parts=lines.map(lambda x:x.split('\t'))
col=["f_"+str(i) for i in range(227)] #设置数据框变量
dataset=sqlContext.createDataFrame(parts,col) #转换成数据框格式
#建立标签索引,转换标签格式
#当前的数据类型是字符型,将数据转换为数值型
data=dataset.map(lambda x:([float(x[i]) for i in range(0,227)])) #转换后已经不是dataframe格式了
datadf=sqlContext.createDataFrame(data,col) #再次转换成数据框格式
#datadf.printSchema #显示出变量名
feature_data=datadf.map(lambda x:(Vectors.dense([x[i] for i in range(1,227)]),x[0]))
forma_data=sqlContext.createDataFrame(feature_data,['features','labels']) #定义好标签值和特征值,形成数据框
#forma_data.show()
train_data,test_data=forma_data.randomSplit([0.8,0.2],6) #随机种子为6 ,随机分样本
#train_data.show()
#建立模型
lr=LogisticRegression(featuresCol="features",labelCol="labels",maxIter=100,regParam=0.01,predictionCol="prediction",fitIntercept=True,threshold=0.3)
model=lr.fit(train_data) #拟合训练集
#model.coefficients
#model.intercept
#
result=model.transform(test_data)
#result1=model.transform(test_data).head()
#result.prediction
#result.probability
#result.rawPrediction
result.select('probability','prediction','prediction').show(truncate=False)
result.select('probability','prediction','rawPrediction').show(100,truncate=False)
pyspark dataframe 格式数据输入 做逻辑回归的更多相关文章
- Python3 Pandas的DataFrame格式数据写入excle文件、json、html、剪贴板、数据库
Python3 Pandas的DataFrame格式数据写入excle文件.json.html.剪贴板.数据库 一.DataFrame格式数据 Pandas是Python下一个开源数据分析的库,它提供 ...
- R语言做逻辑回归
前面写过一个多分类的逻辑回归,现在要做一个简单的二分类,用glm函数 导入csv格式如下: mydata<-read.csv("D://li.csv",header=T) c ...
- 用R做逻辑回归之汽车贷款违约模型
数据说明 本数据是一份汽车贷款违约数据 application_id 申请者ID account_number 账户号 bad_ind 是否违约 vehicle_year ...
- 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- Sklearn实现逻辑回归
方法与参数 LogisticRegression类的各项参数的含义 class sklearn.linear_model.LogisticRegression(penalty='l2', dual=F ...
- 机器学习二 逻辑回归作业、逻辑回归(Logistic Regression)
机器学习二 逻辑回归作业 作业在这,http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/hw2.pdf 是区分spam的. 57 ...
- scikit-learn 逻辑回归类库使用小结
之前在逻辑回归原理小结这篇文章中,对逻辑回归的原理做了小结.这里接着对scikit-learn中逻辑回归类库的我的使用经验做一个总结.重点讲述调参中要注意的事项. 1. 概述 在scikit-lear ...
- 10分钟搞懂Tensorflow 逻辑回归实现手写识别
1. Tensorflow 逻辑回归实现手写识别 1.1. 逻辑回归原理 1.1.1. 逻辑回归 1.1.2. 损失函数 1.2. 实例:手写识别系统 1.1. 逻辑回归原理 1.1.1. 逻辑回归 ...
- 【机器学习】逻辑回归(Logistic Regression)
注:最近开始学习<人工智能>选修课,老师提纲挈领的介绍了一番,听完课只了解了个大概,剩下的细节只能自己继续摸索. 从本质上讲:机器学习就是一个模型对外界的刺激(训练样本)做出反应,趋利避害 ...
随机推荐
- 使用scrapy框架爬取自己的博文(2)
之前写了一篇用scrapy框架爬取自己博文的博客,后来发现对于中文的处理一直有问题- - 显示的时候 [u'python\u4e0b\u722c\u67d0\u4e2a\u7f51\u9875\u76 ...
- C#,SOAP1.1与1.2的发布与禁用(SOAP 1.2 in .NET Framework 2.0)
来源:https://www.codeproject.com/Articles/11878/SOAP-in-NET-Framework SOAP 1.2 in .NET Framework 2.0 ...
- 企业微信jssdk分享接口管理系统
服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议 ...
- g++编译后中文显示乱码解决方案
环境:Windows 10 专业版 GCC版本:5.3.0 测试代码: #include <iostream> using namespace std; int main(int argc ...
- spring Annotation based configuration
spring 注解相关 https://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch04s11.html
- bzoj 4842: [Neerc2016]Delight for a Cat
Description ls是一个特别堕落的小朋友,对于n个连续的小时,他将要么睡觉要么打隔膜,一个小时内他不能既睡觉也打隔膜 ,因此一个小时内他只能选择睡觉或者打隔膜,当然他也必须选择睡觉或打隔膜, ...
- SpringAOP基础 - 静态代理设计模式
代理模式在实现过程中,要创建一个接口(社交技巧-接口),代理类(经纪人 - 类)和真实类(范冰冰 - 类)同时实现这个接口. 举个例子: 我们想要找范冰冰吃饭,但是呢,她是大明星,不可能轻易见我们,我 ...
- 邮件服务器fixpost服务(1)
发邮件所用的协议,SMTP协议,端口TCP25 收邮件所用的协议,pop3.imap协议 邮件客户端(MUA):foxmail.闪电邮.邮件大师.outlook 搭建邮件服务器所用到的软件(MTA邮件 ...
- 自己写的一个jQuery对联广告插件
效果图: 文件的位置摆放: 插件的代码: ;(function($){ $.extend({ dLAdv:function(options){ var defaults={ leftType:0,// ...
- JS 更新
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...