मेरे पास एक वेक्टर (एक्स 2) है और मैं उन समूहों की जांच करना चाहता हूं जो वे बना सकते हैं। मैंने के-साधन विश्लेषण किया है, जिसमें 2 क्लस्टर हैं: आकार X2 = (19,1)
kmeans = KMeans(n_clusters=2,random_state=123)
kmeans.fit(X2)
label = kmeans.fit_predict(X2)
print(label)
[0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0]
अब मैं इन 2 समूहों का स्कैटर प्लॉट बनाना चाहूंगा। क्या कोई मुझे साजिश में मदद कर सकता है।
मुझे यकीन नहीं है कि मैं अपने वेक्टर (एक्स 2) के साथ लेबल को कैसे जोड़ सकता हूं और एक्स-अक्ष और वाई-अक्ष में क्या रखा जा सकता है।
लेकिन मुझे नहीं पता कि प्लॉट को कैसे व्यवस्थित किया जाए, क्योंकि लेबल x-अक्ष नहीं हैं। मैं अब y-अक्ष (X2), जो गुम है वह है x-अक्ष और लेबल को रंगों के साथ X2 से कैसे संबद्ध करें
2 जवाब
आप अपने x बिंदुओं को अनुक्रमणिका के रूप में और y बिंदुओं को वास्तविक मान (X2) के रूप में प्लॉट कर सकते हैं। और अगर हम इस बिंदु पर आते हैं कि आप रंगों को जोड़ना चाहते हैं तो आप matplotlib की स्कैटर विधि के 'c' कीवर्ड का उपयोग कर सकते हैं।
उदाहरण के तौर पे:
plt.scatter([i for i in range(len(X2))], X2, c=labels)
रंग (सी) = लेबल, उन अनुक्रमणिकाओं को बिखेरने वाला है जिनमें समान रंग के साथ समान लेबल होता है। आप प्रत्येक बिंदु को लाल करने के लिए c="red" का भी उपयोग कर सकते हैं।
आपके द्वारा प्रदर्शित प्लॉट एक 3-आयामी ग्राफ़िक, स्पेस X (x, y) और वर्ग है।
यदि मैं आपके प्रश्न को समझता हूं, तो आप ऐसे नमूने एकत्र कर रहे हैं जो एक आयाम में हैं। आपको 3-आयामी ग्राफ़ की नहीं बल्कि 2-आयामी की आवश्यकता है। आप ग्राफिक के रंग को भूल सकते हैं और वर्ग (-1,1) का प्रतिनिधित्व करने के लिए y-अक्ष का उपयोग कर सकते हैं।
यदि आप एक नकली आयाम (y = 0) जोड़कर चाहते हैं तो आप उन्हें 2-आयामी स्थान पर प्रोजेक्ट कर सकते हैं और अनुमानित वर्ग के साथ matplotlib के रंग पैरामीटर का उपयोग कर सकते हैं।
संबंधित सवाल
नए सवाल
matplotlib
माटप्लोटलिब पायथन के लिए एक प्लॉटिंग लाइब्रेरी है, जिसका उपयोग अंतःक्रियात्मक रूप से किया जा सकता है या स्टैंड-अलोन जीयूआई में एम्बेडेड हो सकता है। इसका कॉम्पैक्ट "pyplot" इंटरफ़ेस MATLAB® के प्लॉटिंग फ़ंक्शन के समान है।
range(len(X2))
के समान है।X2
को कई सरणियों में विभाजित करने की अनुशंसा करता हूं जहां प्रत्येक नई सरणी मेंX2
के तत्व होते हैं जोlabels
में संबंधित क्लस्टर आईडी से जुड़े होते हैं। यह एक गैर-तुच्छ अभ्यास है - मेरा मानना है कि आप मूलX2
से प्रत्येक तत्व के प्लॉट किए गए "x" इंडेक्स को संरक्षित करना चाहेंगे, अन्यथा प्लॉट वैसा नहीं दिखेगा जैसा आप उम्मीद करते हैं।