Upload 6 files
4db119a verified
# app.py
import streamlit as st
import pandas as pd
import numpy as np
import joblib
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import Ridge
from sklearn.multioutput import MultiOutputRegressor
# Başlık
st.title("📝 English Essay Skill Predictor")
st.markdown("Yazınızı girin, 6 dil puanını tahmin edelim (cohesion, syntax, etc.)")
# Kullanıcıdan metin al
user_text = st.text_area("✍️ Kompozisyonunuzu buraya yazın", height=250)
# Model ve TF-IDF yükleme (önceden eğitilmiş)
model = joblib.load("ridge_model.pkl")
tfidf = joblib.load("tfidf_vectorizer.pkl")
# Tahmin butonu
if st.button("📊 Tahmin Et"):
if user_text.strip() == "":
st.warning("Lütfen bir yazı girin.")
else:
# Vektörleştir
text_vec = tfidf.transform([user_text])
preds = model.predict(text_vec)[0]
# Sonuçları göster
labels = ['Cohesion', 'Syntax', 'Vocabulary', 'Phraseology', 'Grammar', 'Conventions']
for label, score in zip(labels, preds):
st.write(f"**{label}**: {round(score, 2)} / 5")