通过使用GridSearchCV,我可以获得Clf.cv_results _ ['params'],我想在所有可能的组合上运行并打印一些概率:
for params in zip(clf.cv_results_['params']):
print(params)
clf= SVC(params)
clf.fit(X_train, y_train)
z_test=clf.predict(X_test)
print("Probability 1:", prob_error(y_test,z_test))
print("Probability 2:", average_error(y_test,z_test))
但是,在参数中,我得到了:
({'C': 1000, 'gamma': 1000, 'tol': 2},)
我该如何改变它以实现算法的拟合度?因为此代码在" clf.fit(x_train,y_train)"中有错误:
TypeError: must be real number, not tuple
为什么在clf.cv_results_['params']
上使用zip。删除它,然后像下面的那样做:
for params in clf.cv_results_['params']:
print(params)
clf= SVC(**params)
clf.fit(X_train, y_train)
z_test=clf.predict(X_test)
print("Probability 1:", prob_error(y_test,z_test))
print("Probability 2:", average_error(y_test,z_test))
有关更多详细信息,请参阅此信息:
- 如何将字典项目作为python中的函数参数传递?