Upload 6 files
fd49f32 verified
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
import pickle
# 1. Veri yükleme
df = pd.read_csv("consumer_complaints_100k.csv")
# 2. Sütun adlarını düzelt
df.columns = df.columns.str.strip()
# 3. Gerekli sütunları seç (Boş olmayanlar)
df = df[['Consumer complaint narrative', 'Product']].dropna()
# 4. Giriş ve hedef verileri ayır
X = df['Consumer complaint narrative']
y = df['Product']
# 5. TF-IDF vektörleştirici
vectorizer = TfidfVectorizer(stop_words='english', max_features=5000)
X_vec = vectorizer.fit_transform(X)
# 6. Eğitim / test bölmesi
X_train, X_test, y_train, y_test = train_test_split(X_vec, y, test_size=0.2, random_state=42)
# 7. Model oluştur ve eğit
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
# 8. Performans raporu
y_pred = model.predict(X_test)
print("\nClassification Report:\n")
print(classification_report(y_test, y_pred))
# 9. Model ve vectorizer'ı kaydet
with open("model.pkl", "wb") as f:
pickle.dump((model, vectorizer), f)
print("\n✅ Model başarıyla eğitildi ve 'model.pkl' dosyasına kaydedildi.")
# İlk 100.000 satırı kullanır
# Sütun isimlerini düzeltir
# Eksik verileri temizler
# TF-IDF ile metni sayısallaştırır
# Logistic Regression ile model eğitir
# Modeli ve TF-IDF vektörizerini .pkl dosyasına kaydeder