Обучение с учителем: Классификация

В рамках этого курса мы продолжим изучать еще одно важное применение обучения с учителем - решение задач классификации. В следующих уроках вы познакомитесь с: логистической регрессией, алгоритмом k-ближайших соседей, наивным Байесовским классификатором, методом опорных векторов, перцептроном и искусственной нейронной сетью, решающими деревьями и случайными лесами, а также методами бэггинга и бустинга. Курс начнется с принципов работы каждого из этих методов. Вам предстоит полностью понять реализацию

PythonНаука о данных

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Сформируйте широкую основу классической классификации с учителем в десяти Jupyter Notebook. Вы изучите принципы решений основных алгоритмов, реализуете отдельные механизмы на Python, построите модели scikit-learn, визуализируете результаты и сравните классификаторы перекрёстной проверкой.

Курс связывает математику с кодом: сигмоида и log loss, расстояния и голосование KNN, вероятность Байеса, границы и ядра SVM, прирост информации, обратное распространение и объединение моделей. Задания закрепляют распределение Гаусса, распознавание цифр и выбор моделей.

Чему вы научитесь

  • Выводить и реализовывать логистическую регрессию с сигмоидой, log loss, градиентным спуском и scikit-learn
  • Строить KNN на расстояниях и голосовании, исследовать выбор K и kd-деревья
  • Применять теорему Байеса, оценку параметров, Multinomial Naive Bayes и распределения Гаусса
  • Сравнивать линейные и нелинейные SVM и распространённые функции ядра
  • Реализовывать перцептрон и обратное распространение, классифицировать цифры с MLPClassifier
  • Строить деревья с приростом информации, обрезкой и scikit-learn
  • Обучать Bagging, Random Forest, AdaBoost и Gradient Boosting
  • Готовить Abalone и сравнивать семь классификаторов 10-кратной перекрёстной проверкой

Для кого этот курс

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

Предварительные требования: Рекомендуются Python, NumPy, Pandas, построение графиков и базовая алгебра. Полезны вероятность, производные, train/test-разбиение, признаки и метки.

Учебная среда: Все десять занятий выполняются в предоставленной среде Jupyter на Ubuntu 22.04 с объяснениями, визуализациями, примерами scikit-learn, данными и кодом для завершения.

Часто задаваемые вопросы

Алгоритмы реализуются с нуля или используется scikit-learn?

И то и другое. Notebook программируют логистический градиент, расстояния и голосование KNN, обновления перцептрона и разделение дерева, а затем используют estimators для практического обучения.

Какие классификаторы рассматриваются?

Логистическая регрессия, KNN, Naive Bayes, линейные и ядерные SVM, перцептроны и MLP, деревья, Bagging, Random Forest, AdaBoost и Gradient Boosting.

Изучаются ли оценка и выбор моделей?

Да. В лабораториях рассчитывается точность, а последний Notebook готовит Abalone и сравнивает семь семейств 10-кратной проверкой с параметрами по умолчанию.

Можно ли копировать примеры в современный проект scikit-learn?

Подготовленная среда поддерживает Notebook, но некоторые примеры используют старые imports или конструкторы. В новой установке сверяйтесь с текущим API и заменяйте устаревшие имена и аргументы.

Преподаватель

labby
Labby
Labby is the LabEx teacher.