मेरे पास आयाम 250k x 100 की बाइनरी विशेषताओं का एक अर्ध-छोटा मैट्रिक्स है। प्रत्येक पंक्ति एक उपयोगकर्ता है और कॉलम कुछ उपयोगकर्ता व्यवहार के बाइनरी "टैग" हैं जैसे "पसंद_कैट"।
user 1 2 3 4 5 ...
-------------------------
A 1 0 1 0 1
B 0 1 0 1 0
C 1 0 0 1 0
मैं उपयोगकर्ताओं को 5-10 समूहों में फिट करना चाहूंगा और लोडिंग का विश्लेषण करके देखूंगा कि क्या मैं उपयोगकर्ता व्यवहार के समूहों की व्याख्या कर सकता हूं। बाइनरी डेटा पर फिटिंग क्लस्टर के लिए काफी कुछ दृष्टिकोण प्रतीत होता है - हमें क्या लगता है कि इस डेटा के लिए सबसे अच्छी रणनीति हो सकती है?
पीसीए
जैककार्ड समानता मैट्रिक्स बनाना , एक पदानुक्रमित क्लस्टर फिटिंग और फिर शीर्ष "नोड्स" का उपयोग करना।
कश्मीर माध्यिकाओं
कश्मीर medoids
Proximus ?
एग्नेस
अब तक मुझे पदानुक्रमिक क्लस्टरिंग का उपयोग करने के साथ कुछ सफलता मिली है, लेकिन मुझे यकीन नहीं है कि यह जाने का सबसे अच्छा तरीका है ..
tags = read.csv("~/tags.csv")
d = dist(tags, method = "binary")
hc = hclust(d, method="ward")
plot(hc)
cluster.means = aggregate(tags,by=list(cutree(hc, k = 6)), mean)