CoolFace
Apppublic

Karthikbt/Emotion_Classification_Model

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
train_classifier.py37 linesDownload Raw Back to root
1import pandas as pd2from sklearn.feature_extraction.text import TfidfVectorizer3from sklearn.linear_model import LogisticRegression4from sklearn.metrics import accuracy_score, confusion_matrix, classification_report5from data.preprocess import load_and_preprocess6 7# 1. Load and preprocess data8csv_path = 'data/emotion_dataset.csv'9X_train, X_test, y_train, y_test = load_and_preprocess(csv_path)10 11# 2. Convert text to features12vectorizer = TfidfVectorizer()13X_train_vec = vectorizer.fit_transform(X_train)14X_test_vec = vectorizer.transform(X_test)15 16# 3. Train a classifier17clf = LogisticRegression(max_iter=1000)18clf.fit(X_train_vec, y_train)19 20# 4. Predict and evaluate21y_pred = clf.predict(X_test_vec)22 23print("Accuracy:", accuracy_score(y_test, y_pred))24print("Confusion Matrix:\n", confusion_matrix(y_test, y_pred))25 26# Optional: Print a detailed classification report27label_map = {28    0: "sadness",29    1: "joy",30    2: "love",31    3: "anger",32    4: "fear",33    5: "surprise"34}35print("Classification Report:\n", classification_report(36    y_test, y_pred, target_names=[label_map[i] for i in range(6)]37))