আমার কাছে 336x256 ভাসমান পয়েন্ট সংখ্যা (336 ব্যাকটিরিয়াল জিনোম (কলাম) x 256 নরমালাইজড টেট্রেনোক্লাইটাইড ফ্রিকোয়েন্সি (সারি) এর ম্যাট্রিক্স রয়েছে, যেমন প্রতিটি কলামে 1 টি যোগ হয়)।
আমি যখন নীতি উপাদান উপাদান বিশ্লেষণ ব্যবহার করে আমার বিশ্লেষণ চালাই তখন আমি ভাল ফলাফল পাই। প্রথমে আমি ডেটাতে কমেন্স ক্লাস্টারগুলি গণনা করি, তারপরে একটি পিসিএ চালাব এবং 2 ডি এবং 3 ডি-তে ক্লিমারিংয়ের প্রাথমিক ক্লিন্সের উপর ভিত্তি করে ডেটা পয়েন্টগুলি রঙিন করুন:
library(tsne)
library(rgl)
library(FactoMineR)
library(vegan)
# read input data
mydata <-t(read.csv("freq.out", header = T, stringsAsFactors = F, sep = "\t", row.names = 1))
# Kmeans Cluster with 5 centers and iterations =10000
km <- kmeans(mydata,5,10000)
# run principle component analysis
pc<-prcomp(mydata)
# plot dots
plot(pc$x[,1], pc$x[,2],col=km$cluster,pch=16)
# plot spiderweb and connect outliners with dotted line
pc<-cbind(pc$x[,1], pc$x[,2])
ordispider(pc, factor(km$cluster), label = TRUE)
ordihull(pc, factor(km$cluster), lty = "dotted")
# plot the third dimension
pc3d<-cbind(pc$x[,1], pc$x[,2], pc$x[,3])
plot3d(pc3d, col = km$cluster,type="s",size=1,scale=0.2)
তবে আমি যখন টি-এসএনই পদ্ধতিতে পিসিএ পরিবর্তন করার চেষ্টা করি, ফলাফলগুলি খুব অপ্রত্যাশিত দেখায়:
tsne_data <- tsne(mydata, k=3, max_iter=500, epoch=500)
plot(tsne_data[,1], tsne_data[,2], col=km$cluster, pch=16)
ordispider(tsne_data, factor(km$cluster), label = TRUE)
ordihull(tsne_data, factor(km$cluster), lty = "dotted")
plot3d(tsne_data, main="T-SNE", col = km$cluster,type="s",size=1,scale=0.2)
আমার প্রশ্ন এখানে কেন টিউ-এসএনই গণনা করে কুমেন ক্লাস্টারিং এত আলাদা। আমি পিসিএ যা করি তার চেয়ে ক্লাস্টারগুলির মধ্যে আরও ভাল বিচ্ছেদ আশা করতাম তবে এটি আমার কাছে প্রায় এলোমেলো মনে হচ্ছে। তুমি জানো কেন এটা? আমি কি কোনও স্কেলিং পদক্ষেপ বা কোনও ধরণের সাধারণীকরণ অনুপস্থিত?