Data Analysis на Python + PySpark (DATA ANALYSIS) – Outline

Детальна програма курсу

Модуль 01: Python для аналізу даних
Тривалість: 2 тижні | Годин: 20
Фундамент курсу. Охоплює базові структури даних Python та ключові бібліотеки для роботи з даними.

Теми:

  • Структури даних: list, dict, set, tuple [Лаб]
  • Функції, lambda, list comprehensions [Лаб]
  • NumPy: масиви, операції, broadcasting [Лаб]
  • Pandas: DataFrame, Series, індексація [Лаб]
  • Читання та запис CSV, JSON, Excel [Лаб]
  • Міні-проект: аналіз реального датасету [Проект]

Модуль 02: Візуалізація даних (EDA)
Тривалість: 1 тиждень | Годин: 10
Методологія розвідувального аналізу даних та ключові бібліотеки візуалізації.
Теми:

  • Matplotlib: графіки, оформлення, subplots [Лаб]
  • Seaborn: теплові карти, pairplot, boxplot [Лаб]
  • Plotly: інтерактивні графіки [Лаб]
  • EDA – методологія та підходи
  • Проект: EDA реального датасету [Проект]

Модуль 03: Статистика для Data Analysis
Тривалість: 1 тиждень | Годин: 10
Математична основа: розподілу, кореляції, перевірка гіпотез.
Теми:

  • Описова статистика: середня, дисперсія, квартилі
  • Розподіл: нормальний, Пуассон, біноміальний [Лаб]
  • Кореляція та коваріація [Лаб]
  • Перевірка гіпотез: t-test, chi-square, ANOVA [Лаб]
  • p-value та довірчі інтервали

Модуль 04: SQL та реляційні бази даних
Тривалість: 1 тиждень | Годин: 10
Робота з реляційними даними через SQL та інтеграція з Python.
Теми:

  • SELECT, WHERE, GROUP BY, HAVING, JOIN [Лаб]
  • Віконні функції: RANK, ROW_NUMBER, LAG/LEAD [Лаб]
  • SQLAlchemy + Pandas: робота з БД з Python [Лаб]
  • PostgreSQL/SQLite: практика на реальних даних [Лаб]

Модуль 05: Введення в Apache Spark та PySpark
Тривалість: 2 тижні | Годин: 25
Ключовий модуль курсу. Архітектура Spark, основні абстракції та робота з великими даними.
Теми:

  • Архітектура Spark: Driver, Executor, DAG
  • RDD vs DataFrame vs Dataset [Лаб]
  • SparkSession, SparkContext — Налаштування оточення [Лаб]
  • Трансформації та дії (lazy evaluation) [Лаб]
  • Читання Parquet, CSV, JSON у PySpark [Лаб]
  • PySpark SQL: createOrReplaceTempView, spark.sql() [Лаб]

Модуль 06: PySpark: найвищий рівень
Тривалість: 2 тижні | Годин: 25
Оптимізація запитів, UDF, потокове оброблення даних.
Теми:

  • Віконні функції: Window, partitionBy, orderBy [Лаб]
  • UDF та Pandas UDF (vectorized) [Лаб]
  • Оптимізація: партиціонування, broadcast join [Лаб]
  • Catalyst Optimizer та Tungsten – як працюють
  • Кешування: persist(), cache(), unpersist() [Лаб]
  • Обробка пропущених значень та дублікатів [Лаб]
  • Spark Streaming: основи потокової обробки [Лаб]

Модуль 07: MLlib - машинне навчання в Spark
Тривалість: 2 тижні | Годин: 20
Розподілене машинне навчання засобами PySpark MLlib і Pipeline API.

Теми:

  • Pipeline API: Transformer, Estimator, Pipeline [Лаб]
  • Класифікація: LogisticRegression, RandomForest [Лаб]
  • Регресія: LinearRegression, GBT [Лаб]
  • Кластеризація: KMeans, BisectingKMeans [Лаб]
  • Feature Engineering: VectorAssembler, StringIndexer [Лаб]
  • Крос-валідація та підбір гіперпараметрів [Лаб]

Модуль 08: Підсумковий проект

Тривалість: 2 тижні | Годин: 20
Самостійний проект реальних даних із застосуванням всього пройденого материала.

Теми:

  • Постановка задачі та збір даних
  • EDA та візуалізація
  • Обробка та трансформація в PySpark
  • Побудова та оцінка ML-моделі через MLlib
  • Оформлення звіту та презентація результатів [Проект]