Моя цель - использовать класс LocalOutlierFactor из scikit-learn для обнаружения новизны в реальном времени. Это может быть достигнуто установкой novelty=True
в конструкторе, хотя меня немного смущает параметр contamination
.
Такой параметр, который должен быть в (0, 0,5], используется для указания количества выбросов в обучающем наборе. Это имеет смысл, когда используется параметр Обнаружение выброса (т. Е. Когда novelty=False
передается в конструктор LocalOutlierFactor), но я не могу понять его назначение в настройке обнаружения новизны.
Суть в том, что я предполагаю, что в тренировочном наборе нет выбросов, но в то же время я не могу просто установить contamination=0
, потому что он должен быть в (0, 0,5]. Я знаю, что мог бы установить его очень маленькому значению, например 1e-16
, или что-то в этом роде, но для меня это похоже на хак. Так для чего оно используется в настройке обнаружения новизны?