Как использовать LOF в раздвижном окне - Sklearn - PullRequest
0 голосов
/ 17 июня 2020

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

Код для раздвижного окна

def sliding_window(data, size):
    return [ data[x:x+size] for x in range( len(data) - size + 1 ) ]

Код для модели LOF

# sliding window prediction


model = LocalOutlierFactor(n_neighbors=20, novelty=True, contamination=0.01)

lst=[]

for hours in sliding_window(data, 24*3):
    d = model.fit(hours)
    x = pd.Series(model.predict(hours))
    lst.append(x)

dx1 = pd.concat(lst, axis=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...