[Skillbox] Профессия‌ ‌Data‌ ‌Scientist‌ - Machine Learning


Colab

Чтобы загрузить свой файл, можно добавить.

from google.colab import files
uploaded = files.upload()

import io
houses = pd.read_csv(io.BytesIO(uploaded['1.4_houses.csv']))


Появится окно выбора файла. Выбрать файл со своего компьютера.


Модуль 01


Обучение с учителем

  • Регрессия colab
  • Классификация colab


Обучение без учителя

  • Кластеризация colab


Модуль 02: Жизненный цикл проектов ML


Модуль 03: Линейная регрессия

Для борьбы с выбросами:

  • Логарифмирование np.log
  • Извлечение квадратного корня np.sqrt

Оба меняют абсолютные значения, но сохраняют порядок величин.



Модуль 04: Регуляризация

Регуляризация - способ борьбы с переобучением.

  1. Обучающую выборку разделяем на 2 части 80 / 20.
  2. Выбираем метрику качества модели (для регрессии, например, RMSE)
  3. Обучаем модель на тренировочном наборе данных
  4. Делаем предсказания на валидационном наборе данных и вычисляем метрику качества

Признак переобучения: Если качество на вилидации сильно хуже качества на обучающем сете.


Регуляризация в sklearn:

  • Ridge
  • Lasso

Оба принимают на вход параметр регуляризации alpha, который принимает значения от 0 до 1. Чем ближе к единице, тем регуляризация сильнее.


L2 регуляризация (также называют гребневой регрессией) - в целевую функцию добавляются квадраты коэффициентов регрессии. Если фичей мало, использовать ее.

L1 регуляризация (в sklearn.linear_model.Lasso) - добавляются модули весов. Если фичей много - сотни или тысячи рекомендуют использовать ее. Т.к. она обнулит фичи, которые значимыми не являются.



Выбрать правильное значение коэффициента регуляризации поможет процедура, которая называется “отложеннй контроль”.

В цикле выбираем разные варианты и выбираем тот который лучше.






Модуль 05: Алгоритм KNN


Модуль 06: Метрики качества классификации

С помощью Confusion Matrix (Матрица ошибок)


Модуль 07: Постановка ML задачи кластеризации

Используется когда кластеры линейно разделимы.

DBSCAN (Density-based spatial clustering of allications with noise - плотностной алгоритм пространственной кластеризации с присутствием шума).

Автоматически отсеиваит шумы (выбросы).


Модуль 08: Дополнительные техники: Снижение размерности

Singular Value Decompozition

Если размерность матриц небольшая (до 100 переменных) - применяется PCA, иначе SVD.

Используется, когда данные большой размерности и связи между переменными нелинейны


Модуль 09: Дополнительные техники классификации: Booksting

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

Каждый следующий алгоритм строится, опираясь на объекты, неверно классифицированные предыдущими алгоритмами.

Обычно используются ансамбли обнородных базовых алгоритмов. (Обычно применяются деревья решений)

Обычно используются разнородные базовые алгоритмы.