1. Основы языка программирования Python
Особенности языка Python, области применения Python, философия Python ("The Zen of Python"), среда исполнения Python, начало работы с Python, физические строки, логические строки и блоки кода Python, управление потоком команд. Типизация в Python, основные типы данных: NoneType, логический, числовой, строковый типы, коллекции, инициализация переменных, изменяемые и неизменяемые типы, преобразование типов, строки и байтовые последовательности, форматирование строк, срезы (slices), интернирование строк. Функции в Python, анонимные функции и лямбда-выражения, глобальные, нелокальные и локальные переменные, переопределение глобальных переменных, модули, подключение модулей, пакеты, создание пакетов, импорт функций и модулей из пакетов.
2. Научные вычисления в Python
Библиотека NumPy, массив NumPy (ndarray), представления массивов, создание массивов и представлений, копирование массивов, структурированные массивы, типы элементов массива, форма массива, итерирование массивов, страйды массива, изменение формы и страйдов, индексирование и срезы (slices) массива, fancy indexing, функция where.
Операции над массивами, конкатенация, разбиение и дублирование массивов, арифметические операции с массивами, broadcasting, универсальные функции (ufunc), векторно-матричные операции, математические и статистические методы массивов, методы линейной алгебры, модуль linalg, матрицы NumPy, классы matrix и ndarray, генерация случайных массивов, модуль random, загрузка и сохранение массивов в файл.
Библиотека Pandas, работа с табличными данными в формате .csv и .xlsx, структура данных Series и DataFrame, создание объектов Series и DataFrame, копирование и изменение данных, типы данных в Pandas, методы и атрибуты объектов Series и DataFrame, индексирование и выбор данных, фильтрация и срезы данных, работа с пропущенными значениями, методы fillna и dropna.
Операции над данными, конкатенация, объединение и разделение DataFrame, агрегирование данных, группировка с помощью функции groupby, сводные таблицы (pivot tables), операции merge и join для объединения данных, сортировка и ранжирование данных, методы sort_values и rank, математические и статистические операции с данными, методы describe, mean, median и т.д.
Визуализация данных, интеграция табличных данных с библиотекой Matplotlib, построение графиков и диаграмм. Работа с временными рядами, обработка дат и времени, методы to_datetime и resample. Загрузка и сохранение данных в различные форматы, чтение и запись CSV, Excel, SQL, HDF5 и других форматов, методы read_csv, to_csv, read_excel, to_excel и т.д.
Модуль scipy.ndimage для обработки изображений, фильтрация, морфологические операции, измерение характеристик изображений, функции для сглаживания, измерения объектов и др. Загрузка и сохранение данных, поддержка различных форматов данных, интеграция с библиотеками NumPy и Pandas, работа с научными и инженерными данными.
3. Элементы теории вероятности и математической статистики
Случайное событие. Вероятность. Распределения вероятностей. Математическое ожидание. Дисперсия. Корреляция. Распределения. Точечные оценки. Ошибки первого и второго рода. Доверительные интервалы. Статистические гипотезы. Условная вероятность. Независимые события. Формула Байеса. Доверительный интервал.
Библиотека SciPy, математические методы и алгоритмы библиотеки, основные модули и компоненты, работа с многомерными массивами на основе NumPy, функции для научных и инженерных расчетов. Модуль scipy.linalg для линейной алгебры, разложение матриц (LU, QR, SVD).
Модуль scipy.interpolate для интерполяции данных, методы интерполяции (UnivariateSpline, interp1d, griddata), работа с многомерными данными. Модуль scipy.signal для обработки сигналов, фильтрация сигналов (Butterworth, Chebyshev), свертка и корреляция сигналов, анализ временных рядов, спектральный анализ, функции spectrogram и welch.
4. Визуализация данных в Python
Этапы визуализации данных. Разведочный анализ данных (EDA). Первичная обработка данных. Важность визуализации в анализе данных. Инструменты визуализации данных. Библиотеки языка Python для визуализации. Библиотека matplotlib, seaborn. Архитектура matplotlib. Контейнеры графических объектов. Жизненный цикл фигуры. Основные типы графиков и диаграмм в matplotlib. Сохранение изображений.
5. Предобработка данных
Методы предварительной обработки данных. Важность корректной подготовки данных для повышения качества моделей. Работа с пропущенными значениями, стратегии обработки пропусков (удаление, замена средним, медианой, наиболее частым значением и т.д.). Нормализация и стандартизация данных: методы и их применение (StandardScaler, MinMaxScaler). Кодирование категориальных признаков: техники one-hot encoding, label encoding и их реализация. Масштабирование признаков и его влияние на модели.
Обработка выбросов, методы выявления и коррекции выбросов. Преобразование данных для улучшения их структуры: логарифмическое, степенное преобразование. Выбор и создание новых признаков, их влияние на качество модели. Техника Feature Engineering и ее роль в машинном обучении.