Поделиться через


ClusterDistance (расширения интеллектуального анализа данных)

Область применения: SQL Server Analysis Services

Функция ClusterDistance возвращает расстояние входного регистра от указанного кластера или, если кластер не указан, расстояние входного регистра от наиболее вероятного кластера.

Синтаксис

  
ClusterDistance([<ClusterID expression>])  

Применяется к

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

Тип возвращаемых данных

Скалярное значение.

Замечания

Функция ClusterDistance возвращает расстояние между входным регистром и кластером с наибольшей вероятностью для этого входного случая.

В случае кластеризации методом К-средних любой вариант может принадлежать только к одному кластеру с весом членства, равным 1,0, и расстоянием от кластера, всегда равным 0. Однако при использовании метода К-средних предполагается, что каждый кластер имеет центроид. Значение центроида можно получить, выполнив запрос или просмотрев вложенную таблицу NODE_DISTRIBUTION в содержимом модели интеллектуального анализа данных. Дополнительные сведения см. в разделе "Содержимое модели интеллектуального анализа данных" для моделей кластеризации (службы Analysis Services — интеллектуальный анализ данных).

Но если используется применяемый по умолчанию метод кластеризации, называемый методом максимизации ожидания (EM), все точки внутри кластера рассматриваются как равновероятные, так что центроид в кластере отсутствует. Значение ClusterDistance между конкретным случаем и определенным кластером N вычисляется следующим образом:

ClusterDistance(N) =1-(membershipWeight(N))

Или сделайте так:

ClusterDistance(N) =1-ClusterProbability (N))

Службы Analysis Services предоставляют следующие дополнительные функции для запроса моделей кластеризации:

Пример1. Получение расстояния кластера к наиболее вероятному кластеру

В следующем примере возвращается расстояние от указанного варианта до кластера, к которому вариант принадлежит с наибольшей вероятностью.

SELECT  
    ClusterDistance()  
FROM  
    [TM Clustering]  
NATURAL PREDICTION JOIN  
(SELECT 28 AS [Age],  
    '2-5 Miles' AS [Commute Distance],  
    'Graduate Degree' AS [Education],  
    0 AS [Number Cars Owned],  
    0 AS [Number Children At Home]) AS t  

Пример результатов:

Expression
0.0477390930705145

Чтобы выяснить, какой это кластер, можно заменить в предыдущем образце функцию Cluster на ClusterDistance.

Пример результатов:

$CLUSTER
Кластер 6

Пример 2. Получение расстояния к указанному кластеру

Следующий синтаксис использует набор строк схемы содержимого модели интеллектуального анализа данных для возврата списка идентификаторов узла и заголовков узла для кластеров в модели интеллектуального анализа. Затем можно использовать заголовок узла в качестве аргумента идентификатора кластера в функции ClusterDistance .

SELECT NODE_UNIQUE_NAME, NODE_CAPTION   
FROM <model>.CONTENT   
WHERE NODE_TYPE = 5  

Пример результатов:

NODE_UNIQUE_NAME NODE_CAPTION
001 Cluster 1
002 Кластер 2

Следующая синтаксическая конструкция возвращает расстояние до указанного варианта от кластера, обозначенного как Cluster 2.

SELECT  
    ClusterDistance('Cluster 2')  
AS [Cluster 2 Distance]  
FROM [TM Clustering]  
NATURAL PREDICTION JOIN  
(SELECT 28 AS [Age],  
    '2-5 Miles' AS [Commute Distance],  
    'Graduate Degree' AS [Education],  
    0 AS [Number Cars Owned],  
    0 AS [Number Children At Home]) AS t  

Пример результатов:

Cluster 2 Distance
0.97008209236394

См. также

Кластер (DMX)
Справочник по функциям расширений интеллектуального анализа данных
Функции (расширение интеллектуального анализа данных)
Содержимое модели интеллектуального анализа данных для моделей кластеризации (службы Analysis Services — интеллектуальный анализ данных)