CategoricalNB#
- class sklearn.naive_bayes.CategoricalNB(*, alpha=1.0, force_alpha=True, fit_prior=True, class_prior=None, min_categories=None)[Quelle]#
Naiv-Bayes-Klassifikator für kategorische Merkmale.
Der kategorische Naive Bayes-Klassifikator ist für Klassifizierungsaufgaben mit diskreten Merkmalen geeignet, die kategorisch verteilt sind. Die Kategorien jedes Merkmals stammen aus einer kategorialen Verteilung.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- alphafloat, default=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
Ob Klassen-Prior-Wahrscheinlichkeiten gelernt werden sollen oder nicht. Wenn falsch, wird ein einheitlicher Prior verwendet.
- class_priorarray-ähnlich der Form (n_classes,), Standardwert=None
Prior-Wahrscheinlichkeiten der Klassen. Wenn angegeben, werden die Priors nicht entsprechend den Daten angepasst.
- min_categoriesint oder array-ähnlich der Form (n_features,), Standard=None
Minimale Anzahl von Kategorien pro Merkmal.
Ganzzahl: Setzt die minimale Anzahl von Kategorien pro Merkmal auf
n_categoriesfür jedes Merkmal.Array-ähnlich: Form (n_features,), wobei
n_categories[i]die minimale Anzahl von Kategorien für die i-te Spalte der Eingabe angibt.None (Standard): Bestimmt die Anzahl der Kategorien automatisch aus den Trainingsdaten.
Hinzugefügt in Version 0.24.
- Attribute:
- category_count_Liste von Arrays der Form (n_classes, n_categories des jeweiligen Merkmals)
Enthält Arrays der Form (n_classes, n_categories des jeweiligen Merkmals) für jedes Merkmal. Jedes Array gibt die Anzahl der aufgetretenen Stichproben für jede Klasse und Kategorie des spezifischen Merkmals an.
- 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 logarithmische Wahrscheinlichkeit für jede Klasse.
- classes_ndarray der Form (n_classes,)
Bekannte Klassenlabels des Klassifikators
- feature_log_prob_Liste von Arrays der Form (n_features,)
Enthält Arrays der Form (n_classes, n_categories des jeweiligen Merkmals) für jedes Merkmal. Jedes Array gibt die empirische logarithmische Wahrscheinlichkeit von Kategorien gegeben das jeweilige Merkmal und die Klasse an,
P(x_i|y).- 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.
- n_categories_ndarray der Form (n_features,), dtype=np.int64
Anzahl der Kategorien für jedes Merkmal. Dieser Wert wird aus den Daten abgeleitet oder durch die minimale Anzahl von Kategorien festgelegt.
Hinzugefügt in Version 0.24.
Siehe auch
BernoulliNBNaiv-Bayes-Klassifikator für multivariate Bernoulli-Modelle.
ComplementNBKomplementärer Naive Bayes-Klassifikator.
GaussianNBGaußscher Naive Bayes.
MultinomialNBNaiv-Bayes-Klassifikator für multinomielle Modelle.
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 CategoricalNB >>> clf = CategoricalNB() >>> clf.fit(X, y) CategoricalNB() >>> 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. Hier wird angenommen, dass jedes Merkmal von X aus einer anderen kategorialen Verteilung stammt. Es wird ferner angenommen, dass alle Kategorien jedes Merkmals durch die Zahlen 0, ..., n - 1 dargestellt werden, wobei n die Gesamtzahl der Kategorien für das gegebene Merkmal ist. Dies kann beispielsweise mithilfe von OrdinalEncoder erreicht werden.- 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. Hier wird angenommen, dass jedes Merkmal von X aus einer anderen kategorialen Verteilung stammt. Es wird ferner angenommen, dass alle Kategorien jedes Merkmals durch die Zahlen 0, ..., n - 1 dargestellt werden, wobei n die Gesamtzahl der Kategorien für das gegebene Merkmal ist. Dies kann beispielsweise mithilfe von OrdinalEncoder erreicht werden.- 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$') CategoricalNB[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$') CategoricalNB[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$') CategoricalNB[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.