spark ml逻辑回归(评分卡模型)

之前做了个基于鸢尾花的逻辑回归模型。本篇做的是使用真实数据的lr模型,遇到的一些问题,解决在此记录。

1 读取数据。因为之前在sklean上做的时候导出了csv文件,所以这里可以简单导入

    这里做的是特征工程后的数据,后面考虑特征工程在spark上的实现。

2 把维度字段都放到features向量中,这里遇到点问题。本身数据为string.要转换成float才能用于向量,以及机器学习模型。

这里我用df.withColumn循环把string类型字段转换为float.(pandas 下的dataframe可以df.astype转换数据类型)

3 设计模型并训练。这里当对于之前的鸢尾花demo,使用了交叉验证,用来找出最优的超参数。这里有2*3=6种不同的超参数组合。

4模型评估。这里除了评估外,还展示了训练完最优的逻辑回归模型的相关参数。


总结:在小数据集上(w级别),sklean比spark ml快一些,spark需要一定的启动时间。在200W数据,20+维度上面,发现spark ml 比sklean在速度上有了一个大的提升。sklean的lr训练时间在30+分钟左右,spark ml的训练时间3分钟左右(spark为单机local模式,虚拟机4核4G内存)

1在公司的spark集群服务器上测试模型运算速度,时间上应该会有一个巨大提升。

2实现下在spark ml做特征工程部分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容