【问题标题】:How can I import Elastic-Net, Lasso and Ridge regression in Pyspark?如何在 Pyspark 中导入 Elastic-Net、Lasso 和 Ridge 回归?
【发布时间】:2020-09-19 13:40:43
【问题描述】:

您能否告诉我如何在 Pyspark 中使用 Elastic-Net、Lasso 和 Ridge 回归?实际上,我根据机器学习备忘单选择了 Linear、Elastic-Net、Lasso 和 Ridge 回归这 4 种算法。但是,我不知道如何在 Pyspark 中导入 Elastic-Net、Lasso 和 Ridge 回归,也无法在谷歌上找到正确的答案。我只知道在Pyspark 中使用线性回归。

【问题讨论】:

    标签: machine-learning pyspark linear-regression apache-spark-ml lasso-regression


    【解决方案1】:

    看看https://spark.apache.org/docs/1.5.2/ml-linear-methods.html

    你可以使用类似的东西:

    from pyspark.ml.regression import LinearRegression
    from pyspark.mllib.regression import LabeledPoint
    from pyspark.mllib.util import MLUtils
    
    # Load training data
    training = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_libsvm_data.txt").toDF()
    
    lr = LinearRegression(maxIter=10, regParam=0.3, elasticNetParam=0.8)
    
    # Fit the model
    lrModel = lr.fit(training)
    
    # Print the weights and intercept for linear regression
    print("Weights: " + str(lrModel.weights))
    print("Intercept: " + str(lrModel.intercept))
    
    

    如果您阅读设置,您会发现:

    通过正确设置α,弹性网络包含L1和L2正则化作为特例。例如,如果在弹性网络参数α 设置为 1 的情况下训练线性回归模型,则它等效于 Lasso 模型。另一方面,如果 α 设置为 0,则经过训练的模型会简化为 岭回归模型

    地点:

    elasticNetParam 对应于αregParam 对应于λ

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-30
      • 2021-02-07
      • 2016-10-02
      • 2013-11-30
      • 2019-01-25
      • 1970-01-01
      • 2019-12-14
      • 2021-01-16
      相关资源
      最近更新 更多