1
resposta

[Projeto] criando uma função para classificação de sentimentos

import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

1. Carregar os dados

url = "https://raw.githubusercontent.com/alura-cursos/nlp_analise_sentimento/refs/heads/main/Dados/dataset_avaliacoes.csv"
df = pd.read_csv(url)

2. Função para classificar texto

def classificar_texto(texto, coluna_texto, coluna_classificacao):
vetorizar = CountVectorizer(lowercase=False, max_features=50)
bag_of_words = vetorizar.fit_transform(texto[coluna_texto])

X_treino, X_teste, y_treino, y_teste = train_test_split(
    bag_of_words,
    texto[coluna_classificacao],
    random_state=4978
)

regressao_logistica = LogisticRegression(max_iter=1000)
regressao_logistica.fit(X_treino, y_treino)

acuracia = regressao_logistica.score(X_teste, y_teste)
return acuracia

3. Executar a função

acuracia_modelo = classificar_texto(df, "avaliacao", "sentimento")

4. Exibir resultado

print(f"Acurácia do modelo com 'avaliacao': {acuracia_modelo * 100:.2f}%")

1 resposta

Olá, Moacir! Como vai?

Parabéns pela resolução das atividades!

E para compartilhar códigos de maneira ainda mais organizada aqui no fórum, você pode utilizar a opção abaixo:

Opção inserir bloco de código, da caixa de perguntas do fórum da alura

Após clicar, irá aparecer uma estrutura da seguinte maneira:

Opção de bloco de código sendo illustrada
O resultado será o seguinte:

Copie o seu código aqui

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!