Pyspark 线性回归梯度下降交叉验证知识点详解

 更新时间:2021年12月19日 10:05:20   作者:javaroad  
在本篇内容里小编给大家整理的是一篇关于Pyspark 线性回归梯度下降交叉验证的相关知识点及实例,需要的朋友们可以参考下。

我正在尝试在 pyspark 中的 SGD 模型上执行交叉验证,我正在使用pyspark.mllib.regression,ParamGridBuilder和CrossValidator都来自pyspark.ml.tuning库的LinearRegressionWithSGD。

在 Spark 网站上跟踪文件资料之后,我希望运行此方法可以正常工作

资料参考:https://spark.apache.org/docs/2.1.0/ml-tuning.html

lr = LinearRegressionWithSGD()
pipeline=Pipeline(stages=[lr])

paramGrid = ParamGridBuilder()\
    .addGrid(lr.stepSize, Array(0.1, 0.01))\
    .build()

crossval = CrossValidator(estimator=pipeline,estimatorParamMaps= paramGrid,
                         evaluator=RegressionEvaluator(),
                         numFolds=10)

但是LinearRegressionWithSGD()没有属性stepSize(也没有运气尝试过其他人)。

我可以将 lr 设置为LinearRegression,但是我无法在模型中使用 SGD 并进行交叉验证。

斯卡拉中有kFold方法,但我不确定如何从 pyspark 访问该方法

解决方案

您可以使用LinearRegressionWithSGD中的step参数来定义步长,但由于您正在混合不兼容的库,因此这将使代码无法正常工作。不幸的是,我不知道如何使用SGD优化对ml库进行交叉验证,我想知道自己,但是您正在混合使用pyspark.ml和pyspark.mllib库。具体来说,您不能将LinearRegressionWithSGD与pyspark.ml库一起使用。您必须使用pyspark.ml.regression.LinearRegression。

好消息是您可以将pyspark.ml.regression.LinearRegression的setsolver属性设置为使用'gd'。因此,您可能可以将'gd'优化器的参数设置为以SGD运行,但是我不确定求解器文档在哪里或如何设置求解器属性(例如批大小)。该api显示了调用Param()的LinearRegression对象,但是我不确定它是否使用pyspark.mllib优化器。如果有人知道如何设置求解器属性,则可以通过允许您将Pipeline,ParamGridBuilder和CrossValidation ml软件包用于LinearRegression进行模型选择,并利用SGD优化进行参数调整来回答您的问题。

到此这篇关于Pyspark 线性回归梯度下降交叉验证知识点详解的文章就介绍到这了,更多相关Pyspark 线性回归梯度下降交叉验证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 分享8个非常流行的 Python 可视化工具包

    分享8个非常流行的 Python 可视化工具包

    喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?今天小编给大家分享8个非常流行的 Python 可视化工具包,需要的朋友可以参考下
    2019-06-06
  • python操作数据库获取结果之fetchone和fetchall的区别说明

    python操作数据库获取结果之fetchone和fetchall的区别说明

    这篇文章主要介绍了python操作数据库获取结果之fetchone和fetchall的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python 操作 ElasticSearch的完整代码

    Python 操作 ElasticSearch的完整代码

    python提供了操作ElasticSearch 接口,因此要用python来操作ElasticSearch,这篇文章主要介绍了Python 操作 ElasticSearch,需要的朋友可以参考下
    2019-08-08
  • python tkinter Entry控件的焦点移动操作

    python tkinter Entry控件的焦点移动操作

    这篇文章主要介绍了python tkinter Entry控件的焦点移动操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python的Django框架下管理站点的基本方法

    Python的Django框架下管理站点的基本方法

    这篇文章主要介绍了Python的Django框架下管理站点的基本方法,需是Django站点部署的基础,要的朋友可以参考下
    2015-07-07
  • 简单了解python PEP的一些知识

    简单了解python PEP的一些知识

    这篇文章主要介绍了简单了解python PEP的一些知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python安装库的最详细方法(以安装pygame库为例)

    python安装库的最详细方法(以安装pygame库为例)

    在学习了一个学期的python之后,我决定对pygame下手了,下面这篇文章主要给大家介绍了关于python安装库的最详细方法,本文主要以安装pygame库为例,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • TensorFlow2.4完成Word2vec词嵌入训练方法详解

    TensorFlow2.4完成Word2vec词嵌入训练方法详解

    这篇文章主要为大家介绍了TensorFlow2.4完成Word2vec词嵌入训练方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 分享6个好用到爆的Pycharm插件

    分享6个好用到爆的Pycharm插件

    这篇文章主要介绍了分享6个好用到爆的Pycharm插件,在安装上之后,我们的编程效率、工作效率都能够得到极大地提升,下面分享的内容,需要的小伙伴可以参考一下
    2022-02-02
  • python+opencv 读取文件夹下的所有图像并批量保存ROI的方法

    python+opencv 读取文件夹下的所有图像并批量保存ROI的方法

    今天小编就为大家分享一篇python+opencv 读取文件夹下的所有图像并批量保存ROI的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论