Home › Fóruns › Fórum Processamento de Linguagem Natural com BERT e Python › Matrix de confusão para Bert
Marcado: Bert como tokenizador em classificacao de sentimentos, processamento-linguagem-natural-bert-python
- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 2 anos, 8 meses atrás por Denny Ceccon.
- AutorPosts
- 7 de março de 2022 às 18:24 #33683
Professor, podes por favor detalhar por aqui o codigo para avaliar o nosso modelo Bert como tokenizador com a matrix de confusão e classification_report por favor? Estou tendo algumas dificuldades em encontrar y_test e y_pred.
E por outro, pergunto porque não foi feito a divisão de datas em train e test antes de construir o nosso modelo?
11 de março de 2022 às 20:22 #33709Olá Felix,
1) Você pode recuperar
y_test
a partir dotest_dataset
. Como cada iteração dotest_dataset
retorna um batch de (X, y), nós podemos acumular todos os batches dey
em uma lista, e depois transformá-la em um numpy array.y_true = [] for X, y in test_dataset: y_true.append(y.numpy()) y_true = np.concatenate(y_true)
Para
y_pred
, basta usar o modelo no modo de predição:y_pred = Dcnn.predict(test_dataset) y_pred = y_pred.reshape(-1)
Agora, se você inspecionar
y_test
ey_pred
, vai ver que o primeiro contém 0 e 1, e o segundo contém valores reais no intervalo entre 0 e 1. Isso porquey_pred
retorna a probabilidade de o tweet ser da classe 1. Para converter em 0 e 1, basta fazery_pred = y_pred > 0.5
, ou seja, se a probabilidade retornada pelo modelo for maior que 50%, a resposta final será 1, caso contrário será 0.Aí você pode usar as duas variáveis com as funções que citou.
2) Foi sim, na aula Criação da base de dados por volta de @14:00. O professor usou o dataset de teste na parte de avaliação do modelo.
- AutorPosts
- Você deve fazer login para responder a este tópico.