Данный курс является вводным курсом в анализ данных и машинное обучение. Материалы курса созданы в виде тетрадей Jupyter Notebook. Каждая тетрадь - это интерактивное приложение, где вы можете вживую менять код и сразу видеть результат этих изменений. Не бойтесь что-то сломать, исходный код всегда можно восстановить.
Курс прежде всего ориентрован для людей с опытом программирования. Уклон делается больше на практическое применение, теоретическая часть представлена в количестве, необходимом для понимания методов машинного обучения, но без глубокого погружения в математику.
- Jupyter notebook - приложение для интерактивных вычислений
- Numpy - библиотека линейной алгебры
- pandas - библиотека для анализа и манипуляции данных
- matplotlib и seraborn - библиотеки для визуализации данных
- История, обзор понятий, методов, подходов
- Короткое введение в необходимый минимум по математике
- Линейная алгебра: векторы, матрицы и операции над ними
- Математический анализ (calculus): производные функций, экстремумы
- Линейная регрессия - простейший метод машинного обучения для задачи регрессии
- Функция потерь и среднеквадратическая ошибка
- Алгоритм градиентного спуска
- Scikit-Learn - библиотека для машинного обучения
- Логистическая регрессия - метод машинного обучения для задачи бинарной классификации
- Logarithmic loss - функция потерь для бинарной классификации
- Оценка бинарной классификации: Precision, Recall, ROC AUC
- Softmax - обобщение логигистической регрессии для мульти-классификации
- Решающие деревья и случайный лес
- Функции оценки для решающих деревьев: Information gain, Entropy
- Обучение методом ансамблей на примере случайного леса
- Борьба с переобучением и выбор модели
- Регуляризация: L1 & L2 regularization
- Кросс валидация: K-fold cross validation
- Подбор гиперпараметров: Grid search, Random search, Bayesian optimization
Все примеры кода созданы на языке Python, поэтому необходимо знать этот язык. К счастью, Python легко освоить, он очень интуитывный. Если вы не знаете Python, то можете пройти короткий курс Google's Python Class или любой другой, который вам больше подходит.
Для машинного обучения также необходимо знать математику на уровне старших классов (возведения в степень, логарифмы, элементарная алгебра). В курсе будет использованы методы линейной алгебры и математического анализа (а именно производные функций). Эти методы будут объяснены для интуитивного понимания материала.
Все примеры кода созданы в третьей версии Python. Вторая и третья версии несовместимы между собой, поэтому убедитесь, что вы используете версию 3 или выше.
Чтобы локально запустить код необходимо установить все зависимые библиотеки.
Для ОС Windows рекомендуется установить Anaconda, который содержит все необходимые библиотеки.
Для macOS и GNU Linux можно установить зависимости с помощью команды pip3 install -r requirements.txt
Исходный код курса распростроняется под лицензией MIT, текст под лицензией CC BY-SA.