Я запускаю проблему регрессии, используя pyspark.Ниже мой код
from pyspark.ml.classification import LogisticRegression
from pyspark.ml.evaluation import (BinaryClassificationEvaluator,MulticlassClassificationEvaluator)
from pyspark.ml import Pipeline
wine_lr = LogisticRegression(labelCol='label')
pipeline = Pipeline(stages=[wine_lr])
x1 = 'elasticNetParam'
x2 = 'regParam'
paramGrid = ParamGridBuilder() \
.addGrid(getattr(wine_lr,x1), [0.1, 0.01,0.3]) \
.addGrid(getattr(wine_lr,x2),[0.1,0.001,0.2])\
.build()
crossval = CrossValidator(estimator=pipeline,
estimatorParamMaps=paramGrid,
evaluator=MulticlassClassificationEvaluator(),
numFolds=2)
cvModel = crossval.fit(train_data)
best_model = cvModel.bestModel
Я получил best_model после поиска по сетке.Я хочу знать лучшие гиперпараметры из best_model.Я пытался с _java_obj , и он выдает ошибку.
best_reg_param = best_model._java_obj.getRegParam()
AttributeError: 'PipelineModel' object has no attribute '_java_obj'
Может кто-нибудь сказать мне, как получить лучшие гиперпараметры из конвейерной модели?