scikit-learn报”ValueError: Invalid parameter {parameter} for estimator {estimator}. Check the list of available parameters with estimator.get_params().keys(). “的原因以及解决办法

  • Post category:Python

出现”ValueError: Invalid parameter {parameter} for estimator {estimator}. Check the list of available parameters with estimator.get_params().keys(). “的错误,通常是因为指定的机器学习模型参数(estimator)中存在不合法的参数。

举个例子,当我们在使用RandomForestRegressor时,指定了一个不存在的参数,例如:

from sklearn.ensemble import RandomForestRegressor

model = RandomForestRegressor(n_estimators=100, learning_rate=0.1, max_depth=5, invalid_parameter=123)

就会出现以下错误:

ValueError: Invalid parameter invalid_parameter for estimator RandomForestRegressor(). Check the list of available parameters with `estimator.get_params().keys()`.

要解决这个问题,我们可以尝试以下两种方法。

1. 查看模型可选参数

根据错误提示,我们可以尝试使用 get_params() 方法查看模型的可选参数,然后再检查指定的参数是否在可选参数里。

print(model.get_params().keys())

这个方法将输出一个包含模型可选参数的列表,我们可以检查我们指定的参数是否在这个列表中。

2. 移除无效参数

如果我们确定问题是由于存在无效参数引起的,我们可以直接将这个参数从我们的代码中移除,或者使用正确的参数值进行替换。

以上就是关于scikit-learn报 “ValueError: Invalid parameter {parameter} for estimator {estimator}. Check the list of available parameters with estimator.get_params().keys(). “的详细解释和解决方法。