Как добавить аномалии в набор данных - PullRequest
0 голосов
/ 06 октября 2019

Я хочу обнаружить аномалии из непрерывного набора данных. Набор данных генерируется из sklearn.datasets.samples_generator

. Вот код для создания набора данных

from sklearn.datasets.samples_generator import make_blobs
(X,y) =  make_blobs(n_samples=100,n_features=5,centers=3,cluster_std=1.3,random_state=40)

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

1 Ответ

1 голос
/ 06 октября 2019

Насколько я знаю, в sklearn api нет функции, которая генерирует выбросы.

Но make_blob также принимает параметры более детально, чтобы вы могли указать количество выборок для каждого кластера ". центры и стандартное отклонение "для каждой функции. (make_blob использует распределение Гаусса для генерации наборов данных.)

Решение состоит в том, чтобы генерировать данные в два этапа, один раз для фактических данных и один раз для аномалий с использованием разных центров и стандартного отклонения.

X, y = make_blobs(n_samples=sample_list, centers=center_list, cluster_std=diviation_list,n_features=2,random_state=0)

В приведенном выше коде укажите sample_list в качестве массива фигуры (1, # NumberOfClusters), center_list & diviation_list в качестве массива фигуры (# NumberofClusters, # NumberOfFeatures).

...