python sklearn获取模型的可用超参数列表

the*_*ter 2 python oop python-3.x scikit-learn

我正在使用带有sklearn的python,并希望获得模型的可用超参数列表,如何做到这一点?谢谢

这需要在我初始化模型之前,当我尝试使用时发生

model.get_params() 
Run Code Online (Sandbox Code Playgroud)

我明白了

TypeError:get_params()缺少1个必需的位置参数:'self'

sud*_*udo 5

这应该这样做:模型的名称estimator.get_params()在哪里estimator.

要在模型上使用它,您可以执行以下操作:

reg = RandomForestRegressor()
params = reg.get_params()
# do something...
reg.set_params(params)
reg.fit(X,  y)
Run Code Online (Sandbox Code Playgroud)

编辑:

要在实例化类之前获取模型超参数:

import inspect
import sklearn

models = [sklearn.ensemble.RandomForestRegressor, sklearn.linear_model.LinearRegression]

for m in models:
    hyperparams = inspect.getargspec(m.__init__).args
    print(hyperparams) # Do something with them here
Run Code Online (Sandbox Code Playgroud)

模型超参数传递给构造函数,sklearn因此我们可以使用inspect模型来查看可用的构造函数参数,从而查看超参数.您可能需要过滤掉一些不是特定于模型的参数,例如selfn_jobs.