Я тренирую модель классификатора, в данном случае 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
, но он дает мне связанный метод , и я не знаю, что с ним делать или как его использовать, чтобы иметь возможность записать его вмой файл журнала.