我如何评估GridSearchCV获得的所有组合



通过使用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中的函数参数传递?

最新更新