Ajuda do modelo usando o Scikit-learn ao usar o GridSearch

Como parte do projeto da Enron, construiu o modelo em anexo. Abaixo está o resumo das etapas,

O modelo abaixo fornece pontuações altamente perfeitas
cv = StratifiedShuffleSplit(n_splits = 100, test_size = 0.2, random_state = 42)
gcv = GridSearchCV(pipe, clf_params,cv=cv)

gcv.fit(features,labels) ---> with the full dataset

for train_ind, test_ind in cv.split(features,labels):
    x_train, x_test = features[train_ind], features[test_ind]
    y_train, y_test = labels[train_ind],labels[test_ind]

    gcv.best_estimator_.predict(x_test)
O modelo abaixo fornece pontuações mais razoáveis, mas baixas
cv = StratifiedShuffleSplit(n_splits = 100, test_size = 0.2, random_state = 42)
gcv = GridSearchCV(pipe, clf_params,cv=cv)

gcv.fit(features,labels) ---> with the full dataset

for train_ind, test_ind in cv.split(features,labels):
     x_train, x_test = features[train_ind], features[test_ind]
     y_train, y_test = labels[train_ind],labels[test_ind]

     gcv.best_estimator_.fit(x_train,y_train)
     gcv.best_estimator_.predict(x_test)

Utilizou o Kbest para descobrir as pontuações e classificar os recursos e tentar uma combinação de pontuações mais altas e mais baixas.

Utilizou o SVM com um GridSearch usando um StratifiedShuffle

Utilizou o best_estimator_ para prever e calcular a precisão e recuperação.

O problema é que o estimador está emitindo pontuações perfeitas, em alguns casos 1

Porém, quando eu recoloco o melhor classificador em dados de treinamento, em seguida, faço o teste, obtendo pontuações razoáveis.

Minha dúvida / pergunta foi o que exatamente o GridSearch faz com os dados de teste após a divisão usando o objeto de divisão Shuffle que enviamos a ele. Eu assumi que não caberia nada nos dados do teste, se isso era verdade, quando eu prevejo usar os mesmos dados de teste, não deveria dar a essa pontuação alta corretamente. desde que eu usei o valor random_state, o shufflesplit deveria ter criado a mesma cópia para o ajuste de grade e também para a previsão.

Então, está usando o mesmo Shufflesplit para dois errado?

questionAnswers(2)

yourAnswerToTheQuestion