Home › Forums › Fórum Processamento de Linguagem Natural com BERT e Python › Matrix de confusão para Bert
Tagged: Bert como tokenizador em classificacao de sentimentos, processamento-linguagem-natural-bert-python
- This topic has 1 reply, 2 voices, and was last updated 3 years, 1 month ago by
Denny Ceccon.
- AuthorPosts
- 7 de March de 2022 at 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 March de 2022 at 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.
- AuthorPosts
- You must be logged in to reply to this topic.