Loops 如何在循环中生成输出名称?

Loops 如何在循环中生成输出名称?,loops,cross-validation,Loops,Cross Validation,我正在对两个模型进行交叉验证: from sklearn.naive_bayes import GaussianNB from sklearn.neighbors import KNeighborsClassifier NBC = GaussianNB() KNN = KNeighborsClassifier(n_neighbors=1, p=2) #Cross validation from sklearn.model_selection import RepeatedStratifie

我正在对两个模型进行交叉验证:

from sklearn.naive_bayes import GaussianNB
from sklearn.neighbors import KNeighborsClassifier

NBC = GaussianNB()
KNN = KNeighborsClassifier(n_neighbors=1, p=2)

#Cross validation

from sklearn.model_selection import RepeatedStratifiedKFold

cv_method = RepeatedStratifiedKFold(n_splits=5,           
                                    n_repeats=3,           
                                    random_state=999)
### hiperparamet set for models:

params_KNN = {'n_neighbors': [1, 2, 3, 4, 5, 6, 7], 'p': [1, 2, 5]}
params_NBC = {'var_smoothing': np.logspace(0,-9, num=100)}

from sklearn.model_selection import GridSearchCV

## Defining the models
from sklearn.model_selection import GridSearchCV

##==============================================================================

gs_KNN = GridSearchCV(estimator=KNeighborsClassifier(), 
                      param_grid=params_KNN, 
                      cv=cv_method,
                      verbose=1,  # verbose: the higher, the more messages
                      scoring='roc_auc', 
                      return_train_score=True)

##==============================================================================

gs_NBC = GridSearchCV(estimator=NBC, 
                     param_grid=params_NBC, 
                     cv=cv_method,
                     verbose=1, 
                     scoring='roc_auc')

##==============================================================================
我想制作循环来定义网格。我真的有更多的模型,制作循环是值得的。我做了如下循环,但我犯了一个错误

from sklearn.model_selection import GridSearchCV

classifiers = [KNN,NBC]
params = [params_KNN,params_NBC]
names = ['gs_KNN','gs_NBC']


for w,t,m in zip(classifiers, params, names):
       GridSearchCV(estimator=w, 
                      param_grid=t, 
                      cv=cv_method,
                      verbose=1,  # verbose: the higher, the more messages
                      scoring='roc_auc', 
                      return_train_score=True)
“但我犯了个错误”——什么错误?发布完整的错误信息/请详细描述错误。“但我犯了一个错误”——什么错误?请发布完整的错误信息/详细描述错误。