# 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/` — лишь исторический архив.