Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 5.69 KB

README.md

File metadata and controls

49 lines (40 loc) · 5.69 KB

Введение в анализ данных и машинное обучение

Данный курс является вводным курсом в анализ данных и машинное обучение. Материалы курса созданы в виде тетрадей Jupyter Notebook. Каждая тетрадь - это интерактивное приложение, где вы можете вживую менять код и сразу видеть результат этих изменений. Не бойтесь что-то сломать, исходный код всегда можно восстановить.

Курс прежде всего ориентрован для людей с опытом программирования. Уклон делается больше на практическое применение, теоретическая часть представлена в количестве, необходимом для понимания методов машинного обучения, но без глубокого погружения в математику.

Содержание курса

Анализ данных

  1. Jupyter notebook - приложение для интерактивных вычислений
  2. Numpy - библиотека линейной алгебры
  3. pandas - библиотека для анализа и манипуляции данных
  4. matplotlib и seraborn - библиотеки для визуализации данных

Машинное обучение

  1. История, обзор понятий, методов, подходов
  2. Короткое введение в необходимый минимум по математике
    • Линейная алгебра: векторы, матрицы и операции над ними
    • Математический анализ (calculus): производные функций, экстремумы
  3. Линейная регрессия - простейший метод машинного обучения для задачи регрессии
    • Функция потерь и среднеквадратическая ошибка
    • Алгоритм градиентного спуска
  4. Scikit-Learn - библиотека для машинного обучения
  5. Логистическая регрессия - метод машинного обучения для задачи бинарной классификации
    • Logarithmic loss - функция потерь для бинарной классификации
    • Оценка бинарной классификации: Precision, Recall, ROC AUC
    • Softmax - обобщение логигистической регрессии для мульти-классификации
  6. Решающие деревья и случайный лес
    • Функции оценки для решающих деревьев: Information gain, Entropy
    • Обучение методом ансамблей на примере случайного леса
  7. Борьба с переобучением и выбор модели
    • Регуляризация: L1 & L2 regularization
    • Кросс валидация: K-fold cross validation
    • Подбор гиперпараметров: Grid search, Random search, Bayesian optimization

Что требуется для прохождения курса?

Все примеры кода созданы на языке Python, поэтому необходимо знать этот язык. К счастью, Python легко освоить, он очень интуитывный. Если вы не знаете Python, то можете пройти короткий курс Google's Python Class или любой другой, который вам больше подходит.

Для машинного обучения также необходимо знать математику на уровне старших классов (возведения в степень, логарифмы, элементарная алгебра). В курсе будет использованы методы линейной алгебры и математического анализа (а именно производные функций). Эти методы будут объяснены для интуитивного понимания материала.

Версия Python

Все примеры кода созданы в третьей версии Python. Вторая и третья версии несовместимы между собой, поэтому убедитесь, что вы используете версию 3 или выше.

Установка необходимого ПО

Чтобы локально запустить код необходимо установить все зависимые библиотеки.

Для ОС Windows рекомендуется установить Anaconda, который содержит все необходимые библиотеки.

Для macOS и GNU Linux можно установить зависимости с помощью команды pip3 install -r requirements.txt

Лицензия на материалы курса

Исходный код курса распростроняется под лицензией MIT, текст под лицензией CC BY-SA.