chi2#
- sklearn.feature_selection.chi2(X, y)[Quelle]#
Berechnet Chi-Quadrat-Statistiken zwischen jedem nicht-negativen Merkmal und der Klasse.
Dieser Score kann verwendet werden, um die
n_featuresmit den höchsten Werten für die Chi-Quadrat-Teststatistik aus X auszuwählen. X muss nur **nicht-negative ganzzahlige Merkmalswerte** enthalten, wie z. B. Booleans oder Häufigkeiten (z. B. Termzählungen bei Dokumentenklassifizierung), relativ zu den Klassen.Wenn einige Ihrer Merkmale kontinuierlich sind, müssen Sie sie diskretisieren, zum Beispiel mithilfe von
KBinsDiscretizer.Zur Erinnerung: Der Chi-Quadrat-Test misst die Abhängigkeit zwischen stochastischen Variablen. Daher werden mit dieser Funktion die Merkmale "ausgemistet", die am wahrscheinlichsten unabhängig von der Klasse und somit für die Klassifizierung irrelevant sind.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Stichprobenvektoren.
- yarray-like von Form (n_samples,)
Zielvektor (Klassenbezeichnungen).
- Gibt zurück:
- chi2ndarray der Form (n_features,)
Chi2-Statistiken für jedes Merkmal.
- p_valuesndarray der Form (n_features,)
P-Werte für jedes Merkmal.
Siehe auch
f_classifANOVA F-Wert zwischen Label/Merkmal für Klassifizierungsaufgaben.
f_regressionF-Wert zwischen Label/Merkmal für Regressionsaufgaben.
Anmerkungen
Die Komplexität dieses Algorithmus beträgt O(n_classes * n_features).
Beispiele
>>> import numpy as np >>> from sklearn.feature_selection import chi2 >>> X = np.array([[1, 1, 3], ... [0, 1, 5], ... [5, 4, 1], ... [6, 6, 2], ... [1, 4, 0], ... [0, 0, 0]]) >>> y = np.array([1, 1, 0, 0, 2, 2]) >>> chi2_stats, p_values = chi2(X, y) >>> chi2_stats array([15.3, 6.5 , 8.9]) >>> p_values array([0.000456, 0.0387, 0.0116 ])