Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

KFold

Boa tarde, em primeiro lugar gostaria de parabenizar a didática, o conteúdo e especialmente o professor!! Superou muito as minhas expectativas!

Sou programador, e recentemente comecei a me aventurar em machine learning, no entanto ainda n me sinto muito seguro nos códigos. Pode verificar se estou "comendo alguma bola" nesta implementação do RepeatedKFold?

Meu dataset esta dividido em 6 classes, se não for pedir muito (sei que é kkk), vc poderia dar uma olhada rápida no meu código, e talvez dar alguma sugestão :)

Se n puder tudo bem :) segue o link do github https://github.com/thiagorainmaker77/fakenews_detection/blob/master/code5.ipynb

def build_confusion_matrix(classifier):
  confusion = np.array([[0,0,0,0,0,0], [0,0,0,0,0,0], [0,0,0,0,0,0], [0,0,0,0,0,0], [0,0,0,0,0,0], [0,0,0,0,0,0]])
  scores = []
  kf = RepeatedKFold(n_splits=5, n_repeats=10, random_state=None) 
  for train_index, test_index in kf.split(data_train): 
    train_text = data_train.iloc[train_index]['statement'] 
    train_y = data_train.iloc[train_index]['label']

    test_text = data_train.iloc[test_index]['statement']
    test_y = data_train.iloc[test_index]['label']

    classifier.fit(train_text,train_y)
    predictions = classifier.predict(test_text)
    confusion += confusion_matrix(test_y,predictions)
    score = f1_score(test_y,predictions, average='micro')
    scores.append(score)

  return (print('Score:', sum(scores)/len(scores)))
3 respostas

Olá Thiago, tudo bem?

Você não esta "comendo bola" o método que você está fazendo o treino está correto e a maneira que você está fazendo as predições conforme a matriz de confusão tá show!

solução!

Olá Thiago, tudo bem?

Dei uma olhada no seu código no github. Aparentemente, ele está bem estruturado.

Acho que não tem problema, neste caso, utilizar a média dos scores, já que, por conta do método de validação, é capaz de todos os modelos tenderem a média.

obrigado Yuri Matheus e Elias Ribeiro. Agradeço a pronta resposta