请你告诉我如何在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
.
看一下 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
相当于λ
.