Nome: ___________________________________________
Turma: ____________
Componente: Inteligência Artificial
Unidade Curricular: Projeto de Inteligência Artificial
Tema da Semana: Projeto de Processamento de Linguagem Natural (NLP)
import pandas as pd
dataset = pd.read_csv("IMDBDataset.csv")
print(dataset.head())
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
)
from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
for i, pred in enumerate(predictions[:5]):
print(f"Texto: {dataset['review'].iloc[i]}")
print(f"Previsto: {pred}")
print()
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))
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))
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))