/
NeuroEdTech
/
AI-marafon
Обзор
Документация
Войти
/
NeuroEdTech
/
AI-marafon
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/train.py
41 строка
1 KB
Oleg
Add MLP data prep, training and baseline results
25 янв 2026, 15:58
25 янв 2026, 15:58
f381c55
Код
Авторство
О чём код?
import joblib import pandas as pd from sklearn.linear_model import LogisticRegression from sklearn.pipeline import Pipeline from sklearn.metrics import classification_report from .config import PROCESSED_DATA, MODEL_PATH, TEXT_COL, TARGET_COL from .features import build_vectorizer from sklearn.model_selection import train_test_split def load_processed(): df = pd.read_csv(PROCESSED_DATA) df = df.dropna(subset=[TEXT_COL, TARGET_COL]) df = df[df[TEXT_COL].astype(str).str.strip() != ""] return df def build_model(): vectorizer = build_vectorizer() clf = LogisticRegression(max_iter=1000, n_jobs=-1) pipe = Pipeline([ ("tfidf", vectorizer), ("clf", clf), ]) return pipe def train(): df = load_processed() X_train, X_test, y_train, y_test = train_test_split( df[TEXT_COL], df[TARGET_COL], test_size=0.2, random_state=42, stratify=df[TARGET_COL] ) model = build_model() model.fit(X_train, y_train) y_pred = model.predict(X_test) print(classification_report(y_test, y_pred)) MODEL_PATH.parent.mkdir(exist_ok=True, parents=True) joblib.dump(model, MODEL_PATH) if __name__ == "__main__": train()