«Обучение не достигается случайно, к нему нужно стремиться и к нему нужно относиться с усердием», - Эбигейл Адамс.

Я получаю много вопросов от моих коллег, например: Какие наиболее часто используемые функции в sci-kit, узнайте, чему мы могли бы научиться, чтобы как можно скорее приступить к созданию проекта по науке о данных, что заставляет меня думать: Пойдут ли они ко мне после читая «принцип Парето или что? »

Я не могу посоветовать вам изучить некоторые конкретные функции в таких библиотеках, потому что каждая из них имеет свои варианты использования и важность.

В этой статье я расскажу о некоторых советах и ​​хитростях библиотеки sci-kit learn, которые могут быть очень полезны при работе в любом проекте, связанном с данными.

Вот что мы сегодня обсудим:

  1. Использование функции test_train_split () с параметром стратификации.
  2. Где не использовать функцию values ​​().
  3. Функция SimpleImputer ().
  4. Выбор функций в конвейере.
  5. Использование K-сгиба и StratifiedKFold с перемешиванием.
  6. Использование AUC для классификации.
  7. Четыре способа отслеживать шаги конвейера.
  8. CountVectorizer () и make_column_transformer ().
  9. Работа с функцией Joblib ().

1. Использование функции test_train_split () с параметром стратификации.

Мы не можем использовать эту функцию с теми же параметрами в задачах регрессии и классификации.

В задачах классификации мы ищем предсказания некоторых дискретных значений, не так ли? Мы также должны знать, что выходной атрибут может иметь дисбаланс классов. Из-за этого при выполнении операции train_test_split пропорция классов не обязательно сохраняется как в обучающих, так и в тестовых данных.

Поэтому, чтобы справиться с этим, мы используем параметр Stratify, как показано на изображении ниже.

Пример:

2. Где не использовать функцию values ​​()?

При передаче Series или любого DataFrame в sci-kit learn нет необходимости использовать функцию values ​​, поскольку она знает, как получить доступ к базовому массиву numpy.

Пример:

3. Функция SimpleImputer ()

Очень часто при анализе данных мы обнаруживаем, что в некоторых столбцах или строках отсутствуют метки, обозначенные как «nan». Для решения таких проблем мы заменяем значения nan на среднее значение столбца, а иногда и на наиболее частое слово.

Для всех этих задач у нас есть функция SimpleImput в sklearn.

См. Пример ниже для большего понимания.

Пример:

4. Выбор функции в конвейере:

Добавить выбор функций в конвейер очень просто:

  1. Используя функцию SelectPercentile , чтобы сохранить функции с наивысшей оценкой.
  2. Добавление выбора элементов после предварительной обработки, но до построения модели.

Пример:

5. Использование K-сгиба и StratifiedKFold с перемешиванием.

Если мы думаем об использовании перекрестной проверки, а наш набор данных не находится в произвольном порядке, мы можем использовать перемешивание, чтобы получить лучшие результаты. Подробнее о Shuffling здесь.

Пример:

6. Использование AUC для классификации

AUC может быть эффективным показателем оценки, если мы выполняем двоичную классификацию с дисбалансом классов.

См. пример:

6. Четыре способа контролировать шаги конвейера.

Есть четыре способа отслеживать различные этапы конвейера машинного обучения. См. Пример ниже для большего понимания.

Пример:

8. CountVectorizer () и make_column_transformer ()

Если мы хотим векторизовать два текстовых столбца и объединить их за один раз, выполните следующие шаги.

Пример:

9. Работа с функцией Joblib ():

Для развертывания нашей модели машинного обучения путем встраивания ее в любое веб-приложение в реальном времени или для сохранения модели для дальнейшего использования мы используем функцию joblib, доступную в sklearn.

См. Следующий пример:

Прежде чем мы пойдем ..

Это все для этой статьи. Я уверен, что сегодня вы все узнали бы о некоторых новых возможностях и функциях библиотеки sci-kit learn. Я не включил 10-й и последующие из них, так как собираюсь описать их в следующей статье.

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

Пожалуйста, следите за Кевином Маркхэмом, сэр, так как он часто публикует такие советы и уловки.

Спасибо.