Введение в Python
> История языка, его применение и особенности.
> Установка Python и основные инструменты разработки: Anaconda, Jupyter Notebook, PyCharm.
> Синтаксис языка: переменные, типы данных, операторы, функции.
> Условные конструкции и циклы: if-else, for, while.
> Структуры данных: списки, кортежи, множества, словари.
> Работа с файлами и директориями: чтение, запись, перемещение и удаление.
> Обработка исключений: try-except.
> Модули и пакеты: создание, импорт и использование.
> ООП в Python: классы, объекты, наследование.
Линейная алгебра, numpy и pandas
> Введение в линейную алгебру
> Определения и основные понятия
> Системы линейных уравнений
> Матрицы и операции с матрицами
> Работа с библиотекой NumPy:
> Создание массивов NumPy
> Операции над массивами
> Индексирование и срезы массивов
> Функции для работы с массивами
> Работа с библиотекой Pandas
> Введение в Pandas и структуры данных
> Создание DataFrame и Series
> Обработка и очистка данных
> Сводные таблицы и агрегирование данных
> Применение линейной алгебры в машинном обучении:
> Работа с данными с помощью NumPy и Pandas
Введение в статистику и теорию вероятностей
> Определение понятий статистики и вероятности
> Общие принципы статистической обработки данных
> Основные принципы теории вероятностей
> Описательная статистика
> Расчет основных характеристик данных: среднее, медиана, мода, дисперсия, стандартное отклонение
> Вероятность
> Определение понятия вероятности
> Расчет вероятности событий
> Условная вероятность и формула Байеса
> Распределения вероятностей: дискретные и непрерывные
> Гипотезы и их проверка
> Уровень значимости и p-value
> Корреляционный анализ
> Корреляция и коэффициент корреляции
> Построение корреляционной матрицы
Математический анализ
> Введение в математический анализ
> Основные понятия математического анализа: функции, пределы, производные, интегралы.
> Пределы и непрерывность: определение предела функции, свойства пределов функций, непрерывность функции и ее свойства.
> Производные и дифференцирование: определение производной функции, правила дифференцирования, геометрический смысл производной.
> Практические задания: решение простых задач по математическому анализу и линейной алгебре с помощью Python и библиотеки NumPy
Градиентная оптимизация
> Введение в градиентную оптимизацию
> Что такое оптимизация и зачем она нужна
> Основы градиентной оптимизации:
> Что такое градиент и как он используется в оптимизации: простейший пример градиентного спуска
> Основные методы градиентной оптимизации: градиентный спуск и стохастический градиентный спуск
> Регуляризация в градиентной оптимизации: L1-регуляризация, L2-регуляризация
> Применение градиентной оптимизации в машинном обучении
> Примеры использования градиентной оптимизации в реальных задачах
Разведочный анализ данных
> Введение в разведочный анализ данных: определение, цели и примеры.
> Подготовка данных: импорт, очистка, заполнение пропусков и обработка выбросов.
> Визуализация данных: гистограммы, диаграммы рассеяния, ящики с усами, тепловые карты.
> Описательные статистики: среднее значение, медиана, мода, стандартное отклонение.
> Корреляционный анализ: коэффициент корреляции, матрица корреляции.
> Предварительный анализ данных: анализ распределения признаков, обнаружение выбросов, проверка гипотез.
> Интерактивный разведочный анализ данных: использование библиотек Python, таких как Pandas, Matplotlib и Seaborn.
> Примеры применения разведочного анализа данных в реальных проектах.
Введение в машинное обучение и k-Nearest Neighbors (k-NN)
> Введение в машинное обучение: определение, цели и примеры.
> Типы задач машинного обучения: классификация, регрессия и кластеризация.
> Основные понятия машинного обучения: признаки, метки, обучение с учителем и без учителя.
> Метод k-NN: определение, основные шаги и примеры.
> Примеры использования метода k-NN в реальных проектах.
> Разбиение выборки на обучающую и тестовую части: определение, стратегии и примеры.
> Оценка качества модели: метрики точности, полноты, F1-меры и ROC-кривой.
Линейная регрессия
> Введение в линейную регрессию: определение, цели и примеры.
> Основные понятия линейной регрессии: зависимая и независимые переменные, коэффициенты регрессии, смещение и дисперсия.
> Простая линейная регрессия: определение, формула и примеры.
> Множественная линейная регрессия: определение, формула и примеры.
> Метод наименьших квадратов: определение, формула и примеры.
> Обучение модели линейной регрессии: определение, процесс обучения, подбор параметров модели.
> Оценка качества модели: метрики MAE, MSE, RMSE, R2.
> Регуляризация модели: L1, L2 регуляризация.
> Примеры использования линейной регрессии в реальных проектах.
Метод опорных векторов (SVM)
> Введение в SVM: определение, цели и примеры.
> Основные понятия SVM: гиперплоскость, опорные векторы, мягкий и жесткий отступы.
> Линейная SVM: определение, формула и примеры.
> Ядерная SVM: определение, формула и примеры.
> Разбиение выборки на обучающую и тестовую: определение, стратегии и примеры.
> Обучение модели SVM: определение, процесс обучения, подбор параметров модели.
> Оценка качества модели: метрики точности, полноты, F-мера, ROC-кривая, AUC.
> Примеры использования SVM в реальных проектах.
> Регуляризация модели SVM: L1, L2 регуляризация.
> Практические примеры и упражнения.
Решающие деревья
> Введение в решающие деревья: определение, цели и примеры.
> Основные понятия решающих деревьев: узел, лист, корень, глубина дерева, информационный критерий.
> Классификационные деревья: определение, формула и примеры.
> Регрессионные деревья: определение, формула и примеры.
> Процесс обучения решающего дерева: алгоритм построения дерева, критерии информативности, отбор признаков.
> Практические примеры и упражнения.
> Ограничения и проблемы решающих деревьев: переобучение, низкая устойчивость к шуму и выбросам.
> Решение проблем решающих деревьев: отсечение дерева, стрижка дерева, ансамблирование.
Ансамбли: Random Forest, XGBoost, CatBoost, LGBM
> Введение в ансамбли: определение, цели и примеры.
> Определение, принцип работы, алгоритм построения.
> Преимущества и недостатки Random Forest, XGBoost, CatBoost, LightGBM.
> Сравнение алгоритмов: какой выбрать для конкретной задачи.
> Bagging, boosting и stacking.
> Практические примеры и упражнения.
> Ограничения и проблемы ансамблей.
> Решение проблем ансамблей: калибровка вероятностей, настройка параметров.
Обучение без учителя: t-SNE, PCA, K-Means
> Введение в обучение без учителя: определение, цели и примеры.
> Кластеризация: определение, принцип работы, алгоритмы кластеризации.
> Примеры задач кластеризации: сегментация покупателей, группировка новостей, идентификация образцов.
> Размерностьностьность: определение, проблемы, методы сокращения размерности.
> Метод главных компонент (PCA): определение, принцип работы, алгоритм, примеры применения.
> t-SNE: определение, принцип работы, алгоритм, примеры применения.
> K-Means: определение, принцип работы, алгоритм, примеры применения.
> Оценка качества в обучении без учителя.
> Недостатки и ограничения методов обучения без учителя.
> Практические примеры решения задач с помощью обучения без учителя.
> Обзор инструментов для работы с данными и реализации методов обучения без учителя.
Работа над проектами
Разбор классических вопросов на собеседовании