Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Acurácia diminuiu depois de rodar as stopwords

Professor, meu modelo na 1 vez estava dando 0.66890, e depois de rodar a parte das stopwords ele caiu para 0.6640. O que pode ter ocorrido?

Outra dúvida, quando usamos o código abaixo

classificar_texto(resenha, "tratamento_1", "classificacao")

dentro da função estamos usando o bag_of_words 1, defindo lá atrás como resenha.text_pt

bag_of_words = vetorizar.fit_transform(resenha.text_pt)

não teriamos que refazer o BOF para tratamento_1?

bag_of_words = vetorizar.fit_transform(resenha.tratamento_1)
1 resposta
solução!

Olá Carlos, tudo bem?

Bom primeiro em relação aos valores de acurácia depois de removido os Stopwords.

Esta diferença de resultado é relativamente pequena, quando você cria um modelo de ML existe um fator de aleatóriedade associado, caso vc não set um SEED que irá fazer seu modelo gerar sempre o mesmo resultado, existe um intervalo (mesmo que pequeno) de variação nas predições devido a esta aleatoriedade (por exemplo a acurácia de predição será de 0.66000 - 0.67000). Essa pequena diferença de resultado pode ter ocorrido devido a este fator, visto que neste nosso exemplo remover os stopwords não gera grandes impactos no resultado final.

Em relação a segunda parte da sua dúvida!

Se você analisar a função classifica_texto você vai ver que criamos o BOW quando chamamos a função:

bag_of_words = vetorizar.fit_transform(texto[coluna_texto])

Então quando passamos a coluna tratamento_1 para a função classifica texto, estamos criando o BOW com os dados tratados!

Bons estudos, abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software