Обработка несбалансированных наборов данных с использованием кластерных центроидов imblearn в Python

“imblearn Clustercentroids” — это фраза, относящаяся к машинному обучению и конкретно относящаяся к модулю в библиотеке несбалансированного обучения. Эта библиотека используется для обработки несбалансированных наборов данных, где количество выборок в каждом классе не сбалансировано. Модуль «ClusterCentroids» в несбалансированном обучении реализует метод недостаточной выборки, основанный на кластеризации.

Вот несколько методов из модуля imblearn Clustercentroids вместе с примерами кода:

  1. KMeansSMOTE:

    from imblearn.under_sampling import ClusterCentroids
    from imblearn.over_sampling import SMOTE
    from imblearn.pipeline import Pipeline
    # Define the pipeline
    pipeline = Pipeline([
    ('cluster', ClusterCentroids(sampling_strategy='auto')),
    ('smote', SMOTE())
    ])
    # Fit and transform the data
    X_resampled, y_resampled = pipeline.fit_resample(X, y)
  2. RandomUnderSampler:

    from imblearn.under_sampling import ClusterCentroids
    from imblearn.under_sampling import RandomUnderSampler
    from imblearn.pipeline import Pipeline
    # Define the pipeline
    pipeline = Pipeline([
    ('cluster', ClusterCentroids(sampling_strategy='auto')),
    ('under_sampler', RandomUnderSampler())
    ])
    # Fit and transform the data
    X_resampled, y_resampled = pipeline.fit_resample(X, y)

Это всего лишь пара примеров. В модуле imblearn Clustercentroids доступны и другие методы, такие как TomekLinks, EditedNearestNeighbours и CondensedNearestNeighbour.