You are on page 1of 6

Міністерство освіти та науки України

Харківський національний університет радіоелектроніки

Кафедра ІМІ

Звіт з лабораторної роботи №3


з дисципліни : «Інтелектуальні техонології в ТКРТ»
на тему: «Дослідження алгоритмів пошуку асоціативних правил»
Бригада 3 (Варіант 3)

Виконав: Перевірив:
Студент групи ІКІм-22-1 Федоров О.В.
Акіменко А.с
Ворончихін О.А.
Сулейманов Ельмір
Сулейманов Самір
Усатий Д.О.
Шабохін М.А.

Харків – 2023
Дослідження алгоритмів кластеризації даних

«Постановка задач кластеризації»

Мета роботи: Потрібно досліджувати роботу алгоритмів


кластеризації об'єктів спостереження за двома ознаками. Для кожного набору
даних потрібно виконати такі завдання.

Робоча програма:
1. Провести кластеризацію об'єктів спостереження за допомогою
алгоритму k внутрішньо групових середніх.
2. Графічно зобразити на площині розбиття об'єктів спостереження
відповідно до кластерів та відповідно до класів ci. Також відзначити центри
кожного кластеру. Кількість кластерів має відповідати кількості класів.
3. Для розбиття на кластери обчислити суму квадратів відстаней (15)
від кожного об'єкта спостереження до центру відповідного кластера.

Порядок виконання роботи:


Спочатку відкриваймо нашу робочу програму RStudio.

У таблиці для кожного варіанта завдання наведено значення кількості


об'єктів спостереження для кожного класу (n1 та n2), значення векторів
математичних очікувань для кожного класу (a1 та a2) та кореляційні матриці
для кожного класу (R1 та R2) для моделюється вибірки з гауссівських
випадкових векторів.
Рисунок 1 – Початкова кластеризація

Рисунок 2 - Результат кластеризації за допомогою алгоритму k внутрішньо


групових середніх
Рисунок 3 – Робоча таблиця даних

Рисунок 4 – Результат кластеризації за допомогою алгоритму k внутрішньо


групових середніх
Висновок: на лабораторній роботі ми дослідили роботу алгоритмів
кластеризації об'єктів спостереження за двома ознаками. Для кожного набору
даних виконали відповідні завдання.
ДОДАТОК А
Виконання програми

analyse_clust <- function(x, y, clazz) {


+ k <- length(unique(clazz))
+ clust <- kmeans(cbind(x, y), k)
+ print(clust$totss)
+ dev.new()
+ plot(x, y, col=as.factor(clazz))
+ dev.new()
+ plot(x, y, col=as.factor(clust$cluster))
+ points(clust$centers, col=1:length(clust$centers),
+ pch=4, cex=2)
+ }
> dat <- read.table("D:\\Study\\Fedorov\\LB3\\data_txt\\imports-85\\imports-
85.data" , sep="," )
> analyse_clust(dat$V9, dat$V20,
+ as.factor(dat$V1))
> n1 <- 100
> a1 <- c(-1, 1)
> r1 <- cbind(c(1, 0.1), c(0.1, 2))
> n2 <- 50
> a2 <- c(2, 4)
> r2 <- cbind(c(2, 0.1), c(0.1, 1))
> dat <- rbind(mvrnorm(n1, a1, r1), mvrnorm(n2, a2, r2))
> analyse_clust(dat[,1], dat[,2], c(rep(1, n1), rep(2,
+ n2)))
[1] 1006.035
> head(dat[])
[,1] [,2]
[1,] -0.06364057 0.9342514
[2,] -0.60397301 -0.4209082
[3,] -0.17224331 -2.0153082
[4,] 0.92783644 -0.0941489
[5,] -1.63006865 -0.5761811
[6,] -0.73396163 1.6449147

Контрольні запитання

3. К какому классу сложности относится задача кластеризации в


классической постановке?

Кластеризация данных заключается в разделении множества объектов


на группы (кластеры) таким образом, чтобы объекты внутри каждого
кластера были схожи между собой, а объекты из разных кластеров
отличались. Задача состоит в определении структуры кластеров на основе
входных данных без явного обучения или заранее определенных классов.
Проблема заключается в том, что существует множество возможных
способов разделения объектов на кластеры, и для больших наборов данных
невозможно перебрать все возможные варианты за разумное время. Поэтому
общепринято применять эвристические алгоритмы кластеризации, которые
предлагают приближенные решения, но без гарантии нахождения
оптимального результата.
Таким образом, задача кластеризации данных в классической
постановке является NP-трудной, что означает, что для неё нет известного
полиномиального алгоритма, способного решить её оптимально за разумное
время..

7. Какие существуют альтернативные варианты реализации алгоритма


k внутригрупповых средних?
Реализация Маккуина (англ. MacQueen) по-другому подходит к
пересчёту центров кластеров. Она пересчитывает центры всякий раз, как
очередной объект наблюдения меняет свой кластер, прямо в процессе
перераспределения объектов по кластерам.

4. Как работает классическая реализация алгоритма k внутригрупповых


средних?

Наиболее простой, но в то же время достаточно неточный метод


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

You might also like