繁体   English   中英

Scikit-Learn中如何显示所有逻辑回归超参数

[英]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_configconfig_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM