Способ получения параметров, которые я использую в модели классификатора? - PullRequest
0 голосов
/ 20 сентября 2018

Я тренирую модель классификатора, в данном случае Adaboost из sklearn, но я могу тренировать новые.Я пытаюсь сохранить файл журнала с важной информацией о тренировке, такой как классификатор, который я использую, показатели, полученные во время тестирования и т. Д.

Теперь я хотел бы дополнить информацию этого файла журнала, добавивпараметры, используемые в моей модели.Я сделал:

dir(AdaBoostClassifier(algorithm='SAMME.R', base_estimator=None,
      learning_rate=0.001, n_estimators=100, random_state=None))

И, как и ожидалось, я получил список всех атрибутов этого метода:

  ['__abstractmethods__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__',
   '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__',
   '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', 
   '__module__',
   '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
   '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', 
   '__weakref__', '_abc_cache', '_abc_negative_cache', '_abc_negative_cache_version', 
   '_abc_registry', '_boost', '_boost_discrete', '_boost_real', '_estimator_type', 
   '_get_param_names', '_make_estimator', '_validate_X_predict', '_validate_estimator',
   'algorithm', 'base_estimator', 'decision_function', 'estimator_params', 
   'feature_importances_', 'fit', 'get_params', 'learning_rate', 'n_estimators', 
   'predict', 'predict_log_proba', 'predict_proba', 'random_state', 'score', 'set_params',
   'staged_decision_function', 'staged_predict', 'staged_predict_proba', 'staged_score']

То, что я хотел бы иметь в моем файле журнала являются теЯ использую (алгоритм, base_estimator, learning_rate, n_estimators и random__state).Я мог бы сделать это, просто написав

AdaBoostClassifier(algorithm='SAMME.R', base_estimator=None,
      learning_rate=0.001, n_estimators=100, random_state=None).n_estimators

И сделать это для каждого интересующего меня параметра, но эти параметры могут изменяться со временем или если я изменю свою модель.Есть ли способ получить их все одновременно, чтобы я мог сделать что-то вроде:

logging.info('Parameters being used: %s',  AdaBoostClassifier(algorithm='SAMME.R',
    base_estimator=None,
    learning_rate=0.001,
    n_estimators=100,
    random_state=None).parameters)

Где parameters - это строка с используемыми параметрами и ее значениями.Я также пытался использовать атрибут get_params, но он дает мне связанный метод , и я не знаю, что с ним делать или как его использовать, чтобы иметь возможность записать его вмой файл журнала.

...