У меня есть две древовидных схемы, которые я хочу сравнить друг с другом, чтобы узнать, насколько "подобный" они. Но я не знаю ни о каком методе, чтобы сделать так (уже не говоря о коде для реализации его, скажем, в R).
Кто-либо ведет?
ОБНОВЛЕНИЕ (2014-09-13):
Начиная с задавания этого вопроса я записал пакет R, названный dendextend, для визуализации, управления и сравнения древовидной схемы. Этот пакет находится на CRAN и идет с подробной виньеткой. Это включает функции такой как cor_cophenetic
, cor_bakers_gamma
и Bk
/ Bk_plot
. А также a tanglegram
функция для того, чтобы визуально сравнить два дерева.
Да, основной целью схемы SQL было -is- упрощение управления безопасностью : определите, кто [какие участники] может получить доступ к каким [объектам базы данных]. Это стало особенно проще, начиная с SQL 2005, когда схема перестала быть напрямую привязанной к владельцу.
Другое использование схемы состоит в том, чтобы служить пространством имен , что предотвращает конфликты имен между объектами из разных схем.
Первоначально это было сделано для того, чтобы позволить нескольким [интерактивным, т.е. ad-hoc-подобным] пользователям данной базы данных создавать свои собственные таблицы или хранимые процедуры (или другие объекты), не беспокоясь о существовании подобных именованных объектов, которые могут быть введены другими пользователями.
Namespace-подобную природу схемы можно также использовать в запланированной настройке базы данных, т.е. когда один архитектор проектирует структуру базы данных в путь, которая обеспечивает различный тип доступа, а также различные варианты поведения для различных групп пользователей.
__ имя __
относится к модулю, поскольку это то, что он должен делать . Единственный способ получить доступ к текущей выполняемой функции заключается в интроспекции стека.
Сравнение дендрограмм не совсем то же самое, что сравнение иерархических кластеров, потому что первые включают длины ветвей, а также расщепления, но я также думаю, что это хорошее начало. Я предлагаю вам прочитать E.B. Fowlkes & C. L. Mallows (1983). «Метод сравнения двух иерархических кластеров». Журнал Американской статистической ассоциации 78 (383): 553-584 (ссылка) .
Их подход основан на разделке деревьев на каждом уровне k , получении показателя Bk , который сравнивает группировки на k кластеров, а затем изучении Bk против k графиков. Мера Bk основана на взгляде на пары объектов и на том, попадают ли они в один кластер или нет.
Я уверен, что можно написать код на основе этого метода, но сначала нам нужно знать, как дендрограммы представлены в R.
GetSystemMetrics с SM _ CMONITORS
и выйдите...
Просмотрите
Как вы знаете, Dendrograms возникают из иерархической кластеризации - так что вы действительно спрашиваете, как я могу сравнить результаты двух иерархических кластеризации. Нет стандартных метрик, о которых я знаю, но я бы смотрел на количество найденных кластеров и сравнивал сходство членства между подобными кластерами. Вот хороший обзор иерархической кластеризации, который мой коллега написал на кластеризации виски скотча.
Если у вас есть доступ к базовой матрице расстояний, которая генерирует каждую дендрограмму (вы, вероятно, имеете, если вы сгенерировали дендорограммы в R), не могли бы вы просто использовать корреляция между соответствующими значениями двух матриц? Я знаю, что это не соответствует букве того, о чем вы просили, но это хорошее решение духа того, что вы просили.