gadem
This commit is contained in:
79
README.md
79
README.md
@@ -1,9 +1,74 @@
|
||||
# dano2025
|
||||
# FinalTry.exe — исследование коммуникаций (2025/2026)
|
||||
|
||||
dano 2025/2026 solve by FinalTry.exe team
|
||||
## 1. Описание проекта
|
||||
- Исследовательский репозиторий команды FinalTry.exe.
|
||||
- Задача: изучить связь между коммуникациями пользователей и их заказами, проверить гипотезы о форме зависимости (тренды, квадратика), посмотреть по категориям.
|
||||
- Результат: собранная SQLite-база, набор статичных и интерактивных графиков, сравнения по категориям/total.
|
||||
|
||||
## Dataset migrations
|
||||
- Запуск всех миграций: `python migrate.py`
|
||||
- Посмотреть список и статус: `python migrate.py --list`
|
||||
- Принудительно переисполнить уже примененные миграции: `python migrate.py --force`
|
||||
- По умолчанию миграции работают с `dataset/ds.csv` и создают SQLite базу `dataset/ds.sqlite` (таблица `communications`).
|
||||
## 2. Структура репозитория
|
||||
- `dataset/` — исходный CSV (`ds.csv`) и собранный SQLite (`ds.sqlite`, таблица `communications`).
|
||||
- `migrations/` + `migrate.py` — пошаговая сборка данных: CSV → SQLite, правка значений заказов.
|
||||
- `preanalysis/` — утилиты EDA (нормализация, агрегаты по дням и клиентам).
|
||||
- `main_hypot/` — основной пайплайн: подготовка клиентских фичей, облака, тренды, квадратичные регрессии, интерактивные графики.
|
||||
- `new_divided_scatters.py` — интерактивные облака для активных/пассивных/общих показов.
|
||||
- `old_data/` — архивный подвал с ранними скриптами/данными; не входит в основной пайплайн, оставлен для истории и воспроизводимости.
|
||||
|
||||
## 3. Подготовка данных
|
||||
```bash
|
||||
# 1) положите исходник
|
||||
dataset/ds.csv
|
||||
|
||||
# 2) соберите SQLite
|
||||
python migrate.py
|
||||
# или вручную:
|
||||
python migrations/0001_csv_to_sqlite.py
|
||||
python migrations/0002_cap_orders_to_one.py
|
||||
```
|
||||
Итог: `dataset/ds.sqlite` с таблицей `communications`.
|
||||
|
||||
## 4. Установка зависимостей
|
||||
Обязательные пакеты:
|
||||
- pandas
|
||||
- numpy
|
||||
- scipy
|
||||
- statsmodels
|
||||
- scikit-learn
|
||||
- matplotlib
|
||||
- seaborn
|
||||
- altair
|
||||
- vl-convert-python *(для сохранения Altair в HTML; альтернатива — `altair_saver` + установленный node)*
|
||||
|
||||
## 5. Запуск и работа
|
||||
- Миграции:
|
||||
```bash
|
||||
python migrate.py # прогнать все шаги
|
||||
python migrate.py --list # посмотреть статус
|
||||
```
|
||||
- Базовые облака и тренды (PNG):
|
||||
```bash
|
||||
python main_hypot/best_model_and_plots.py
|
||||
```
|
||||
Результаты: `main_hypot/orders_amt_total/`.
|
||||
- Общая квадратичная регрессия (PNG):
|
||||
```bash
|
||||
python main_hypot/quadreg.py
|
||||
```
|
||||
Результаты: `main_hypot/orders_amt_total/`.
|
||||
- Категорийные корреляции и квадратика (PNG):
|
||||
```bash
|
||||
python main_hypot/category_quadreg.py
|
||||
```
|
||||
Результаты: `main_hypot/category_analysis/`.
|
||||
- Интерактивные графики Altair (HTML):
|
||||
```bash
|
||||
python main_hypot/new_plots.py
|
||||
python new_divided_scatters.py
|
||||
```
|
||||
Результаты: `main_hypot/new_plots/` и `new_plots/final_result/`.
|
||||
|
||||
## 6. Примечания
|
||||
- Все скрипты опираются на структуру `dataset/ds.sqlite`; без миграций данные не загрузятся.
|
||||
- Если в `ds.csv` нет ожидаемых колонок или файл пустой, миграции упадут.
|
||||
- Altair требует `vl-convert-python` (или node + altair_saver) для `Chart.save`.
|
||||
- Савицкий–Голай окна по умолчанию большие (≈501); на малых выборках стоит снижать окно, иначе будет ошибка.
|
||||
- Проект исследовательский: код может быть не оптимизирован под продакшн, а `old_data/` — лишь исторический архив.
|
||||
|
||||
Reference in New Issue
Block a user