OutputCodeClassifier#
- class sklearn.multiclass.OutputCodeClassifier(estimator, *, code_size=1.5, random_state=None, n_jobs=None)[Quelle]#
(Fehlerkorrigierende) Output-Code-Multiklassenstrategie.
Output-Code-basierte Strategien bestehen darin, jede Klasse mit einem binären Code (ein Array aus 0en und 1en) darzustellen. Während der Anpassung wird ein binärer Klassifikator für jedes Bit im Codebuch angepasst. Während der Vorhersage werden die Klassifikatoren verwendet, um neue Punkte in den Klassenraum zu projizieren, und die Klasse, die den Punkten am nächsten liegt, wird ausgewählt. Der Hauptvorteil dieser Strategien besteht darin, dass die Anzahl der verwendeten Klassifikatoren vom Benutzer gesteuert werden kann, entweder zur Komprimierung des Modells (0 <
code_size< 1) oder zur Erhöhung der Robustheit des Modells gegenüber Fehlern (code_size> 1). Weitere Details finden Sie in der Dokumentation.Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- estimatorEstimator-Objekt
Ein Estimator-Objekt, das fit und entweder decision_function oder predict_proba implementiert.
- code_sizefloat, default=1.5
Prozentsatz der Anzahl der Klassen, der zur Erstellung des Codebuchs verwendet wird. Eine Zahl zwischen 0 und 1 erfordert weniger Klassifikatoren als One-vs-the-Rest. Eine Zahl größer als 1 erfordert mehr Klassifikatoren als One-vs-the-Rest.
- random_stateint, RandomState instance, default=None
Der Generator, der zum Initialisieren des Codebuchs verwendet wird. Übergeben Sie eine Ganzzahl für reproduzierbare Ausgaben über mehrere Funktionsaufrufe hinweg. Siehe Glossar.
- n_jobsint, default=None
Die Anzahl der Jobs, die für die Berechnung verwendet werden: Die Multiklassenprobleme werden parallel berechnet.
Nonebedeutet 1, außer in einemjoblib.parallel_backendKontext.-1bedeutet die Verwendung aller Prozessoren. Siehe Glossar für weitere Details.
- Attribute:
- estimators_Liste von
int(n_classes * code_size)Estimators Estimators, die für Vorhersagen verwendet werden.
- classes_ndarray der Form (n_classes,)
Array, das die Labels enthält.
- code_book_ndarray der Form (n_classes,
len(estimators_)) Binäres Array, das den Code jeder Klasse enthält.
- n_features_in_int
Anzahl der während fit gesehenen Merkmale. Nur definiert, wenn der zugrunde liegende Schätzer ein solches Attribut nach dem Training bereitstellt.
Hinzugefügt in Version 0.24.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen von Features, die während fit gesehen wurden. Nur definiert, wenn der zugrunde liegende Estimator ein solches Attribut nach dem Anpassen exponiert.
Hinzugefügt in Version 1.0.
- estimators_Liste von
Siehe auch
OneVsRestClassifierOne-vs-all Multiklassenstrategie.
OneVsOneClassifierOne-vs-one Multiklassenstrategie.
Referenzen
[1]„Solving multiclass learning problems via error-correcting output codes“, Dietterich T., Bakiri G., Journal of Artificial Intelligence Research 2, 1995.
[2]„The error coding method and PICTs“, James G., Hastie T., Journal of Computational and Graphical statistics 7, 1998.
[3]„The Elements of Statistical Learning“, Hastie T., Tibshirani R., Friedman J., Seite 606 (zweite Auflage) 2008.
Beispiele
>>> from sklearn.multiclass import OutputCodeClassifier >>> from sklearn.ensemble import RandomForestClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_samples=100, n_features=4, ... n_informative=2, n_redundant=0, ... random_state=0, shuffle=False) >>> clf = OutputCodeClassifier( ... estimator=RandomForestClassifier(random_state=0), ... random_state=0).fit(X, y) >>> clf.predict([[0, 0, 0, 0]]) array([1])
- fit(X, y, **fit_params)[Quelle]#
Passen Sie zugrunde liegende Estimators an.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Daten.
- yarray-like von Form (n_samples,)
Multi-Klassen-Zielwerte.
- **fit_paramsdict
Parameter, die an die
estimator.fitMethode jedes Unter-Estimators übergeben werden.Hinzugefügt in Version 1.4: Nur verfügbar, wenn
enable_metadata_routing=True. Siehe Benutzerhandbuch zur Metadaten-Weiterleitung für weitere Details.
- Gibt zurück:
- selfobject
Gibt eine angepasste Instanz von self zurück.
- get_metadata_routing()[Quelle]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
Hinzugefügt in Version 1.4.
- Gibt zurück:
- routingMetadataRouter
Ein
MetadataRouter, der die 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.
- predict(X)[Quelle]#
Vorhersagen von Multi-Klassen-Zielwerten mit zugrunde liegenden Estimators.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Daten.
- Gibt zurück:
- yndarray der Form (n_samples,)
Vorhergesagte Multi-Klassen-Zielwerte.
- 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_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_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') OutputCodeClassifier[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#
Übersicht über Multiklassen-Training Meta-Estimator