我想使用 set_params() 设置 SVC 的参数,如以下示例代码所示。
from sklearn.svm import SVC
params = {'C': [.1, 1, 10]}
for k, v in params.items():
for val in v:
clf = SVC().set_params(k=val)
print(clf)
print()
如果我运行代码,我会收到以下错误:
ValueError: Invalid parameter k for estimator SVC
如何将 key 正确地放入 set_params()?
最佳答案
问题实际上是如何使用字符串作为关键字参数。您可以使用 **
语法构造一个参数字典并将其传递给 set_params
。
from sklearn.svm import SVC
params = {'C': [.1, 1, 10]}
for k, v in params.items():
for val in v:
clf = SVC().set_params(**{k: val})
print(clf)
print()
输出:
SVC(C=0.1, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0,
kernel='rbf', max_iter=-1, probability=False, random_state=None,
shrinking=True, tol=0.001, verbose=False)
SVC(C=1, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0,
kernel='rbf', max_iter=-1, probability=False, random_state=None,
shrinking=True, tol=0.001, verbose=False)
SVC(C=10, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0,
kernel='rbf', max_iter=-1, probability=False, random_state=None,
shrinking=True, tol=0.001, verbose=False)
关于python - Scikit set_params(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32965188/