Главная страница
Навигация по странице:

  • Dendrogram of agnes(x = agriculture)

  • учпрактика. Аргументы x численная матрица, содержащая объекты


    Скачать 160.9 Kb.
    НазваниеАргументы x численная матрица, содержащая объекты
    Анкоручпрактика
    Дата28.02.2021
    Размер160.9 Kb.
    Формат файлаpdf
    Имя файлаlab2_a.pdf
    ТипДокументы
    #180461

    0.1. Кластеризация kmeans(x, centers, iter.max = 10, nstart = 1,
    algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"))
    Аргументы:
    x
    — численная матрица, содержащая объекты;
    centers
    — или число кластеров, или множество исходных цен- тров кластеров. Если аргумент представляет собой число, то выби- рается случайное множество центро кластеров;
    iter.max
    — максимальное число итераций;
    nstart
    — если centers — число, то данный аргумент определяет,
    как много случайных множеств может быть выбрано;
    algorithm
    — символ, определяющий используемый алгоритм.
    Возвращаемое значение:
    Объект класса kmeans, который пред- ставляет собой список следующих компонент:
    cluster
    — вектор целых чисел, определяющих, в каком кластере размещены объекты;
    centers
    — матрица центров кластеров;
    withinss
    — сумма квадратов расстояний между точками для каждого кластера;
    size
    — число точек в каждом кластере.
    Пример:
    Сгенерируем случайные данные, которые разбиваются на
    2 кластера, и используем kmeans для построения этих кластеров:
    > x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
    matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
    > colnames(x) <- c("x", "y")
    > cl <- kmeans(x, 2)
    > plot(x, col = cl$cluster)
    > points(cl$centers, col = 1:2, pch = 8, cex=2)
    clara(x, k, metric = "euclidean", stand = FALSE, samples = 5,
    sampsize = min(n, 40 + 2 * k), trace = 0, medoids.x = TRUE,
    keep.data = medoids.x, rngR = FALSE)
    Аргументы:
    x
    — матрица данных (или фрейм данных), где каждая строка соответствует наблюдению и каждый столбец соответствует пере-
    2
    менной. Все переменные должны быть численными. Отсутствующие значения (NA) допускаются.
    k
    — число кластеров. Требуется, чтобы 0metric
    — символьное описание метрики, используемой для вы- числения различий между объектами. Доступны значения «euclidean»
    или «manhattan»;
    stand
    — логическая переменная, определяющая необходимость стандартизации данных. Измерения стандартизуются для каждой переменной путем вычитания значения математического ожидания и делением на стандартное отклонение данной переменной;
    samples
    — число сэмплов (вспомогательных наборов), извлекае- мых из исходного набора данных;
    sampsize
    — число наблюдений в каждом сэмпле (вспомогатель- ном наборе данных). sampsize должно быть больше, чем число кла- стеров (k) и не больше числа объектов (n);
    trace
    — целое число, указывающее необходимый уровень вывода хода работы алгоритма;
    medoids.x
    — логическая переменная, указывающая, возвращать ли медианы (медианы совпадают с некоторыми объектами из исход- ных данных). Если значение medoids.x равно FALSE, то алгоритм возвращает только номера строк матрицы x, содержащих медианы;
    keep.data
    — логическая переменная, указывающая стоит ли со- хранять в возвращаемом объекте копию исходных данных;
    rngR
    — логическая переменная, определяющая, использовать ли встроенный в R генератор случайных чисел, вместо встроенного в clara()
    Возвращаемое значение:
    Возвращается объект класса clara.object,
    содержащий следующие компоненты:
    sample
    — номера объектов, содержащихся в лучшем сэмпле (вспо- могательном наборе данных): номера объектов, используемые clara()
    для построения финального разбиения на кластеры.
    medoids
    — медианы для каждого кластера. Представляет собой матрицу, каждая строка которой содержит координаты медианы для кластера. Данное значение может быть равно NULL (если medoids.x равно F ALSE);
    i.med
    — индексы медиан кластеров (medoids <- x[i.med,]).
    3
    clustering
    — объект класса partition.object;
    objective
    — целевая функция для финального разбиения на кла- стеры на исходном наборе данных;
    clusinfo
    — матрица, каждая строка которой содержит числен- ную информацию для одного кластера. Это число объектов в класте- ре, максимальное и среднее различие между объектами в кластере и медианой кластера. Последний столбец — это максимальное разли- чие между объектами в кластере и медианой кластера, поделенное на минимальное различие между медианой кластера и медианами друних кластеров. Если это отношение мало, то кластер хорошо от- делен от других кластеров;
    diss
    — различие (см. partition.object);
    silinfo
    — список с информацией о ширине для лучшего сэмпла
    (вспомогательного набора данных) (см. partition.object).
    call
    — используемый вызов функции;
    data
    — матрица данных (возможно стандартизованная), или NULL.
    Пример:
    Фрейм данных ruspini из пакета cluster содержит ко- ординаты 75 точек на плоскости. Разобьем их на 4 кластера:
    > library(cluster)
    > cl <- clara(ruspini, 4)
    > plot(ruspini, col = cl$clustering, xlab = "x", ylab = "y")
    Результат см. на рис. 1.
    Теперь разобьем то же множество точек на 5 кластеров:
    > cl <- clara(ruspini, 5)
    > plot(ruspini, col = cl$clustering, xlab = "x", ylab = "y")
    Результат см. на рис. 2.
    agnes(x, diss = inherits(x, "dist"), metric = "euclidean",
    stand = FALSE, method = "average", par.method,
    keep.diss = n < 100, keep.data = !diss)
    Аргументы:
    x
    — матрица данных или набор данных (либо матрица разли- чий), в зависимости от значения аргумента diss. В случае, если x
    матрица или набор данных, то каждая строка соответствует объ- екту и каждый столбец соответствует переменной. Все переменные должны быть численными. Отсутствующие значения (NA) допуска- ются. В случае, если x – матрица различий, то она обычно является
    4

    0 20 40 60 80 100 120 0
    5 0
    1 0
    0 1
    5 0
    x y
    Рис. 1.
    Множество точек, разбитое на 4 кластера выводом функций daisy или dist. также допускается вектор длины n(n-1)/2
    , где n – число объектов, который будет интерпретирован тем же образом, как и вывод вышеприведенных функций. Отсут- ствующие значения не допускаются.
    diss
    — логическая переменная, указывающая на способ рассмот- рения матрицы x (TRUE соответствует тому, чтобы рассматривать x,
    как матрицу различий; FALSE – как матрицу, содержащую объекты).
    metric
    — строка, соответствующая используемой метрике для вычисления различий между объектами. Доступно использование следующих значений: «euclidean» и «manhattan». Если x – матри- ца различий, то данный аргумент игнорируется.
    stand
    — логическая переменная, определяющая необходимость стандартизации данных. Измерения стандартизуются для каждой переменной путем вычитания значения математического ожидания
    5

    0 20 40 60 80 100 120 0
    5 0
    1 0
    0 1
    5 0
    x y
    Рис. 2.
    То же множество точек, разбитое на 5 кластеров и делением на стандартное отклонение данной переменной. Если x –
    матрица различий, то данный аргумент игнорируется.
    method
    — символьная строка, определяющая метод кластериза- ции. Доступны 6 методов: «average» (усредняющий агломеративный алгоритм), «single» (алгоритм «простой связи»), «complete» (алго- ритм «полной связи»), «ward» (метод Варда), «weighted» (взвешен- ный усредняющмй агломеративный алгоритм) и его обобщение «flexible»,
    который использует константную версию формулы Ланса-Вильямса.
    По умолчанию используется «average».
    par.method
    — если method=="flexible", численный вектор дли- ны 1, 3 или 4, содержащий параметры для функции Ланса-Вильямса.
    keep.diss, keep.data
    — логические переменные, указывающие на то, необходимо ли сохранять различия и(или) входные данные x в объекте, возвращаемом функцией.
    6

    Возвращаемое значение:
    Возвращается объект класса agnes, пред- ставляющий собой список со следующими компонентами:
    order
    — вектор, содержащий перестановку оригинальных объ- ектов, которая позволяет построение таким образом, чтобы ветви дендрограммы не пересекались.
    order.lab
    — вектор, похожий на order, но содержащий метки объектов, а не их номера. Этот компонент доступен только в том случае, если объекты имеют метки.
    height
    — вектор с расстояниями между объединяемыми класте- рами.
    ac
    — агломеративный коэффициент, измеряющий кластерную струк- туру набора данных. Для каждого объекта i обозначим m(i) его различие с первым кластером, с которым он объединялся, разделен- ное на различие of the merger на финальном шаге алгоритма. ac –
    это среднее среди всех 1-m(i). Его также можно рассматривать, как среднюю ширину (или процент заполняемости) of the banner plot.
    Т.к. ac растет вместе с ростом числа объектов, эта метрика не может быть использована для сравнения наборов данных с сильно отлича- ющимися размерами.
    merge
    — матрица размера (n-1)×2, где n – число объектов. Стро- ка i описывает объединение кластеров на шаге i. Если число j в строке отрицательное, то единичный объект |j| присоединяется на данной стадии. Если j положительно, то осуществляется присоеди- нение кластера, сформированного на стадии j работы алгоритма.
    diss
    — объект класса dissimilarity, представляющий матрицу различий для исходных данных.
    data
    — матрица, содержащая исходные или стандартизованные данные (в зависимости от значения аргумента stand).
    Пример:
    Набор данных agriculture из пакета cluster содержит данные о валовом национальном продукте на душу населения и про- центе населения, работающего в сельском хозяйстве. Построим денд- рограмму:
    > data(agriculture)
    > plot(agnes(agriculture))
    Как видно из рис. 0.1, в один кластер объединены страны с боль- шой долей сельского хозяйства (Греция, Португалия, Испания и Ир- ландия).
    7

    B
    N
    L
    D
    F
    U
    K
    D
    K
    L
    I
    G
    R
    P
    E
    IR
    L
    0 2
    4 6
    8 1
    0 1
    2 1
    4
    Dendrogram of agnes(x = agriculture)
    Agglomerative Coefficient = 0.78
    agriculture
    H
    e ig h
    t
    0.1.1. Задания
    1) Разбейте множество объектов из набора данных pluton на 3
    кластера методом центров тяжести (kmeans). Сравните каче- ство разбиения в зависимости от макисмального числа итера- ций алгоритма.
    2) Сгенерируйте набор данных в двумерном пространстве, состо- ящий из 3 кластеров, каждый из которых сильно «вытянут»
    вдоль одной из осей. Исследуйте качество кластеризации мето- дом clara в зависимости от 1)использования стандартизации;
    2)типа метрики. Объясните полученные результаты.
    3) Постройте дендрограмму для набора данных votes.repub (чис- ло голосов, поданных за республиканцев на выборах с 1856 по
    1976 год). Проинтерпретируйте полученный результат.
    8


    написать администратору сайта