[英]How to display all logistic regression hyperparameters in Scikit-Learn
这是我在这里的第一个问题:-)
我导入了 Scikit-Learn 提供的逻辑回归 class,然后从中创建了一个 object:
from sklearn.linear_model import LogisticRegression
my_lr = LogisticRegression()
我正在学习的书说,当我检查我的 object 时,我应该看到以下 output:
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, max_iter=100, multiclass='auto', n_jobs=None, penalty='l2', random_state=None, solver='warn', tool=0.0001, verbose=0, warm_start=False)
但是,当我在 Jupyter Notebook 中运行 object 时,我只看到:
LogisticRegression()
即使我自己写下所有超参数...
my_new_lr = LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, max_iter=100, multiclass='auto', n_jobs=None, penalty='l2', random_state=None, solver='warn', tool=0.0001, verbose=0, warm_start=False)
...我只是继续看到这种 output:
LogisticRegression(solver='warn')
这令人失望,因为我希望括号中有很多超参数,以便查看它们的值是如何设置的并熟悉它们。
谢谢您的帮助!
有model.get_params(deep=True)
方法。 因此,这应该为您提供参数集:
print(my_new_lr.get_params())
除了get_params
(由于其他原因也值得了解),至少还有其他两种方法可以获取这些信息。
在 Jupyter 笔记本中,您可以调用?LogisticRegression
来查看整个文档字符串(这也是生成 API 文档页面的原因),其中详细说明了所有参数。
旧版本的sklearn
在打印估算器时默认打印所有参数,因此您的书建议。 您可以使用全局配置恢复该行为,请参阅set_config
或config_context
。
对于 model.get_params() ,您可以使用pprint()
而不是print()
model.get_params()
:
from pprint import pprint
print('Parameters currently in use:\n')
pprint(my_new_lr.get_params())
要首先发现默认超参数,我们需要导入逻辑回归。
from sklearn.linear_model import LogisticRegression
然后要获取默认超参数,您应该调用它,
LogisticRegression().get_params()
然后你可以这样得到output,
{'C': 1.0,
'class_weight': None,
'dual': False,
'fit_intercept': True,
'intercept_scaling': 1,
'l1_ratio': None,
'max_iter': 100,
'multi_class': 'auto',
'n_jobs': None,
'penalty': 'l2',
'random_state': None,
'solver': 'lbfgs',
'tol': 0.0001,
'verbose': 0,
'warm_start': False}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.