ELKI генератор данных и выбросы
Я хочу сделать тест для LOF, показывающий, насколько хорошо он справляется с проблемой разреженной плотности набора данных. В руководстве по генератору данных ELKI мне показано, как создать набор данных из xml-файла, например, из 4 кластеров:
<dataset random-seed="1" test-model="1">
<cluster name="Dense" size="290">
<normal mean="0.5" stddev="0.2"/>
<normal mean="0.5" stddev="0.2"/>
<clip min="0 0" max="1 1"/>
</cluster>
<cluster name="Sparse" size="100">
<normal mean="0.25" stddev="0.05"/>
<normal mean="0.75" stddev="0.05"/>
<clip min="0 0" max="1 1"/>
</cluster>
<cluster name="Middle" size="100">
<normal mean="0.75" stddev="0.05"/>
<normal mean="0.75" stddev="0.05"/>
<clip min="0 0" max="1 1"/>
</cluster>
<cluster name="Noise" size="10" density-correction="50">
<uniform min="0" max="1"/>
<uniform min="0" max="1"/>
</cluster>
</dataset>
Но как мне справиться с выбросами. Инструмент ELKI хочет, чтобы метка меньшинства для выбросов отображала кривую ROCAUC. И файл, который я получаю из XML-файла, является просто файлом точек в наборе данных.
Должен ли я сам составить график и определить выбросы самостоятельно и поставить после них все "да" или "нет", чтобы сказать, являются ли они выбросами или нет, и установить для метки меньшинства значение "да", "выбросы" ИЛИ есть ли более простой способ?
1 ответ
ELKI по умолчанию будет использовать самый маленький класс для оценки. (Вы можете настроить оценку по-другому!)
ELKI выдаст предупреждение, если выбросы составляют более 5% данных, поскольку предполагается, что выбросы встречаются редко (на самом деле они должны быть намного меньше 5%).
Таким образом, в вашем наборе данных ELKI должен по умолчанию использовать "Noise" в качестве класса выбросов.
В вашей конфигурации Noise
должно быть 2% от набора данных, поэтому он не должен предупреждать. Это должно просто работать из коробки.