Объединение kfold и gridsearchCV в одной команде? - PullRequest
0 голосов
/ 06 мая 2019

Можно ли использовать KFold и GridsearchCV вместе или это может привести к перегонке?

Я пытался использовать KFold и GridsearchCV как независимо (по очереди), так и в комбинации (в одной командной строке), ноне знаю, имеет ли это какое-то значение для моей матрицы путаницы, поскольку возвращает только TP и FP с обоими подходами.Там не было никакой разницы в матрице путаницы.Кроме того, уточнение параметров не привело к изменениям, за исключением перемещения TP и FP в TN и FN с одинаковыми назначенными номерами.

from sklearn import datasets, svm
from sklearn.metrics import roc_auc_score

kf = KFold(n_splits=10, shuffle=False, random_state=None)
parameter_grid = [
  {'C': [0.1, 1, 10, 50], 'kernel':['linear'],
   'gamma': [0.0001, 0.001, 0.01, 0.1, 1], 
   'class_weight': ['balanced', {1:2}, {1:3}, {1:4}, {1:5}]
  },
  {'C': [0.1, 1, 10, 50], 'kernel':['rbf'],
   'gamma': [0.0001, 0.001, 0.01, 0.1, 1], 
   'class_weight': ['balanced', {1:2}, {1:3}, {1:4}, {1:5}]
  }
]

# Generate an accuracy object with the classifier and grid parameters.
clf_stand_acc = GridSearchCV(clf_svc, 
                             param_grid = parameter_grid, 
                             cv=kf,
                             n_jobs = -1)

clf_stand_acc.fit(X_train_std, y_train) 
y_predict_acc = clf_stand_acc.predict(X_test)

# Generate an auc object with the classifier and grid parameters.
clf_stand_auc = GridSearchCV(clf_svc, 
                             param_grid = parameter_grid, 
                             cv=kf, 
                             n_jobs = -1, 
                             scoring = 'roc_auc')

clf_stand_auc.fit(X_train_std, y_train) 
y_predict_auc = clf_stand_auc.predict(X_test)



Я получил следующее:

Количество экземпляров для обучения:456 Количество тестов: 114 Точность SVC-поезда 0,63158 Точность SVC-теста 0,67544 Точность отзыва. Поддержка f1-баллов

      0       0.00      0.00      0.00        37
      1       0.68      1.00      0.81        77

в среднем / всего 0,46 0,68 0,54 114

[[0 37] [0 77]]

Я ожидал что-то вроде следующего:

Количество экземпляров для обучения: 456 Количество тестов: 114 Точность SVC-поезда 0,79158 Точность теста SVC 0,77544 Точность отзыва f1-счетподдержка

      0       0.00      0.00      0.00        37
      1       0.68      1.00      0.89        77

в среднем / 0,59 0,68 0,74 114

[[35 2] [1 76]]

...