commited on
Commit
73af081
·
verified ·
1 Parent(s): 766f285

Upload 4 files

Browse files
Files changed (4) hide show
  1. README.md +65 -1
  2. app.py +33 -0
  3. ridge_model.pkl +3 -0
  4. tfidf_vectorizer.pkl +3 -0
README.md CHANGED
@@ -1,3 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
- license: mit
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 📝 Feedback Prize - English Language Learning (Basitleştirilmiş Versiyon)
2
+
3
+ Bu proje, Kaggle'daki "Feedback Prize - English Language Learning" yarışmasına basitleştirilmiş bir çözüm sunar. Öğrenci kompozisyonlarından 6 dil becerisi tahmin edilir:
4
+
5
+ - Cohesion
6
+ - Syntax
7
+ - Vocabulary
8
+ - Phraseology
9
+ - Grammar
10
+ - Conventions
11
+
12
  ---
13
+
14
+ ## 📁 Kullanılan Veri Seti
15
+
16
+ - `train.csv`: Öğrenci yazıları ve puanlar
17
+ - `test.csv`: Tahmin yapılacak yazılar
18
+ - `sample_submission.csv`: Örnek çıktı formatı
19
+
20
+ Veriler [Kaggle yarışma sayfasından](https://www.kaggle.com/competitions/feedback-prize-english-language-learning/data) indirilebilir.
21
+
22
  ---
23
+
24
+ ## 🔧 Kullanılan Yöntemler
25
+
26
+ - **TF-IDF** ile metin vektörleştirme
27
+ - **Ridge Regression** ile çoklu puan tahmini
28
+ - `MultiOutputRegressor` ile 6 hedefin aynı anda öğrenilmesi
29
+ - Basit ve etkili yaklaşım (RMSE ≈ 0.56)
30
+
31
+ ---
32
+
33
+ ## 💻 Streamlit Uygulaması
34
+
35
+ ```bash
36
+ streamlit run app.py
37
+
38
+ 📦 Kurulum
39
+
40
+ pip install -r requirements.txt
41
+
42
+
43
+
44
+ 🧠 Model ve Vektörleştirici
45
+ ridge_model.pkl: Eğitilmiş regresyon modeli
46
+
47
+ tfidf_vectorizer.pkl: TF-IDF ile kelime temsilleri
48
+
49
+
50
+ 📤 Kaggle Submission
51
+ Model, test.csv üzerinde tahmin yaparak submission.csv dosyasını üretir. Bu dosya doğrudan Kaggle'a yüklenebilir.📌 Geliştirilebilirlik
52
+ Daha güçlü NLP modelleri (BERT, DeBERTa)
53
+
54
+ Ensemble yaklaşımlar
55
+
56
+ Tokenizer bazlı embedding’ler
57
+
58
+ LSTM/Transformer tabanlı derin modeller
59
+
60
+
61
+
62
+ 🧑‍🎓 Amaç
63
+ Bu proje, gerçek bir yarışmanın sadeleştirilmiş bir çözümünü anlamak, NLP modelleme sürecini öğrenmek ve üretilebilir bir prototip oluşturmak amacıyla geliştirilmiştir.
64
+
65
+
66
+ 🏷️ Lisans
67
+ MIT License
app.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app.py
2
+ import streamlit as st
3
+ import pandas as pd
4
+ import numpy as np
5
+ import joblib
6
+ from sklearn.feature_extraction.text import TfidfVectorizer
7
+ from sklearn.linear_model import Ridge
8
+ from sklearn.multioutput import MultiOutputRegressor
9
+
10
+ # Başlık
11
+ st.title("📝 English Essay Skill Predictor")
12
+ st.markdown("Yazınızı girin, 6 dil puanını tahmin edelim (cohesion, syntax, etc.)")
13
+
14
+ # Kullanıcıdan metin al
15
+ user_text = st.text_area("✍️ Kompozisyonunuzu buraya yazın", height=250)
16
+
17
+ # Model ve TF-IDF yükleme (önceden eğitilmiş)
18
+ model = joblib.load("ridge_model.pkl")
19
+ tfidf = joblib.load("tfidf_vectorizer.pkl")
20
+
21
+ # Tahmin butonu
22
+ if st.button("📊 Tahmin Et"):
23
+ if user_text.strip() == "":
24
+ st.warning("Lütfen bir yazı girin.")
25
+ else:
26
+ # Vektörleştir
27
+ text_vec = tfidf.transform([user_text])
28
+ preds = model.predict(text_vec)[0]
29
+
30
+ # Sonuçları göster
31
+ labels = ['Cohesion', 'Syntax', 'Vocabulary', 'Phraseology', 'Grammar', 'Conventions']
32
+ for label, score in zip(labels, preds):
33
+ st.write(f"**{label}**: {round(score, 2)} / 5")
ridge_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:68c068bc0a684d581f4c350662cca089f2b7126a79c2ede0412fe075778b6743
3
+ size 481432
tfidf_vectorizer.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa30b4afda71944c53a5f76c65fea2c987763fbf43bb796f22ba328e5a5dce07
3
+ size 371125