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_alpha wurde auf True geä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 X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

BernoulliNB

Naiv-Bayes-Klassifikator für multivariate Bernoulli-Modelle.

CategoricalNB

Naiv-Bayes-Klassifikator für kategorische Merkmale.

GaussianNB

Gaußscher Naive Bayes.

MultinomialNB

Naiv-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_samples die Anzahl der Stichproben und n_features die 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_samples die Anzahl der Stichproben und n_features die 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), wobei log P(y) die Prior-Wahrscheinlichkeit der Klasse und log 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 auf y.

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=True aktiviert ist (siehe sklearn.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, an fit übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an 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:
sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in fit.

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=True aktiviert ist (siehe sklearn.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 an partial_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 an partial_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 klassen in partial_fit.

sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter sample_weight in partial_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=True aktiviert ist (siehe sklearn.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, an score übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an score.

  • 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_weight in score.

Gibt zurück:
selfobject

Das aktualisierte Objekt.