Als jemand relativ neu zu R habe ich ein Problem mit dem Erstellen einer for-Schleife.Ausgabe mehrerer Vektoren aus For-Schleife in R
Ich habe einen sehr großen Datensatz mit 9000 Beobachtungen und 25 kategorischen Variablen, die ich in binäre Daten und vorgeformte hierarchische Cluster umgewandelt habe. Nun möchte ich K-Modes-Clustering versuchen, um eine Elbow-Plot unter Verwendung der "innerhalb des Clusters einfach passenden Entfernung für jeden Cluster" zu erzeugen, die von kmodes$withindiff
ausgegeben wird. Ich kann dies für jeden der k in 1:8
Cluster summieren, um den Elbow Plot zu erhalten.
Mein Problem ist, dass ich weitere Ausgabe von k-Modi wollen. Für jede k in 1:8
möchte ich den Vektor der Ganzzahlen erhalten, die den Cluster angeben, dem jedes Objekt durch kmodes$cluster
gegeben ist. Ich muss eine for-Schleife erstellen, die jede k in 1:8
Schleife durchschreibt und jeden der Ausgaben in 8 separaten Vektoren speichert. Aber ich weiß nicht, wie man so eine Schleife macht. Ich könnte einfach die 8 Zeilen Code getrennt ausführen, aber sie nehmen jeweils 15 Minuten mit iter.max=10
laufen, so dass dies auf iter.max=100
erhöht werden muss über Nacht laufen gelassen werden, so dass eine Schleife nützlich wäre.
cl.kmodes2=kmodes(data, 2,iter.max=100)
cl.kmodes3=kmodes(data, 3,iter.max=100)
cl.kmodes4=kmodes(data, 4,iter.max=100)
cl.kmodes5=kmodes(data, 5,iter.max=100)
cl.kmodes6=kmodes(data, 6,iter.max=100)
cl.kmodes7=kmodes(data, 7,iter.max=100)
cl.kmodes8=kmodes(data, 8,iter.max=100)
Letztlich mag ich die Ergebnisse aus dem hierarchischen binären Clustering des k-Modi Clustering vergleichen mit dem eingestellten Rande Index zu bekommen. Zum Beispiel Schneiden des Baumes bei k=4
für den hierarchischen Cluster und vergleichen diese mit einer 4-Cluster-Lösung von k-Modi:
dist.binary = dist(data, method="binary")
cl.binary = hclust(dist.binary, method="complete")
hcl.4 = cutree(cl.binary, k = 4)
tab = table(hcl.4, cl.kmodes4$cluster)
library(e1071)
classAgreement(tab)
Dies funktionierte gut und dauerte nicht so lange wie erwartet. Der sichere Tipp war auch sehr nützlich, Prost. – PennyR