IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Иерархическая кластеризация., Немного DataMining на С++
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Вершины – объекты
минимального остовного дерева группируются в кластеры.
Выбираются два объекта, которым соответствует минимальное ребро minjdj,
где j=1, n-1. Далее эти объекты стягиваются в один кластер (класс, таксон, страту) и
процедура шага 2 повторяется до тех пор, пока на n-1 этапе группирования не будет
сформирован один кластер, объединяющий все объекты. STOP.

Прикрепленное изображение

На рис. представлена последовательность группировки объектов в
кластеры для заданного на рис.1 примера минимального остовного дерева.
Порядок объединения объектов в кластеры отображён на рёбрах, которые
связывают объединяемые объекты .Таким образом, первыми
объединяются объекты X4 и Х5,которые в МОД связывает минимальное ребро d4
с весом 2. Вторыми объединяются объекты X2и X3, связанные ребром d2
с весом 3 , и так далее, пока на шестом этапе группирования ранее связанные объекты (X1,X2,X3,X4,X5,X6)
не будут объединены с объектом X7 ребром с весом 7.

И так , перейдем к описанию алгоритма кластеризации на примере :
Ребра МОД :
Цитата
(ИЗ--ВЕС-->В);
1. Е--2328-->Ом
2. В--2732-->И
3. Е--4667-->П
4. Л--5161-->Ом
5. О--6588-->И
7. П--14946-->В
И образуемые кластера :
(Шаг. №кластера)
1. 1.Е + ОМ значение кластера 2328
2. 1.
2. В + И 2732
3. 1. кластер поглощает вершину П, новый кластер Е+Ом+П 4667
2.
4. 1. поглощает вершину Л, новый кластер Е+Ом+П+Л 5161
2.
5. 1.
2. поглощает вершину О, новый кластер В + И + О 6588
6. 1 поглошает 2 и получается Л+Е+О+П+В+И+Ом 14946


Надеюсь понятно..вот как я понял этот алгоритм вербально :
Цикл от i=0 до n-1
Цикл от j=0 до n-1
Если множество вершин ребра/кластераi при пересечении с множеством вершин ребра/кластераj образует не пустое множество
если значение ребра/кластераj >=значению ребра/кластераi
ТОГДА образуется кластер соединением множества вершин ребра/кластераj и множества вершин ребра/кластераi
ИНАЧЕ наше ребро и есть кластер.

Правильно ли я понял алгоритм?
Вот так его можно описать в коде..
//ribs это объект класса реализующего :
// QSet<int> - множество вершин ребра/кластера, возвращается путем вызова метода items()
// свойство value, которое возвращает вес ребра/кластера
//считать, что операции &, &= - пересечение
// += - слияние.
for(int i=0;i<ribs.size();++i)
for(int j=0;j<ribs.size();++j)
if (ribs.at(j)!=ribs.at(i))//не сравниваем сами с собой..
if ( (!(ribs.at(i)->items() & ribs.at(j)->items()).empty()))
//если пересечение не образует пустое множество
if (ribs.at(j)->value() >= ribs.at(i)->value())
//если значение j ребра/кластера меньше i
{
ribs.at(j)->items()+=ribs.at(i)->items();//соединяем j и i ребро/кластера
}
else
{
// ребро и есть кластер
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Andrewshkovskii   Иерархическая кластеризация.   24.11.2009 21:59
volvo   Можно уточнить, в результате ты что хочешь получит…   24.11.2009 22:15
Andrewshkovskii   http://el-niko.ru/lab/1/ Вот тут пример , это прог…   24.11.2009 22:34
volvo   Шо-то мне не очень понятно, что там твой согруппни…   25.11.2009 0:46
Andrewshkovskii   Что-то ты нагромоздил кода, хотя просто я использу…   25.11.2009 3:48
volvo   У меня в принципе то же самое вот до этого момента…   25.11.2009 4:38
Andrewshkovskii   На 0 этапе добавил Лянгасово куда-то?Ну про код пр…   25.11.2009 4:52
volvo   Так... До Qt я вчера так и не добрался, сегодня ве…   25.11.2009 17:04
Andrewshkovskii   Да, результат более понятно,сейчас в коде по-разби…   25.11.2009 17:18
Andrewshkovskii   Вот такой вот результат,из-за одинковых значений…   25.11.2009 18:41
volvo   В общем, вот чего у меня получилось после полной п…   26.11.2009 5:44
Andrewshkovskii   Мда, мне далекова-то до твоих мозгов, Владимир..Сп…   26.11.2009 6:42
volvo   Это вряд ли... В Qt очень сокращенная версия STL-я…   26.11.2009 6:59
volvo   В первом приближении - вот так (тут очень многое д…   26.11.2009 22:41
Andrewshkovskii   Ох, только добрался до компа, весь день в институт…   27.11.2009 4:04
Andrewshkovskii   Ну в общем я попробовал разобраться, все в исходни…   27.11.2009 17:44
volvo   Ты точно нужный исходник присоединил? А то по-моем…   27.11.2009 17:53
Andrewshkovskii   Упс, исходник вот. Насчет длины вектора так и дума…   27.11.2009 17:55
volvo   Вот ответы: :) (я оставил твои комментарии, ниже д…   27.11.2009 18:55
Andrewshkovskii   Так, слегка проникся кодом, и даже что-то понял:) …   27.11.2009 21:10
volvo   Написал код для визуализации на VCL (Билдер). Вот …   29.11.2009 22:21
Andrewshkovskii   Привет!:)спасибо за огромную помощь..но я поше…   30.11.2009 5:26
volvo   Блин, у меня оказывается на скрине не было видно с…   30.11.2009 5:48
Andrewshkovskii   Ну я проект скину перед сном, если надо, посмотриш…   30.11.2009 5:50
Гость   В общем проблема такая...надо как-то зафиксировать…   1.12.2009 0:34
-Volvo-   Что значит "как нибудь"? Устанавливаешь …   1.12.2009 1:12
Andrewshkovskii   Там надо минимум в 0 устанавливать, таково требова…   1.12.2009 4:27
volvo   В таком случае у тебя нет другого варианта, кроме …   1.12.2009 6:04
Andrewshkovskii   Была такая мысль у меня о фиксации каждого кластер…   1.12.2009 6:19
Andrewshkovskii   Перечитал методичку..в общем-то можно и вовсе без …   1.12.2009 6:52
Andrewshkovskii   В общем вот что вышло у меня. осталась одна пробле…   1.12.2009 20:41
Andrewshkovskii   С этой проблема ещё связано с отрисовкой кластеров…   1.12.2009 21:42
Andrewshkovskii   outCanvas->MoveTo(visLabelWidth + 30 + cluste…   1.12.2009 22:08
Andrewshkovskii   Понятно..   1.12.2009 22:57
volvo   :blink: А расскажи мне (ты свою модель лучше знаеш…   2.12.2009 1:51
Andrewshkovskii   Изменяется она потому, что она при первичной отрис…   2.12.2009 2:38
volvo   Угу... Именно: // Это у тебя было ... …   2.12.2009 3:12
Andrewshkovskii   Ну макс. длина у меня вычисляется, это я предусмот…   2.12.2009 5:07
volvo   Ну, это вообще не проблема... Делаем в drawClamp(…   2.12.2009 5:58
Andrewshkovskii   хм..действительно.. Над не забыть только biggest_e…   2.12.2009 6:06
Andrewshkovskii   С 2ой проблемой разобрался, а вот что делать с 1ой…   2.12.2009 17:49
Andrewshkovskii   Ну в общем дописал..нашел правда один мемори лик, …   3.12.2009 4:14
finasteride 1 mg no prescription   Cytotec Pills Over The Counter   29.10.2021 23:10
gabriella   Your writings and news are really interesting to m…   12.04.2022 10:27
reznit   Доступа к определенному элементу (кроме первого) п…   9.06.2022 15:17
nishaknapp   Why not settling on games that is fun and at the s…   29.07.2022 16:56
gabriella   It is the intent to provide valuable information a…   1.08.2022 9:37


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 0:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name