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

MemoryError

Estou usando o PyCharm para fazer o curso (utilizando o processamento da minha máquina). Quando eu tento gerar o WordCloud, ele me retorna um erro de memória (provavelmente pela quantidade de dados), como poderia arrumar isso? Obrigado desde já

resenha = pd.read_csv("imdb-reviews-pt-br.csv")

classificacao = resenha["sentiment"].replace(["neg", "pos"], [0, 1])
resenha["classificacao"] = classificacao


def classificar_texto(texto, coluna_texto, coluna_classificacao):

    vetorizar = CountVectorizer(lowercase=False, max_features=50)
    bag_of_words = vetorizar.fit_transform(texto[coluna_texto])
    treino, teste, classe_treino, classe_teste = train_test_split(bag_of_words,
                                                                  texto[coluna_classificacao],
                                                                  random_state=42)

    regressao_logistica = LogisticRegression(solver='lbfgs')
    regressao_logistica.fit(treino, classe_treino)
    return regressao_logistica.score(teste, classe_teste) * 100


todas_palavras = ' '.join([texto for texto in resenha.text_pt])
nuvem_palavras = WordCloud().generate(todas_palavras)

plt.figure()
plt.imshow(nuvem_palavras)
plt.show()

Erro:

Traceback (most recent call last):
  File "C:/Users/giova/PycharmProjects/cursoPython/MachineLearningClassificarTextos/classificarTexto.py", line 29, in <module>
    nuvem_palavras = WordCloud().generate(todas_palavras)
  File "C:\Users\giova\Envs\ppe\lib\site-packages\wordcloud\wordcloud.py", line 605, in generate
    return self.generate_from_text(text)
  File "C:\Users\giova\Envs\ppe\lib\site-packages\wordcloud\wordcloud.py", line 586, in generate_from_text
    words = self.process_text(text)
  File "C:\Users\giova\Envs\ppe\lib\site-packages\wordcloud\wordcloud.py", line 563, in process_text
    word_counts = unigrams_and_bigrams(words, self.normalize_plurals)
  File "C:\Users\giova\Envs\ppe\lib\site-packages\wordcloud\tokenization.py", line 47, in unigrams_and_bigrams
    normalize_plurals=normalize_plurals)
  File "C:\Users\giova\Envs\ppe\lib\site-packages\wordcloud\tokenization.py", line 107, in process_tokens
    case_dict = d[word_lower]
MemoryError
1 resposta
solução!

Oi Giovani!!

Testei o código no Colab e no Pycharm e tudo pareceu rodar corretamente por aqui. Dei uma pesquisada e acho que seu problema pode estar relacionado ao processador da máquina mesmo.

Onde você está rodando o seu código? Se for por uma máquina virtual ou alguma máquina com pouca memória RAM, talvez seja esse o problema. Se for o caso, recomendo continuar realizando o curso pelo Colab mesmo.

Caso queira testar todos os casos lado a lado, você pode baixar o projeto da aula 3 e verificar se os trechos estão funcionando.

Espero ter conseguido ter ajudado!! Caso ainda assim não funcione, me avise e compartilhe todo o seu código para que eu possa dar uma olhada melhor. Muito sucesso e bons estudos!!