Как получить лучшие гиперпараметры из конвейерной модели в pyspark? - PullRequest
0 голосов
/ 11 октября 2018

Я запускаю проблему регрессии, используя 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'

Может кто-нибудь сказать мне, как получить лучшие гиперпараметры из конвейерной модели?

...