Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разыскивается > Кластерный анализ


Автор: LoneRay 3.11.2005, 10:57
Уважаемые форумчане и гости столицы форума!

Подскажите пожалуйста, какие есть средства для кластерного анализа. Я долго рыскал по сети, но ничего приемлимого кроме, разве что, r-project.org, не нашёл. В идеале хотелось бы вообще open-code, но, если честно, сомневаюсь, что такие есть.

Всякие дорогущие монстры типа SAS/STAT тут совсем не катят smile

Да, ещё одно, поделитесь ссылочками, где можно почитать как про сам КА, так и про различные алгоритмы.

Заранее спасибо!

Автор: podval 3.11.2005, 11:52
Цитата(LoneRay @ 3.11.2005, 10:57)
Всякие дорогущие монстры типа SAS/STAT тут совсем не катят

Определись с задачей, которую хочешь решить и напиши прогу сам. Там ничего сложного.

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

Автор: Reptor 3.11.2005, 19:55
Есть программа под названием STATISTICA так есть кластерный анализ (сам недавно смотрел). Да и кроме этого много чего другого.

Автор: Гость_Silver 8.11.2005, 14:46
Много интересного по кластерному анализу есть в книгах В.Д. Мазурова из УРГУ.
Там выделены два решения проблемы задача таксономии (кстати наиболее просто реализуемый алгорим вручную) и при помощи нейросети (тоже не сложно реализовать алгорим вручную но он поаккуратнее))

Автор: LoneRay 8.11.2005, 15:12
Сразу хочу сказать спасибо)) за то, что ответили.


podval Я ищу инфу для диплома. Т.е. описания алгоритмов, некоторые программы для тестирования. Отсюда требования бесплатности. Скорее всего - действительно придётся писать. Оно действительно несложно, но из-за раздолбайства научника всё это может обрасти большим количеством проблемм.


Reptor Я читал про эту прогу, но себе не записал. Она платная?


Гость_Silver Ты не в курсе, эта книжка есть в электронном варианте?

Автор: bilbobagginz 8.11.2005, 23:39
ты как-то сыро диплом пишешь. есть несколько сфер "кластерного" анализа.
основные сферы - это "высоко-производительный анализ" как противопоставлиение "высоко-нагруженный анализ"
1. когда тебе нужно большое кол-во ресурсов в короткий пром. времени (напр. предсказание акций, или погоды). в таком случае есть огромное кол-во и решений и проблем. ( high performance computing )
2. когда у тебя есть огромная масса данных и тебе их нужно переработать без жестких ограничений во времени. напр. переработка снятых данных с физического или другого опыта, обработка генов, рендеринг мультфильмов и т.д. ( high throughput computing )

в обоих случаях тебе нужно хотя-бы ознакомиться с параллельнным/распределенным программированием. есть сайт: www.pаrallel.ru






Автор: LoneRay 9.11.2005, 09:21
bilbobagginz Спасибо за ссылочку! Буду читать smile Некоторое представление о параллельном программировании у меня есть, но, думаю, его недостаточно.

А с неточностью темы диплома и прочим... меня этот вопрос тоже сильно напрягает. Из научника приходится всё буквально выдавливать, а инициативу проявлять здесь себе дороже будет.

Скорее всего, в виде данных будет некоторая геологическая и/или географическая информация. Объём ожидается не слишком большой, но вот с мощностью компов, на которых будет всё это проссчитываться - прокол. Слабые они там. Т.е., скорее всего, будет именно high throughput computing

Автор: Виктор Царегородцев 8.1.2006, 14:26
Посмотрите ссылочки в разделе Software на kdnuggets.com

Алгоритмы кластерного анализа практически все являются вычислительно линейными по любой размерности (число признаков в векторе, число анализируемых векторов, число кластеров) - за исключением лямбда-алгоритма Н.Г.Загоруйко квадратичной сложности.
Т.е. и метод динамических ядер (базовый алгоритм кластеризации), и нейросетевые его перепевки (карты Кохонена, квантующие сети) абсолютно ненапряжны в плане времени расчетов - до момента переваливания числа векторов за миллион. Секунды и минуты на обычном компе, без всякого распараллеливания (если вся база данных в память влезает - чтобы к диску не лазить).

Распараллеливается всё тоже без проблем.
Из возможностей ускорения - использование неравенства треугольника для сокращения числа сравнений (статья Чарльза Элкана с соавторами года так 2003 - точное название и ссылку не помню), но поскольку методы кластеризации - одни из базовых в группе методов data mining, то люди уже понаделали кучу разных вариантов алгоритмов под разные специфики задач. В интернете буржуинских статей в свободном доступе навалом.

Я себе писал обычный метод динамических ядер, с возможностью выбора метрики при сравнении векторов и с возможностью задания правил предварительного масштабирования данных, плюс обобщение кода на случай наличия векторов-эталонов (т.е. реализация и метода классификации с учителем - метода К ближайших соседей, KNN).

Виктор Царегородцев
www.NeuroPro.ru - нейросети, анализ данных, прогнозирование

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)