2015-05-05 4 views
0

Я пытаюсь обнаружить плотные подпространства из высокоразмерного массива данных. Для этого я хочу использовать библиотеку ELKI. Но есть очень мало документов и примеров библиотеки ELKI.Подпространство кластеризации с использованием CLIQUE в 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()); 
    } 

Я дал следующую input-

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] 

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

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

+0

«Не работал» не очень точен. Что случилось? Чего вы ожидали? Работает ли он в MiniGUI? Я использую в основном MiniGUI. –

+0

Спасибо за ответ и извините за неточный вопрос. Я отредактировал вопрос. –

+0

Я никогда не получал очень хорошие результаты с помощью CLIQUE. Я думаю, что это работает только для синтетических данных. Кроме того, он, вероятно, работает только для непрерывных данных, высокоразмерных данных и больших наборов данных. Это действительно основано на концепции, что некоторые измерения являются однородным шумом, если я правильно помню. Но я не думаю, что это метод, который стоит попробовать - он действительно никогда не работал на моих наборах данных. –

ответ

2

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

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

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

элементы [2,1] кластер (они оба имеют х = 2)

элементы [4,3] кластер (они оба имеют х = 5)

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

Элементы [3,1] кластера (они оба имеют у = 2)

Элементы [4,2] кластера (они оба имеют y = 3)

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

В х, у подпространства, каждый элемент отделен, и свой собственный кластер.

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

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