Ich habe einige kategorische Merkmale in meinen Daten zusammen mit kontinuierlichen. Ist es eine gute oder absolut schlechte Idee, Kategoriestrukturen zu codieren, um eine Korrelation zu Labels mit anderen fortlaufenden Kreaturen zu finden?Kategoriale Merkmale Korrelation
Antwort
Es gibt eine Möglichkeit, den Korrelationskoeffizienten ohne One-Hot-Codierung der Kategorievariablen zu berechnen. Cramers V-Statistik ist eine Methode zur Berechnung der Korrelation kategorialer Variablen. Es kann wie folgt berechnet werden. Der folgende Link ist hilfreich. Using pandas, calculate Cramér's coefficient matrix Für Variablen mit anderen kontinuierlichen Werten können Sie kategorisieren, indem Sie pandas
verwenden.
import pandas as pd
import numpy as np
import scipy.stats as ss
import seaborn as sns
tips = sns.load_dataset("tips")
tips["total_bill_cut"] = pd.cut(tips["total_bill"],
np.arange(0, 55, 5),
include_lowest=True,
right=False)
def cramers_v(confusion_matrix):
""" calculate Cramers V statistic for categorial-categorial association.
uses correction from Bergsma and Wicher,
Journal of the Korean Statistical Society 42 (2013): 323-328
"""
chi2 = ss.chi2_contingency(confusion_matrix)[0]
n = confusion_matrix.sum()
phi2 = chi2/n
r, k = confusion_matrix.shape
phi2corr = max(0, phi2 - ((k-1)*(r-1))/(n-1))
rcorr = r - ((r-1)**2)/(n-1)
kcorr = k - ((k-1)**2)/(n-1)
return np.sqrt(phi2corr/min((kcorr-1), (rcorr-1)))
confusion_matrix = pd.crosstab(tips["day"], tips["time"]).as_matrix()
cramers_v(confusion_matrix)
# Out[10]: 0.93866193407222209
confusion_matrix = pd.crosstab(tips["total_bill_cut"], tips["time"]).as_matrix()
cramers_v(confusion_matrix)
# Out[24]: 0.16498707494988371
Danke für die Antwort, aber meine Frage war nicht, wie die Korrelation zwischen kategorischen Merkmalen zu berechnen. Frage ist: Ist es eine gute Idee oder schrecklich schlechte Idee, heiße Encoder für kategorische Merkmale zu verwenden und dann die Funktionen einschließlich kategorischer und kontinuierlicher zu verwenden, um Korrelation zu berechnen. – user8653080
Es tut mir leid, dass ich die Frage falsch verstanden habe. Ich denke, es gibt kein Problem, die Korrelation zwischen einem Hot-Encoding-Feature und einem anderen kontinuierlichen Feature zu berechnen, aber ich denke, dass der Korrelationskoeffizient nur ein Wert für ein Element der Kategorie sein wird. – Keiku
Vielen Dank – user8653080
- 1. Korrelation für mehrere kategoriale Variablen Tableau
- 2. PCA Für kategoriale Funktionen?
- 3. wie kategoriale merkmale auf andere weise indexiert werden, wenn funken ml verwendet wird
- 4. Problem mit OneHotEncoder für kategoriale Funktionen
- 5. Python parallelisierte Korrelation langsamer als Einzelprozess Korrelation
- 6. Korrelation Heatmap
- 7. read_csv lesen kategoriale Werte?
- 8. Kategoriale Variablen in TensorFlow
- 9. Visuelle Korrelation zwischen numerisch und kategorisch
- 10. Merkmale für SortedListWithKey
- 11. Firebase Analytics Demografische Merkmale
- 12. Warum sind Merkmale instanziierbar?
- 13. PHP Typ-Hinting Merkmale
- 14. C++: has_trivial_X Typ Merkmale
- 15. plot r zwei kategoriale Variablen
- 16. Kategoriale Labels in KNN sklearn
- 17. Kategoriale Regression mit zentrierten Ebenen
- 18. Tensorflow-Einbettung für kategoriale Funktion
- 19. Spark MLlib: Einschließlich kategoriale Funktionen
- 20. Datenrahmen GROUPBY sort (kategoriale Variable)
- 21. Hat Apache Groovy kategoriale Variablen?
- 22. Korrelation in R
- 23. Duplizierter Workflow mit Korrelation
- 24. Korrelation Clustering in R
- 25. Pearson Korrelation in SAS
- 26. Clustering basierend auf Korrelation
- 27. Bayesianische Korrelation mit PyMC3
- 28. Korrelation Corrplot Konfiguration
- 29. Korrekte Art, Korrelation durchzuführen
- 30. Untere Dreieck Korrelation Heatmap
Binär oder n-stufig kategorisch? Bestellte oder ungeordnete? – smci
* "Korrelation von es zu Etiketten" * => Korrelation von es zu einer kategorischen Antwortvariablen (wie viele Werte?) – smci