Кластеризация подпространства с использованием CLIQUE в ELKI

Я пытаюсь обнаружить плотные подпространства из многомерного набора данных. Для этого я хочу использовать библиотеку ELKI. Но очень мало документации и примеров библиотеки ELKI.

Я пробовал следующее-

    Database db=makeSimpleDatabase("D:/sample.csv", 600);

    ListParameterization params = new ListParameterization();
    params.addParameter(CLIQUE.TAU_ID, "0.1");
    params.addParameter(CLIQUE.XSI_ID, 20);

    // setup algorithm
    CLIQUE<DoubleVector> clique = ClassGenericsUtil.parameterizeOrAbort(CLIQUE.class, params);

    // run CLIQUE on database
    Clustering<SubspaceModel<DoubleVector>> result = clique.run(db);

    for(Cluster<?> cl : result.getToplevelClusters()) {
        System.out.println(cl.getIDs());
    }

Я дал следующий ввод-

2,2
2,3
5,2
5,3
8,4

и результат был-

[2, 1]
[4, 3]
[5]
[3, 1]
[4, 2]
[5]
[1]
[2]
[3]
[4]
[5]

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

Пожалуйста помоги. Заранее спасибо.


person Shantanu Mahakale    schedule 05.05.2015    source источник
comment
не работал не очень точно. Что случилось? Что вы ожидали? Работает ли он в MiniGUI? Я использую в основном MiniGUI.   -  person Has QUIT--Anony-Mousse    schedule 06.05.2015
comment
Спасибо за ответ и извините за неточный вопрос. Я отредактировал вопрос.   -  person Shantanu Mahakale    schedule 06.05.2015
comment
Я никогда не получал действительно хороших результатов с CLIQUE. Я думаю, что это работает только для синтетических данных. Кроме того, он, вероятно, работает только для непрерывных данных, многомерных данных и больших наборов данных. Это действительно основано на концепции, что некоторые измерения являются однородным шумом, если я правильно помню. Но я не думаю, что этот метод стоит пробовать — он действительно никогда не работал с моими наборами данных.   -  person Has QUIT--Anony-Mousse    schedule 06.05.2015


Ответы (1)


Обратите внимание, что CLIQUE создает перекрывающиеся кластеры.

Элементы могут находиться от 0 до многих кластеров одновременно. Если вы плохо подберете параметры (а параметры CLIQUE, кажется, выбрать действительно сложно), вы получите странные результаты. В вашем случае это 11 кластеров, несмотря на то, что в вашем наборе данных всего 5 элементов.

По сути, кластеризация говорит вам:

Кластер элементов [2,1] (они оба имеют x=2)

Кластер элементов [4,3] (они оба имеют x=5)

Элемент [5] представляет собой кластер (только элемент с x=8)

Кластер элементов [3,1] (оба имеют y=2)

Кластер элементов [4,2] (оба имеют y=3)

Элемент [5] представляет собой кластер (только элемент с y=4)

В подпространстве x,y каждый элемент является отдельным и имеет свой собственный кластер.

Выберите лучшие параметры для этого хрупкого алгоритма.

TAU = 0,1 (10% от 5 баллов): все, что имеет более 0,5 баллов, является кластером... другими словами, все. Вот почему вы получаете этот результат - вы просили об этом.

person Erich Schubert    schedule 07.05.2015