আমি ক্লাস্টারিং অ্যালগোরিদমগুলির একটি তালিকা সংকলন করার চেষ্টা করছি:
- আরে প্রয়োগ করা হয়েছে
- বিক্ষিপ্ত কাজ ডেটা ম্যাট্রিক্স যেমন দ্বারা নির্মিত হিসাবে (না (অপ) সাদৃশ্য ম্যাট্রিক্স), sparseMatrix ফাংশন।
সিভিতে আরও বেশ কয়েকটি প্রশ্ন রয়েছে যা এই ধারণাটি নিয়ে আলোচনা করে তবে এগুলির কোনওটিরই আর প্যাকেজগুলির সাথে লিঙ্ক করে না যা স্পার্স ম্যাট্রিকগুলিতে সরাসরি পরিচালনা করতে পারে:
- বৃহত এবং স্পারযুক্ত ডেটাসেটগুলি ক্লাস্টারিং
- ক্লাস্টারিং উচ্চ-মাত্রিক স্পার্স বাইনারি ডেটা
- বিরল এবং উচ্চ-মাত্রিক ক্লাস্টারিং বাস্তবায়ন সন্ধান করছে
- স্থান-দক্ষ ক্লাস্টারিং
এখনও অবধি, আমি আর তে ঠিক একটি ফাংশন পেয়েছি যা স্পার্স ম্যাট্রিক্সগুলিকে ক্লাস্টার করতে পারে:
স্কিম্যানস : গোলাকার কামিজ
থেকে skmeans প্যাকেজ । কোমেন দূরত্ব ব্যবহার করে । ডিজিটিম্যাট্রিক্স অবজেক্টে পরিচালনা করে। জেনেটিক কে-মানে অ্যালগোরিদম, প্লেক্লাস্ট, ক্লুটো, জিমিয়ানস এবং কিমিডায়ারগুলিকে একটি ইন্টারফেস সরবরাহ করে।
উদাহরণ:
library(Matrix)
set.seed(42)
nrow <- 1000
ncol <- 10000
i <- rep(1:nrow, sample(5:100, nrow, replace=TRUE))
nnz <- length(i)
M1 <- sparseMatrix(i = i,
j = sample(ncol, nnz, replace = TRUE),
x = sample(0:1 , nnz, replace = TRUE),
dims = c(nrow, ncol))
M1 <- M1[rowSums(M1) != 0, colSums(M1) != 0]
library(skmeans)
library(cluster)
clust_sk <- skmeans(M1, 10, method='pclust', control=list(verbose=TRUE))
summary(silhouette(clust_sk))
নিম্নলিখিত অ্যালগরিদমগুলি নমিনিতপূর্ণ উল্লেখ পেয়ে যায়: এগুলি বেশিরভাগ ক্লাস্টারিং অ্যালগোরিদম নয়, তবে স্পার্স ম্যাট্রিকগুলিতে পরিচালনা করে।
এপ্রিওরি : সমিতি মাইনিংয়ের নিয়ম করে
থেকে arules প্যাকেজ । "লেনদেন" অবজেক্টগুলিতে পরিচালিত হয়, যা এনজিসিমেট্রিক্স অবজেক্ট থেকে জোর করা যায়। সুপারিশ করতে ব্যবহার করা যেতে পারে।
উদাহরণ:
library(arules)
M1_trans <- as(as(t(M1), 'ngCMatrix'), 'transactions')
rules <- apriori(M1_trans, parameter =
list(supp = 0.01, conf = 0.01, target = "rules"))
summary(rules)
irlba : স্পার্স এসভিডি
থেকে irlba প্যাকেজ । স্পার্স ম্যাট্রিক্সে এসভিডি করে। Traditionalতিহ্যবাহী আরআর প্যাকেজগুলির সাথে ক্লাস্টারিংয়ের আগে স্পার ম্যাট্রিক্সগুলির মাত্রা হ্রাস করতে ব্যবহৃত হতে পারে।
উদাহরণ:
library(irlba)
s <- irlba(M1, nu = 0, nv=10)
M1_reduced <- as.matrix(M1 %*% s$v)
clust_kmeans <- kmeans(M1, 10)
summary(silhouette(clust_kmeans$cluster, dist(M1_reduced)))
অ্যাপক্লাস্টার : অ্যাফিনিটি প্রোপাগেশন ক্লাস্টারিং
library(apcluster)
sim <- crossprod(M1)
sim <- sim / sqrt(sim)
clust_ap <- apcluster(sim) #Takes a while
সেখানে অন্য কোন কাজ রয়েছে?