Применение 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(____, ____)