2015-04-28 4 views
0

Я пытаюсь запустить ELKI реализовать K-medoids (к = 3) на наборе данных в виде файла ARFF (с использованием ARFFParser в ELKI):Идущие к-medoids алгоритм ELKI

enter image description here

Набор данных имеет 7 размеров, однако результаты кластеризации, которые я получаю, показывают кластеризацию только на уровне одного измерения, и делают это только для 3 атрибутов, игнорируя остальные. Как это:

enter image description here

Может кто-нибудь помочь с тем, как я могу получить визуализацию кластеризации для всех размеров?

ответ

1

ELKI в основном используется с численный данные.

В настоящее время, к сожалению, у ELKI нет «смешанного типа» данных.

ARFF анализатор будет разделить ваши наборы данных в нескольких отношений:

  1. 1-мерное численное соотношение, содержащее age
  2. в LabelList отношение хранящего sex и region
  3. 1-мерный численное отношение, содержащее salary
  4. a Относительное отношение LabelList married
  5. 1-мерное численное соотношение хранения children
  6. в LabelList отношение хранящий car

Видимо это перепутались отношению метки, хотя. Но, кроме этого, этот подход отлично работает с наборами данных arff, которые состоят из числовых данных + метка класса, например - вариант использования, для которого был написан этот синтаксический анализатор. Это четко определенное и последовательное поведение, хотя и не то, что вы ожидали от него.

Алгоритм затем работал по первому отношению, с которым он мог работать, т. Е. Только age.

Так вот то, что вам нужно сделать:

  1. Внедрение эффективного типа данных для хранения данных смешанного типа.
  2. Измените анализатор ARFF, чтобы получить отношение данных смешанного типа.
  3. Внесите функцию расстояния для этого типа, поскольку отсутствие представления данных смешанного типа означает, что у нас тоже нет дистанции.
  4. Выберите эту новую функцию расстояния в k-медоидах.
  5. Поделитесь этим кодом, чтобы другим не нужно было это делать снова.;-)

В качестве альтернативы вы можете написать сценарий для кодирования ваших данных в наборе цифровых данных, а затем он будет работать нормально. Но, на мой взгляд, результаты однострунного кодирования и т. Д. Обычно не очень убедительны.

+0

Большое спасибо за ответ Эрих! К сожалению, сейчас у меня нет времени, но если я это сделаю, я обязательно разделим код! Тем не менее, я получил матрицу подобия, основанную на всех атрибутах, но я путаю, какой парсер выбрать для этого, не могли бы вы помочь с этим? – QPTR

+1

Вы должны иметь возможность держать парсер так, как есть (он работал достаточно хорошо); и просто установите расстояние до дистанционной функции * внешнего * файла в k-медоидах. –

+0

Большое спасибо! – QPTR