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

问题描述 投票:0回答:1

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

apache-spark machine-learning pyspark linear-regression lasso-regression
1个回答
1
投票

看一下 https:/spark.apache.orgdocs1.5.2ml-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,则相当于一个 拉索模型. 另一方面,如果 α 设为0,则训练后的模型还原为一个 岭回归模型.

其中:

elasticNetParam 相当于 αregParam 相当于 λ.

© www.soinside.com 2019 - 2024. All rights reserved.