Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ML на табличных данных: регрессия и классификация

Серия работ по построению и сравнению моделей машинного обучения (нейросети и градиентный бустинг) для задач регрессии и классификации на открытых датасетах (UCI, Kaggle).

Проекты

1. Прогноз спроса на прокат велосипедов (Bike Sharing, UCI)

Регрессия количества аренд велосипедов по часовым данным (hour.csv) — два независимых подхода:

Прямое сравнение показало: для этой задачи градиентный бустинг на порядок точнее MLP-сети сопоставимой сложности.

2. Прогноз оттока/подписки клиентов банка (Bank Marketing, UCI)

Бинарная классификация («подпишется ли клиент на депозит») на bank.csv — тоже два подхода:

Датасет несбалансирован (клиентов, подписавшихся на депозит, меньшинство) — в ноутбуках приведены полный classification report и confusion matrix, а не только accuracy.

3. Диагностика диабета (Pima Indians Diabetes)

Бинарная классификация на diabetes.csv, Keras MLP (32→16→1) — notebooks/diabetes_mlp.ipynb. Train Accuracy 89.90%, Test Accuracy 80.52%, confusion matrix, ROC-кривая.

4. World Happiness — регрессия и классификация (учебный кейс с диагностикой)

notebooks/world_happiness_mlp.ipynb — попытка предсказать индекс счастья (Happiness_Score) и бинарный класс «высокий/низкий» уровень счастья по 21 признаку синтетического датасета, с L2-регуляризацией, Dropout, EarlyStopping и балансировкой классов.

Результат честно неудачный и оставлен как диагностический кейс: регрессия почти не объясняет дисперсию (test R² ≈ −0.07), классификатор коллапсирует в предсказание одного класса (test accuracy ≈ 41%, хуже наивного бейзлайна). Вывод, сделанный в ноутбуке: признаки в этом датасете практически не коррелируют с целевой переменной (похоже на синтетически сгенерированные данные без реальной взаимосвязи) — регуляризация и подбор архитектуры здесь не помогают, если сигнала в данных нет. Показывает умение диагностировать причину неудачи модели, а не только сообщать метрики успеха.

Стек

Python, TensorFlow/Keras, scikit-learn, XGBoost, Pandas, NumPy, Matplotlib/Seaborn — StandardScaler, EarlyStopping, L2-регуляризация, Dropout, ROC/AUC, confusion matrix, classification_report.

Как запустить

pip install -r requirements.txt

Датасеты не включены в репозиторий — скачайте их из открытых источников:

Положите нужный CSV рядом с соответствующим ноутбуком.

About

Регрессия и классификация на табличных данных: Keras MLP, XGBoost, AdaBoost на датасетах UCI/Kaggle

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages