НачатьНачать бесплатно

Применение SMOTE

В этом упражнении вы будете балансировать данные с помощью метода синтетической передискретизации меньшинства (SMOTE). В отличие от метода случайной передискретизации (ROS), SMOTE не создаёт точные копии наблюдений, а генерирует новые синтетические примеры, схожие с существующими наблюдениями миноритарного класса. Таким образом, SMOTE несколько сложнее простого копирования наблюдений. Давайте применим его к данным о кредитных картах. Набор данных df доступен, а необходимые для работы с SMOTE пакеты уже импортированы. В следующем упражнении вы визуализируете результат и сравните его с исходными данными, чтобы наглядно увидеть эффект от применения SMOTE.

Это упражнение является частью курса

Обнаружение мошенничества на Python

Посмотреть курс

Инструкции к упражнению

  • Примените функцию prep_data к df, чтобы создать матрицу признаков X и вектор меток y.
  • Определите метод передискретизации как стандартный SMOTE и присвойте его переменной method.
  • Примените .fit_resample() к исходным X и y, чтобы получить сбалансированные данные.
  • Постройте график сбалансированных данных с помощью функции plot_data().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

from imblearn.over_sampling import SMOTE

# Run the prep_data function
X, y = ____(df)

# Define the resampling method
method = ____()

# Create the resampled feature set
X_resampled, y_resampled = method.____(____, ____)

# Plot the resampled data
plot_data(____, ____)
Редактировать и запускать код