| .ipynb_checkpoints | ||
| .gitignore | ||
| Boston-house-price-data.csv | ||
| README.md | ||
| requirements.txt | ||
| week4_feature_selection.ipynb | ||
| week4_scikit_learn.ipynb | ||
# Feature Selection Project
Описание проекта
Практическая работа по отбору признаков Feature Selection с использованием библиотеки Scikit-learn.
Используемые методы
- SelectFromModel с LassoCV
- Linear Regression (для сравнения качества до и после отбора)
- StandardScaler (масштабирование данных)
Датасеты
-
California Housing Dataset (
fetch_california_housing)- Встроенный датасет scikit-learn
- 20,640 наблюдений, 8 признаков
- Целевая переменная: медианная стоимость дома
-
Boston Housing Dataset (собственный CSV)
- Загружен через
pandas.read_csv() - 506 наблюдений, 13 признаков
- Целевая переменная: MEDV (медианная стоимость дома)
- Загружен через
Структура
week4_scikit_learn.ipynb— базовая нейросеть (MLPClassifier)week4_feature_selection.ipynb— основной ноутбук с Feature SelectionBoston-house-price-data.csv— данные
Результаты
California Housing (8 → 4 признака)
| Модель | R² |
|---|---|
| Linear Regression (все 8) | 0.5758 |
| Linear Regression (отобранные 4) | 0.5706 |
| LassoCV | 0.5767 |
Boston Housing (13 → 7 признаков)
| Модель | R² |
|---|---|
| Linear Regression (все 13) | 0.6688 |
| Linear Regression (отобранные 7) | 0.6727 |
| LassoCV | 0.6684 |
Ключевые выводы
- LassoCV + SelectFromModel успешно сокращают количество признаков без потери качества
- Отбор признаков даже улучшил качество модели на Boston Housing (R² вырос с 0.6688 до 0.6727)
- Геолокация (Latitude/Longitude) и доход (MedInc) — ключевые факторы для California
- Количество комнат (RM) и статус населения (LSTAT) — ключевые факторы для Boston
Запуск
# Установка зависимостей
pip install -r requirements.txt
# Запуск Jupyter Lab
jupyter lab