ComplementNB#
- class sklearn.naive_bayes.ComplementNB(*, alpha=1.0, force_alpha=True, fit_prior=True, class_prior=None, norm=False)[Quelle]#
Der Complement Naive Bayes Klassifikator, beschrieben in Rennie et al. (2003).
Der Complement Naive Bayes-Klassifikator wurde entwickelt, um die "schwerwiegenden Annahmen" des Standard Multinomial Naive Bayes-Klassifikators zu korrigieren. Er eignet sich besonders gut für unausgeglichene Datensätze.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.20.
- Parameter:
- alphafloat oder array-ähnlich der Form (n_features,), Standardwert=1.0
Parameter für additive Glättung (Laplace/Lidstone) (setzen Sie alpha=0 und force_alpha=True für keine Glättung).
- force_alphabool, Standardwert=True
Wenn False und alpha kleiner als 1e-10 ist, wird alpha auf 1e-10 gesetzt. Wenn True, bleibt alpha unverändert. Dies kann zu numerischen Fehlern führen, wenn alpha zu nahe bei 0 liegt.
Hinzugefügt in Version 1.2.
Geändert in Version 1.4: Der Standardwert von
force_alphawurde aufTruegeändert.- fit_priorbool, Standardwert=True
Nur in einem Ausnahmefall mit einer einzigen Klasse im Trainingsdatensatz verwendet.
- class_priorarray-ähnlich der Form (n_classes,), Standardwert=None
Vorab-Wahrscheinlichkeiten der Klassen. Nicht verwendet.
- normbool, default=False
Ob eine zweite Normalisierung der Gewichte durchgeführt wird oder nicht. Das Standardverhalten spiegelt die Implementierungen in Mahout und Weka wider, die nicht dem vollständigen Algorithmus in Tabelle 9 des Papiers folgen.
- Attribute:
- class_count_ndarray der Form (n_classes,)
Anzahl der während des Trainings pro Klasse angetroffenen Stichproben. Dieser Wert wird durch das Stichprobengewicht gewichtet, wenn es angegeben wird.
- class_log_prior_ndarray der Form (n_classes,)
Geglättete empirische Log-Wahrscheinlichkeit für jede Klasse. Wird nur in einem Ausnahmefall mit einer einzigen Klasse im Trainingsdatensatz verwendet.
- classes_ndarray der Form (n_classes,)
Bekannte Klassenlabels des Klassifikators
- feature_all_ndarray von Form (n_features,)
Anzahl der während des Trainings für jedes Merkmal angetroffenen Samples. Dieser Wert wird durch das Sample-Gewicht gewichtet, wenn es angegeben wird.
- feature_count_ndarray der Form (n_classes, n_features)
Anzahl der während des Trainings pro (Klasse, Merkmal) angetroffenen Stichproben. Dieser Wert wird durch das Stichprobengewicht gewichtet, wenn es angegeben wird.
- feature_log_prob_ndarray der Form (n_classes, n_features)
Empirische Gewichte für Klassen-Komplemente.
- n_features_in_int
Anzahl der während des fits gesehenen Merkmale.
Hinzugefügt in Version 0.24.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen der während fit gesehenen Merkmale. Nur definiert, wenn
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
Siehe auch
BernoulliNBNaiv-Bayes-Klassifikator für multivariate Bernoulli-Modelle.
CategoricalNBNaiv-Bayes-Klassifikator für kategorische Merkmale.
GaussianNBGaußscher Naive Bayes.
MultinomialNBNaiv-Bayes-Klassifikator für multinomielle Modelle.
Referenzen
Rennie, J. D., Shih, L., Teevan, J., & Karger, D. R. (2003). Tackling the poor assumptions of naive bayes text classifiers. In ICML (Vol. 3, pp. 616-623). https://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf
Beispiele
>>> import numpy as np >>> rng = np.random.RandomState(1) >>> X = rng.randint(5, size=(6, 100)) >>> y = np.array([1, 2, 3, 4, 5, 6]) >>> from sklearn.naive_bayes import ComplementNB >>> clf = ComplementNB() >>> clf.fit(X, y) ComplementNB() >>> print(clf.predict(X[2:3])) [3]
- fit(X, y, sample_weight=None)[Quelle]#
Trainiert den Naive-Bayes-Klassifikator gemäß X, y.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- yarray-like von Form (n_samples,)
Zielwerte.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Gewichte, die auf einzelne Stichproben angewendet werden (1. für ungewichtet).
- Gibt zurück:
- selfobject
Gibt die Instanz selbst zurück.
- get_metadata_routing()[Quelle]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
- Gibt zurück:
- routingMetadataRequest
Ein
MetadataRequest, der Routing-Informationen kapselt.
- get_params(deep=True)[Quelle]#
Holt Parameter für diesen Schätzer.
- Parameter:
- deepbool, default=True
Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.
- Gibt zurück:
- paramsdict
Parameternamen, zugeordnet ihren Werten.
- partial_fit(X, y, classes=None, sample_weight=None)[Quelle]#
Inkrementelles Training auf einem Stapel von Stichproben.
Diese Methode wird voraussichtlich mehrmals hintereinander auf verschiedenen Teilen eines Datensatzes aufgerufen, um Out-of-Core- oder Online-Lernen zu implementieren.
Dies ist besonders nützlich, wenn der gesamte Datensatz zu groß ist, um gleichzeitig in den Speicher zu passen.
Diese Methode hat einige Leistungseinbußen, daher ist es besser, partial_fit auf Datenblöcken auszuführen, die so groß wie möglich sind (solange sie in das Speicherbudget passen), um die Einbußen zu verbergen.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- yarray-like von Form (n_samples,)
Zielwerte.
- classesarray-like der Form (n_classes,), Standard=None
Liste aller Klassen, die im y-Vektor vorkommen können.
Muss beim ersten Aufruf von partial_fit bereitgestellt werden, kann bei nachfolgenden Aufrufen weggelassen werden.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Gewichte, die auf einzelne Stichproben angewendet werden (1. für ungewichtet).
- Gibt zurück:
- selfobject
Gibt die Instanz selbst zurück.
- predict(X)[Quelle]#
Führt die Klassifizierung auf einem Array von Testvektoren X durch.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabestichproben.
- Gibt zurück:
- Cndarray der Form (n_samples,)
Vorhergesagte Zielwerte für X.
- predict_joint_log_proba(X)[Quelle]#
Gibt die Gelenk-Log-Wahrscheinlichkeitsschätzungen für den Testvektor X zurück.
Für jede Zeile x von X und jede Klasse y gilt: Gelenk-Log-Wahrscheinlichkeit ist
log P(x, y) = log P(y) + log P(x|y),wobeilog P(y)die Prior-Wahrscheinlichkeit der Klasse undlog P(x|y)die klassenbedingte Wahrscheinlichkeit ist.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabestichproben.
- Gibt zurück:
- Cndarray von Form (n_samples, n_classes)
Gibt die Gelenk-Log-Wahrscheinlichkeit der Stichproben für jede Klasse im Modell zurück. Die Spalten entsprechen den Klassen in sortierter Reihenfolge, wie sie im Attribut classes_ erscheinen.
- predict_log_proba(X)[Quelle]#
Gibt Log-Wahrscheinlichkeitsschätzungen für den Testvektor X zurück.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabestichproben.
- Gibt zurück:
- Carray-like der Form (n_samples, n_classes)
Gibt die Log-Wahrscheinlichkeit der Stichproben für jede Klasse im Modell zurück. Die Spalten entsprechen den Klassen in sortierter Reihenfolge, wie sie im Attribut classes_ erscheinen.
- predict_proba(X)[Quelle]#
Gibt Wahrscheinlichkeitsschätzungen für den Testvektor X zurück.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabestichproben.
- Gibt zurück:
- Carray-like der Form (n_samples, n_classes)
Gibt die Wahrscheinlichkeit der Stichproben für jede Klasse im Modell zurück. Die Spalten entsprechen den Klassen in sortierter Reihenfolge, wie sie im Attribut classes_ erscheinen.
- score(X, y, sample_weight=None)[Quelle]#
Gibt die Genauigkeit für die bereitgestellten Daten und Bezeichnungen zurück.
Bei der Multi-Label-Klassifizierung ist dies die Subset-Genauigkeit, eine strenge Metrik, da für jede Stichprobe verlangt wird, dass jede Label-Menge korrekt vorhergesagt wird.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Teststichproben.
- yarray-like der Form (n_samples,) oder (n_samples, n_outputs)
Wahre Bezeichnungen für
X.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- Gibt zurück:
- scorefloat
Mittlere Genauigkeit von
self.predict(X)in Bezug aufy.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') ComplementNB[Quelle]#
Konfiguriert, ob Metadaten für die
fit-Methode angefordert werden sollen.Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit
enable_metadata_routing=Trueaktiviert ist (siehesklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.Die Optionen für jeden Parameter sind
True: Metadaten werden angefordert und, falls vorhanden, anfitübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anfit.None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.
Der Standardwert (
sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.Hinzugefügt in Version 1.3.
- Parameter:
- sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
sample_weightinfit.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
- set_params(**params)[Quelle]#
Setzt die Parameter dieses Schätzers.
Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie
Pipeline). Letztere haben Parameter der Form<component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.- Parameter:
- **paramsdict
Schätzer-Parameter.
- Gibt zurück:
- selfestimator instance
Schätzer-Instanz.
- set_partial_fit_request(*, classes: bool | None | str = '$UNCHANGED$', sample_weight: bool | None | str = '$UNCHANGED$') ComplementNB[Quelle]#
Konfiguriert, ob Metadaten für die
partial_fit-Methode angefordert werden sollen.Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit
enable_metadata_routing=Trueaktiviert ist (siehesklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.Die Optionen für jeden Parameter sind
True: Metadaten werden angefordert und anpartial_fitübergeben, wenn sie bereitgestellt werden. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anpartial_fit.None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.
Der Standardwert (
sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.Hinzugefügt in Version 1.3.
- Parameter:
- klassenstr, True, False, oder None, Standard=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
klasseninpartial_fit.- sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
sample_weightinpartial_fit.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') ComplementNB[Quelle]#
Konfiguriert, ob Metadaten für die
score-Methode angefordert werden sollen.Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit
enable_metadata_routing=Trueaktiviert ist (siehesklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.Die Optionen für jeden Parameter sind
True: Metadaten werden angefordert und, falls vorhanden, anscoreübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anscore.None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.
Der Standardwert (
sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.Hinzugefügt in Version 1.3.
- Parameter:
- sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
sample_weightinscore.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
Galeriebeispiele#
Beispiel-Pipeline für Textmerkmal-Extraktion und -Bewertung
Klassifikation von Textdokumenten mit spärlichen Merkmalen