आमतौर पर जब मैं डेंडरोग्राम और हीटमैप्स करता हूं, तो मैं दूरी मैट्रिक्स का उपयोग करता हूं और SciPy
सामान का एक गुच्छा करता हूं। मैं Seaborn
को आजमा देना चाहता हूं लेकिन Seaborn
आयताकार रूप में मेरा डेटा चाहता है (पंक्तियां = नमूने, कोल्स = विशेषताएँ, दूरी मैट्रिक्स नहीं)?sns.clustermap को एक प्रीकंप्यूटेड दूरी मैट्रिक्स कैसे देना है?
मैं अनिवार्य रूप से seaborn
का उपयोग अपने डेंड्रोग्राम की गणना करने के लिए बैकएंड के रूप में करना चाहता हूं और इसे अपने हीटमैप पर ले जाना चाहता हूं। क्या यह संभव है? यदि नहीं, तो यह भविष्य में एक विशेषता हो सकती है।
शायद ऐसे पैरामीटर हैं जिन्हें मैं समायोजित कर सकता हूं ताकि यह एक आयताकार मैट्रिक्स के बजाय दूरी मैट्रिक्स ले सके?
यहाँ उपयोग है:
seaborn.clustermap¶
seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean',
z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True,
col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None,
col_colors=None, mask=None, **kwargs)
मेरे नीचे कोड:
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
DF = pd.DataFrame(X, index = ["iris_%d" % (i) for i in range(X.shape[0])], columns = iris.feature_names)
मुझे नहीं लगता कि मेरी विधि नीचे सही है क्योंकि मैं इसे एक precomputed रहा हूं दूरी मैट्रिक्स और एक आयताकार डेटा मैट्रिक्स के रूप में अनुरोध नहीं है। clustermap
के साथ सहसंबंध/दूरी मैट्रिक्स का उपयोग करने के लिए कोई उदाहरण नहीं है लेकिन https://stanford.edu/~mwaskom/software/seaborn/examples/network_correlations.html के लिए है लेकिन ऑर्डरिंग क्लस्टर नहीं है/सादा sns.heatmap
func।
DF_corr = DF.T.corr()
DF_dism = 1 - DF_corr
sns.clustermap(DF_dism)
मुझे यकीन नहीं है कि मैं प्रश्न समझता हूं। क्या दूसरा मैट्रिक्स वर्ग नहीं है? – mwaskom
हाँ, दूसरा एक निश्चित रूप से वर्ग है लेकिन यह बी/सी है, मैंने इसे दूरी मैट्रिक्स (1-सहसंबंध) खिलाया जबकि 'sns.cluster_map' को आयताकार डेटा मैट्रिक्स की आवश्यकता होती है। तो मूल रूप से यह मेरे अनावश्यक वर्ग दूरी मैट्रिक्स ले लिया, उन्हें कच्चे मूल्य के रूप में माना, और फिर उस से जुड़ाव किया। क्या यह गणितीय रूप से काम करता है? यह समझ में नहीं आता है क्योंकि इनपुट को आयताकार डेटा मैट्रिक्स की आवश्यकता होती है और मुझे लगता है कि कुछ चरणों को दोहराया जा रहा है। –
मुझे लगता है कि आपको यह स्पष्ट करने के लिए कि आप क्या जानना चाहते हैं, उसे संपादित करने की आवश्यकता है। जैसा कि लिखा गया है कि आप स्क्वायर मैट्रिक्स बनाने के लिए कह रहे हैं, और आप एक प्लॉट दिखा रहे हैं जो स्क्वायर मैट्रिक्स है। – mwaskom