http://www.qqcourse.com/forum.php?mod=viewthread&tid=3688

【很重要】:http://spark.apache.org/docs/latest/api/python/pyspark.mllib.html

官方文档里面关于模型配置的所有参数

[spark dataframe ,pandas数据结构使用]http://blog.csdn.net/chaoran_liu/article/details/52203831

【很重要,】pipeline 数据结构 数据框格式 dataframe模型完整程序】http://blog.csdn.net/u013719780/article/details/52277616

【3种模型效果比较:逻辑回归,决策树,随机森林】http://blog.csdn.net/chaoran_liu/article/details/52203831

使用 ML Pipeline 构建机器学习工作流:https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-practice5/

[图片地址】: http://spark.apache.org/docs/latest/api/python/pyspark.ml.html

#此程序在hadoop集群中运行

pyspark --master yarn-client --executor-memory 5G --num-executors 50   #在shell中输入,指定内存5个g,50个节点

from pyspark import SparkContext
from pyspark.mllib.classification import LogisticRegressionWithLBFGS,LogisticRegressionModel
from pyspark.mllib.regression import LabeledPoint

def parsePoint(line):
     values=[float(x) for x in line.split('\t')]
      return LabeledPoint(values[0],values[1:])

data1=sc.textFile('1029_IOS_features_age_18t24')  #文件需要保存在默认的集群地址上, hdfs://getui-bi-hadoop/user/zhujx

parsedata=data1.map(parsePoint) #数据转化为LabeledPoint 格式

#build model

modelage18=LogisticRegressionWithLBFGS.train(parsedata,regType="l1") #l1正则

#print model.weights

labepreds=parsedata.map(lambda p: (p.label,modelage18.predict(p.features))) #同时展示了预测类别和原表类别,原数据是labelpoint形式的预测方法
#labepreds2=train1.map(lambda p:(p.label,model.predict(p.features))) #测试预测集

trainerro=labepreds.filter(lambda (v,p):v!=p).count() / float(parsedata.count())
prerat=labepreds.filter(lambda (v,p):v==p).count()/float(parsedata.count())

crosstable1=labepreds.filter(lambda (v,p):p==1).count()
crosstable0=labepreds.filter(lambda (v,p):p==0).count()

crosstable11=labepreds.filter(lambda (v,p):p==1 and v==1).count() #预测值是1,实际值也是1的样本个数
crosstable10=labepreds.filter(lambda (v,p):p==1 and v==0).count()
crosstable01=labepreds.filter(lambda (v,p):p==0 and v==1).count()
crosstable00=labepreds.filter(lambda (v,p):p==0 and v==0).count()

print ("train err =" + str(trainerro))
print("11:"+ str(crosstable11),"10:"+ str(crosstable10),"01:"+ str(crosstable01),"00:"+ str(crosstable00))

#保存模型
modelage18.save(sc,"target/tmp/LR_age18-24")
sameModel = LogisticRegressionModel.load(sc,"target/tmp/LR_age18-24")

***********************把样本分成训练集和测试集*******************

splits = parsedData.randomSplit((0.7, 0.3))
trainingData = splits[0]
testData = splits[1] #这部分用于测试准确率
model_train = LogisticRegressionWithLBFGS.train(trainingData,regType="l1",intercept=False)

print model_train.weights

labelsAndPreds = testData.map(lambda p: (p.label,model_train.predict(p.features)))
trainErr = labelsAndPreds.filter(lambda (v, p): v != p).count() /float(testData.count())

pyspark 逻辑回归程序的更多相关文章

  1. pyspark dataframe 格式数据输入 做逻辑回归

    该方法好处是可以调节阈值,可调参数比其他形式模型多很多. [参照]http://blog.csdn.net/u013719780/article/details/52277616 [3种模型效果比较: ...

  2. 分布式机器学习:逻辑回归的并行化实现(PySpark)

    1. 梯度计算式导出 我们在博客<统计学习:逻辑回归与交叉熵损失(Pytorch实现)>中提到,设\(w\)为权值(最后一维为偏置),样本总数为\(N\),\(\{(x_i, y_i)\} ...

  3. Logistic Regression逻辑回归

    参考自: http://blog.sina.com.cn/s/blog_74cf26810100ypzf.html http://blog.sina.com.cn/s/blog_64ecfc2f010 ...

  4. ogistic regression (逻辑回归) 概述

    :http://hi.baidu.com/hehehehello/blog/item/0b59cd803bf15ece9023d96e.html#send http://en.wikipedia.or ...

  5. Python实践之(七)逻辑回归(Logistic Regression)

    机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习算法与Pyth ...

  6. Coursera《machine learning》--(6)逻辑回归

    六 逻辑回归(Logistic Regression:LR) 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就是由于这个逻辑函数,使得 ...

  7. 【转】Logistic regression (逻辑回归) 概述

    Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等 ...

  8. 【Machine Learning in Action --5】逻辑回归(LogisticRegression)

    1.概述 Logistic regression(逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性. 在经典之作<数学之美>中也看到了它用于广告预测,也就是根据某广告被 ...

  9. ex2:逻辑回归及正则条件下的练习

    EX2 逻辑回归练习 ​ 假设你是一个大学某系的管理员,你想根据两项考试结果来确定每个申请人的录取机会.你有以前申请人的历史资料以作为逻辑回归的训练集.对于每一个训练集,你拥有每个申请人的两项考试的分 ...

随机推荐

  1. Apached+resin服务搭建

    一.前言 Resin是CAUCHO公司的产品,是一个非常流行的支持servlets 和jsp的引擎,速度非常快.对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言 ...

  2. tomcat -web.xml里的内容

    <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" sh ...

  3. tornado-同步异步下载图片

    同步下载,阻塞 from tornado.httpclient import HTTPClient url = 'http://fafafiajwoachwe.jpeg' client = HTTPC ...

  4. [UGUI]图文混排(六):点击区域

    点击区域可以分成两部分来分析: 0.Rect 搜索api:Rect和Rect.Rect,可以知道: 在GUI和GUILayout中,Rect的原点在左上角,向右为x轴正方向,向下为y轴正方向: 除此之 ...

  5. 学习excel的使用技巧一空格替换为0

    问题1  把excel表格中的空格  填充为0 方法1 选中CDE列    CRTL+F 查找空 替换为0 方法2 选中CDE列 CRTL+G 打开定位  点击条件定位  选择空值 点击确定  然后在 ...

  6. 学python的第二天

    我是一个有一点点c语言基础的大二学生,今天的积累 cd指令=change directory(目录) dir=查看当前目录文件列表 convert   转化   defind  定义 cd ..   ...

  7. spring+mybatis 配置双数据源

    配置好后,发现网上已经做好的了, 不过,跟我的稍有不同, 我这里再拿出来现个丑: properties 文件自不必说,关键是这里的xml: <?xml version="1.0&quo ...

  8. JAVA项目常用异常处理情况

    Java异常处理 网络整理 这里是异常的说明: 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastExce ...

  9. 4. mysql 查看数据库中所有表的记录数

    use information_schema; select table_name,table_rows from tables where TABLE_SCHEMA = 'testdb'  orde ...

  10. java多态和继承

    继承定义:子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 多态定义看了很多,都觉得不够贴切,后来在一个同学的笔记中看到了如下的定义觉得很 ...