Files
dano2025/README.md
2025-12-16 01:51:05 +03:00

75 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FinalTry.exe — исследование коммуникаций (2025/2026)
## 1. Описание проекта
- Исследовательский репозиторий команды FinalTry.exe.
- Задача: изучить связь между коммуникациями пользователей и их заказами, проверить гипотезы о форме зависимости (тренды, квадратика), посмотреть по категориям.
- Результат: собранная SQLite-база, набор статичных и интерактивных графиков, сравнения по категориям/total.
## 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/` — лишь исторический архив.