CIÊNCIA DE DADOS

Roteiro de Atividade Prática



Nome: ___________________________________________

Turma: ____________

Componente: Inteligência Artificial

Unidade Curricular: Projeto de Inteligência Artificial

Tema da Semana: Projeto de Processamento de Linguagem Natural (NLP)

Aula 2: Desenvolvimento do Projeto de NLP

Tarefa

Importar os Dados


import pandas as pd

dataset = pd.read_csv("IMDBDataset.csv")
print(dataset.head())

Divisão de Treinamento e Teste


from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer

dataset.dropna(inplace=True)
dataset['review'] = dataset['review'].str.lower()

vectorizer = CountVectorizer(stop_words='english')
X = vectorizer.fit_transform(dataset['review'])

X_train, X_test, y_train, y_test = train_test_split(
    X,
    dataset['sentiment'],
    test_size=0.2,
    random_state=42
)

Treinamento usando Naive Bayes


from sklearn.naive_bayes import MultinomialNB

model = MultinomialNB()
model.fit(X_train, y_train)

Previsões


predictions = model.predict(X_test)

for i, pred in enumerate(predictions[:5]):
    print(f"Texto: {dataset['review'].iloc[i]}")
    print(f"Previsto: {pred}")
    print()

Avaliação


from sklearn.metrics import accuracy_score, classification_report

accuracy = accuracy_score(y_test, predictions)
print(f"Acurácia: {accuracy:.2f}")

print(classification_report(y_test, predictions))

Implementação do Modelo SVM (Resposta)


from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score, classification_report

svm_model = LinearSVC(random_state=42)
svm_model.fit(X_train, y_train)

svm_predictions = svm_model.predict(X_test)

print("=== RESULTADOS SVM ===")
print("Acurácia:", accuracy_score(y_test, svm_predictions))
print(classification_report(y_test, svm_predictions))

Implementação do Modelo Random Forest (Resposta)


from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report

rf_model = RandomForestClassifier(
    n_estimators=100,
    random_state=42
)

rf_model.fit(X_train, y_train)

rf_predictions = rf_model.predict(X_test)

print("=== RESULTADOS RANDOM FOREST ===")
print("Acurácia:", accuracy_score(y_test, rf_predictions))
print(classification_report(y_test, rf_predictions))