Skip to content

SENATOROVAI/data_engineering_instagram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Анализ пользовательской активности в Instagram

1.Описание проекта

Проект представляет собой пайплайн для анализа синтетических данных, имитирующих поведение пользователей Instagram.

Реализован полный цикл работы с данными:

  • Extract
  • Transform
  • Load
  • Exploratory Data Analysis (EDA)
  • Визуализация результатов через Streamlit

2.Датасет

Используется синтетический датасет с Kaggle:

Social Media User Behavior & Lifestyle – Instagram

Ссылка на датасет:
https://drive.google.com/file/d/1HvdWy3m5SS66i3AV5V0k1Osu3RkKTbaV/view?usp=sharing

Файл для работы:

instagram_usage_lifestyle.csv

3. Цель проекта

Цель проекта — построить воспроизводимый ETL-пайплайн и провести анализ синтетических данных, описывающих поведение пользователей Instagram.

Основные задачи:

  • извлечение и очистка данных;
  • преобразование и агрегация признаков;
  • исследовательский анализ данных;
  • визуализация результатов.

4. Структура проекта

data/
  raw/                 # исходные данные (не хранятся в git)
  processed/           # обработанные данные (не хранятся в git)

experiments/
  eda.ipynb            # исследовательский анализ данных

src/
  etl/
    extract.py         # загрузка данных
    transform.py       # очистка и преобразование данных
    load.py            # сохранение обработанных данных
    pipeline.py        # объединение ETL-этапов
  cli.py               # CLI-интерфейс запуска ETL

streamlit_app/
  app.py               # Streamlit-приложение

requirements.txt
README.md

5. ETL-пайплайн

5.1 Extract

Загрузка исходного CSV-файла с проверкой структуры данных.

5.2 Transform

  • приведение типов данных;
  • обработка пропущенных значений;
  • расчёт агрегированных показателей активности.

5.3 Load

Сохранение обработанных данных в форматах:

  • CSV
  • Parquet

6. Exploratory Data Analysis (EDA)

EDA выполнен в Jupyter Notebook и включает:

  • первичный обзор данных;
  • анализ распределений ключевых метрик;
  • корреляционный анализ;
  • простую сегментацию пользователей по уровню активности.

Файл:

experiments/eda.ipynb

7. Визуализация (Streamlit)

Реализовано интерактивное Streamlit-приложение, позволяющее:

  • фильтровать пользователей по уровню активности;
  • анализировать распределение времени использования Instagram;
  • просматривать срезы данных.

8. Установка и запуск

8.1 Установка зависимостей

pip install -r requirements.txt

8.2 Запуск ETL-пайплайна

python -m src.cli \
  --input data/raw/instagram_usage_lifestyle.csv \
  --output data/processed

8.3 Запуск EDA

jupyter notebook experiments/eda.ipynb

8.4 Запуск Streamlit-приложения

streamlit run streamlit_app/app.py

9. Используемые технологии

  • Python 3.11
  • pandas
  • numpy
  • matplotlib / seaborn
  • Streamlit
  • Parquet (pyarrow)

10. Примечания

  • Все данные являются синтетическими.
  • Проект ориентирован на демонстрацию Data Engineering-подхода, а не на ML-моделирование.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •