1
resposta

Problema na 'fitagem' do modelo

Olá! Empaquei em uma parte do código que está aparecendo erro de conversão de um dado. Poderia me ajudar?

from sklearn.linear_model import LogisticRegression

regressao_logistica = LogisticRegression()
regressao_logistica.fit(treino, classe_treino)
acuracia = regressao_logistica.score(teste, classe_teste)
print(acuracia)

Erro que aparece:

ValueError                                Traceback (most recent call last)
<ipython-input-20-358239d5da47> in <module>()
      2 
      3 regressao_logistica = LogisticRegression()
----> 4 regressao_logistica.fit(treino, classe_treino)
      5 acuracia = regressao_logistica.score(teste, classe_teste)
      6 print(acuracia)

7 frames
/usr/local/lib/python3.6/dist-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
     83 
     84     """
---> 85     return array(a, dtype, copy=False, order=order)
     86 
     87 

ValueError: could not convert string to float: 'Embora o filme tenha sido apenas assim, o closed caption foi de longe o melhor que eu já vi! Na maioria das vezes, a ortografia é terrível e a legenda está fora de sincronia. Eu uso o closed captioning mesmo que eu possa ouvir bem, mas acho que muitos atores resmungam. Também muitas vezes a trilha sonora substitui o diálogo. Obrigado!'
1 resposta

Os modelos do SkLearn (bem como a maior parte dos algoritmos de classificação) não opera diretamente em cima de strings, sendo necessário fazer um processo de Label Encoding (Representar strings por números) para poder trabalhar.

Ele está chiando porque o modelo espera número e está recebendo string, conforme o erro descreve:

ValueError: could not convert string to float

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