2017-07-12 6 views
-4

Ich habe einen Datenrahmen mit 30 Variablen und ich möchte sehen, welche Variablen unter ihnen korrelieren. Ich habe df.corr() verwendet, aber das Ergebnis scheint schwer zu verstehen, da es eine große Matrix enthält.Korrelation zwischen einer großen Anzahl von Variablen

Gibt es einen Weg, um eine Wärmekarten aus dieser bauen oder die Korrelationspaare mit Korrelationskoeffizienten größer oder kleiner als ein fester Wert zu erhalten (für e.g.- r < -0.8 & r> 0,8)?

+3

Ihre Frage wahrscheinlich markiert wird erhalten, wenn Sie ein wenig genauer zu wissen, was wäre ein hilfreicher ausgegeben werden kann. Möchten Sie eine Heatmap oder vielleicht nur die höchsten _n_ Korrelationspaare usw.? Versuchen Sie es direkter zu machen, anstatt nach subjektiven Vorschlägen zu fragen. –

+0

Ich schlage vor, dass Sie Ihre Frage löschen und auf eine klarere Art und Weise fragen. – piRSquared

+0

hängen Sie ab, was Sie wollen, können Sie versuchen, jede Variable miteinander zu korrelieren ... oder reduzieren Sie die Dimension mit PCA oder Autoencoder ... – Dadep

Antwort

0

Das seaborn-Paket hat eine ausgezeichnete Funktion, um Heatmaps zu erstellen. http://seaborn.pydata.org/index.html

Das folgende ist ein Beispielcode, der eine Heatmap einer Korrelationsmatrix ergibt.

df= pd.DataFrame(np.random.randint(1,4,[72,5])) 
df.columns = ['col1','col2','col3','col4','col5'] 
import seaborn as sns 
sns.heatmap(df.corr()) 
plt.yticks(rotation= 0) 
plt.xticks(rotation=90) 

enter image description here

Verwandte Themen