spark-ml 逻辑回归使用记录

本文记录了使用Spark ML进行逻辑回归模型的构建过程,包括处理字符串类型特征、变量标准化、训练与测试数据划分、模型参数分析。在模型评估中遇到F-Measure阈值匹配问题,由于精度问题需要自定义代码实现,最后讨论了不同黑白标签比例下模型的precision和recall,并指出模型参数调优的下一步计划。
摘要由CSDN通过智能技术生成

    最近做项目需要用一下逻辑回归模型,一开始用了spark的基于RDD的mlib,写了一个版本的脚本,后来看官方文档发现mlib目前处于维护状态,主推的还是基于Dataframe的ml,于是重头开始写基于ml的模型脚本,哎,坚强地继续搬砖快哭了

    由于中间有个指标是事件类型,属于字符串类型,需要做单独处理,这里利用自带的StringIndexer函数, 主要是根据事件类型出现频次来确定数值,handleInvalid主要针对以后新出现的事件类型时候的处理方式,有error, skip和keep,具体含义可以参考官方文档的示例

from pyspark.ml.feature import StringIndexer
indexer=StringIndexer(inputCol='eventtype',outputCol='eventtypeIndex',handleInvalid='keep')
indexed=indexer.fit(raw_data).transform(raw_data).select(...)

接下来生成标签和特征向量

from pyspark.ml.linalg import Vectors
data=indexed.rdd.map(lambda x:(int(x[-1]),Vectors.dense(x[:-1]))).toDF(['label','features'])

接下来做变量标准化处理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值