Орындаган: Серик Гулсезим 6-зертханалық жұмыс r-да кластерлік талдау



бет3/3
Дата21.11.2023
өлшемі1,27 Mb.
#192735
1   2   3
Байланысты:
зерт Гулсезим 6-н

MiniBatchKmeans алгоритмінің параметрлері ClusterR бумасындағы KMeans_rcpp функцияларымен дерлік бірдей . Ең маңызды айырмашылық - batch_size (шағын топтардың өлшемі) және init_fraction параметрі (бастапқы центроидтарды анықтауға арналған деректер пайызы , егер инициализатор ' kmeans ++' немесе ' quantile_init ' болса қолданылады ).

KMeans_rcpp және MiniBatchKmeans функцияларының есептеу уақытындағы және шығыс сапасындағы айырмашылықты көрсету үшін векторлық кванттау мысалын қолданамын .



path_d = 'Dog_Breeds.jpg'
im_d = readImage(path_d)


# сначала изменим размер картинки, чтобы уменьшить количество измерений
im_d = resizeImage(im_d, 350, 350, method = 'bilinear')
imageShow(im_d)


im3 = apply(im_d, 3, as.vector) # векторизированный RGB
dim(im3) # исходные измерения данных

k-мағынасын кластерлеуді жасайық .
start = Sys.time()
km_init = KMeans_rcpp(im3, clusters = 5, num_init = 5, max_iters = 100,
initializer = 'kmeans++', threads = 1, verbose = F)
end = Sys.time()
t = end - start
cat('time to complete :', t, attributes(t)$units, '\n')


# время выполнения : 2.44029 secs


getcent_init = km_init$centroids
getclust_init = km_init$clusters
new_im_init = getcent_init[getclust_init, ] # каждое значение ассоциируется с ближайшим центроидом
dim(new_im_init) = c(nrow(im_d), ncol(im_d), 3) # обратное преобразование к трехмерной картинке
imageShow(new_im_init)




Енді k - шағын топтарда кластерлеуді білдіреді .



start = Sys.time()
km_mb = MiniBatchKmeans(im3, clusters = 5, batch_size = 20, num_init = 5, max_iters = 100,
init_fraction = 0.2, initializer = 'kmeans++', early_stop_iter = 10,
verbose = F)
pr_mb = predict_MBatchKMeans(im3, km_mb$centroids)
end = Sys.time()
t = end - start
cat('time to complete :', t, attributes(t)$units, '\n')


# время выполнения : 0.8346727 secs


getcent_mb = km_mb$centroids
new_im_mb = getcent_mb[pr_mb, ] # каждое значение ассоциируется с ближайшим центроидом
dim(new_im_mb) = c(nrow(im_d), ncol(im_d), 3) # обратное преобразование к трехмерной картинке
imageShow(new_im_mb)



Шығару сапасының шамалы айырмашылығына қарамастан, мини-топтардағы k-орталары осы деректер жиынындағы классикалық k-орталарынан орташа екі есе жылдам нәтижелерді қайтарады.

Достарыңызбен бөлісу:
1   2   3




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет