Описание алгоритма - в статье CLOPE: A Fast and Effective Clustering Algorithm for Transactional Data.
Проект представляет собой реализацию алгоритма CLOPE, заточенную под стандартный набор данных "Mushroom dataset".
В случае использования другого набора транзакций следует использовать классы - наследники от DBManager
/Transaction
.
Реализация алгоритма CLOPE представлена программой algorithm. Тем не менее, для работы algorithm с набором транзакций "Mushroom dataset", а так же обеспечения удобного анализа результатов алгоритма, предлагаются программы prepareDB и showClusters. Порядок действий:
- Подготовить набор транзакций "Mushroom dataset". Для этого необходимо запустить prepareDB с параметрами:
-i
имя оригинального набора (agaricus-lepiota.data);-o
имя модифицированного набора.
Программа prepareDB добавляет в конец каждой строки-транзакции 5 байт вида ",0000". Это необходимо для хранения значения кластера, к которому отнесена каждая транзакция. Значение кластера используется для выполнения работы алгоритма и предоставления результатов оператору.
- Запустить algorithm с параметрами:
-i
имя модифицированного набора;-r
значение коэффициента отталкивания.
Программа представляет саму реализацию алгоритма CLOPE. Работает с модифицированным набором "Mushroom dataset". Значение -r
позволяет задать коэффициент отталкивания. это влияет на распределение транзакций по кластерам, а также на число кластеров.
Результаты алгоритма представлены непосредственно в файле набора, с которым работает algorithm. В файле модифицированного набора каждой транзакции соответствует номер кластера, к которому она отнесена. Номер кластера записан в конце строки-транзакции. Чтобы получить результаты в виде таблицы, нужно
- Запустить программу showClusters с параметрами: -i - имя модифицированного набора. Программа выводит в консоль количество e- и p-транзакций из файла набора, отнесенных к каждому кластеру, в виде таблицы.
Пример последовательности команд в Windows:
prepareDB.exe -i agaricus-lepiota.data -o agaricus-lepiota.prepared
algorithm.exe -i agaricus-lepiota.prepared -r 2.6
showClusters.exe -i agaricus-lepiota.prepared
Все исходные коды компилируются в MS Visual Studio 2010. Остальные компиляторы и ОС не проверялись.