如何在 Pyspark 中导入 Elastic-Net、Lasso 和 Ridge 回归?

Lia*_*iam 1 machine-learning lasso-regression linear-regression pyspark apache-spark-ml

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

Nap*_*rty 5

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

\n\n

你可以使用类似的东西:

\n\n
from pyspark.ml.regression import LinearRegression\nfrom pyspark.mllib.regression import LabeledPoint\nfrom pyspark.mllib.util import MLUtils\n\n# Load training data\ntraining = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_libsvm_data.txt").toDF()\n\nlr = LinearRegression(maxIter=10, regParam=0.3, elasticNetParam=0.8)\n\n# Fit the model\nlrModel = lr.fit(training)\n\n# Print the weights and intercept for linear regression\nprint("Weights: " + str(lrModel.weights))\nprint("Intercept: " + str(lrModel.intercept))\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
\n

通过\xce\xb1适当的设置,弹性网络同时包含L1和L2正则化作为特殊情况。例如,如果使用弹性网络参数设置\xce\xb1为1来训练线性回归模型,则它相当于Lasso模型。另一方面,如果\xce\xb1设置为0,则训练模型简化为岭回归模型

\n
\n\n

在哪里:

\n\n
\n

elasticNetParam对应于\xce\xb1regParam对应于\xce\xbb.

\n
\n