/
pash1ka
/
question-difficulty-classifier
Обзор
Документация
Войти
/
pash1ka
/
question-difficulty-classifier
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/model.py
36 строк
1 KB
Blinov Pavel
Final project: Question Difficulty Classifier 15/15 ready
07 дек 2025, 16:09
07 дек 2025, 16:09
c285405
Код
Авторство
О чём код?
import pandas as pd from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import joblib from src.features import extract_features def train_model(data_path: str, model_save_path: str = "model.pkl"): df = pd.read_csv(data_path) # Создаем признаки для каждой строки X = df.apply( lambda row: pd.Series( extract_features(row["question"], row["pct_correct"], row["avg_time_sec"]) ), axis=1, ) y = df["difficulty"] # Разделяем данные на обучающую и тестовую выборки X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42 ) # Создаем и обучаем модель model = RandomForestClassifier(n_estimators=100, random_state=42) model.fit(X_train, y_train) # Сохраняем модель joblib.dump(model, model_save_path) # Возвращаем точность на тестовой выборке return accuracy_score(y_test, model.predict(X_test))