NuSVC#

class sklearn.svm.NuSVC(*, nu=0.5, kernel='rbf', degree=3, gamma='scale', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, random_state=None)[Quelle]#

Nu-Support Vector Klassifizierung.

Ähnlich wie SVC, verwendet aber einen Parameter, um die Anzahl der Stützvektoren zu steuern.

Die Implementierung basiert auf libsvm.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
nufloat, Standard=0.5

Eine obere Schranke für den Anteil der Margin-Fehler (siehe Benutzerhandbuch) und eine untere Schranke für den Anteil der Stützvektoren. Muss im Intervall (0, 1] liegen.

kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} oder aufrufbar, Standard=’rbf’

Gibt den zu verwendenden Kernel-Typ für den Algorithmus an. Wenn keiner angegeben ist, wird 'rbf' verwendet. Wenn eine aufrufbare Funktion angegeben ist, wird diese zur Vorberechnung der Kernel-Matrix verwendet. Für eine intuitive Visualisierung verschiedener Kernel-Typen siehe Klassifizierungsgrenzen mit verschiedenen SVM-Kerneln darstellen.

degreeint, Standard=3

Grad der Polynomkernfunktion (‘poly’). Muss nicht-negativ sein. Wird von allen anderen Kernels ignoriert.

gamma{‘scale’, ‘auto’} oder float, Standard=’scale’

Kernel-Koeffizient für ‘rbf’, ‘poly’ und ‘sigmoid’.

  • Wenn gamma='scale' (Standard) übergeben wird, wird 1 / (n_features * X.var()) als Wert für gamma verwendet,

  • wenn ‘auto’, wird 1 / n_features verwendet

  • Wenn float, muss nicht-negativ sein.

Geändert in Version 0.22: Der Standardwert von gamma wurde von ‘auto’ auf ‘scale’ geändert.

coef0float, Standard=0.0

Unabhängiger Term in der Kernelfunktion. Er ist nur in ‘poly’ und ‘sigmoid’ signifikant.

shrinkingbool, Standard=True

Ob die „shrinking“-Heuristik verwendet werden soll. Siehe Benutzerhandbuch.

probabilitybool, Standard=False

Ob Wahrscheinlichkeitsschätzungen aktiviert werden sollen. Dies muss vor dem Aufruf von fit aktiviert werden, verlangsamt diese Methode, da sie intern eine 5-fache Kreuzvalidierung verwendet, und predict_proba kann inkonsistent mit predict sein. Mehr dazu im Benutzerhandbuch.

tolfloat, Standard=1e-3

Toleranz für das Abbruchkriterium.

cache_sizefloat, Standard=200

Gibt die Größe des Kernel-Caches an (in MB).

class_weight{dict, ‘balanced’}, Standard=None

Setzt den Parameter C von Klasse i auf class_weight[i]*C für SVC. Wenn nicht angegeben, werden alle Klassen als Gewicht eins angenommen. Der Modus "balanced" verwendet die Werte von y, um die Gewichte automatisch umgekehrt proportional zur Klassenhäufigkeit anzupassen, als n_samples / (n_classes * np.bincount(y)).

verbosebool, default=False

Aktiviert ausführliche Ausgabe. Beachten Sie, dass diese Einstellung eine laufende Prozess-Einstellung in libsvm nutzt, die, wenn sie aktiviert ist, in einem Multithreading-Kontext möglicherweise nicht ordnungsgemäß funktioniert.

max_iterint, Standard=-1

Harte Obergrenze für Iterationen innerhalb des Solvers oder -1 für keine Obergrenze.

decision_function_shape{‘ovo’, ‘ovr’}, Standard=’ovr’

Ob eine One-vs-Rest ('ovr') Entscheidung Funktion mit der Form (n_samples, n_classes) wie bei allen anderen Klassifikatoren zurückgegeben werden soll, oder die ursprüngliche One-vs-One ('ovo') Entscheidung Funktion von libsvm, die die Form (n_samples, n_classes * (n_classes - 1) / 2) hat. Allerdings wird One-vs-One ('ovo') immer als Multi-Class-Strategie verwendet. Der Parameter wird bei binärer Klassifizierung ignoriert.

Geändert in Version 0.19: decision_function_shape ist standardmäßig 'ovr'.

Hinzugefügt in Version 0.17: decision_function_shape='ovr' wird empfohlen.

Geändert in Version 0.17: decision_function_shape='ovo' und None sind veraltet.

break_tiesbool, Standard=False

Wenn wahr, decision_function_shape='ovr' und die Anzahl der Klassen > 2 ist, wird predict Bindungen gemäß den Konfidenzwerten von decision_function auflösen; andernfalls wird die erste Klasse unter den gebundenen Klassen zurückgegeben. Bitte beachten Sie, dass das Auflösen von Bindungen im Vergleich zu einem einfachen Vorhersageverfahren relativ hohen Rechenaufwand mit sich bringt. Siehe SVM Tie Breaking Beispiel für ein Beispiel zur Verwendung mit decision_function_shape='ovr'.

Hinzugefügt in Version 0.22.

random_stateint, RandomState-Instanz oder None, default=None

Steuert die Pseudozufallszahlengenerierung zum Mischen der Daten für Wahrscheinlichkeitsschätzungen. Ignoriert, wenn probability False ist. Geben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg an. Siehe Glossar.

Attribute:
class_weight_ndarray der Form (n_classes,)

Multiplikatoren des Parameters C jeder Klasse. Berechnet basierend auf dem Parameter class_weight.

classes_ndarray der Form (n_classes,)

Die eindeutigen Klassennamen.

coef_ndarray der Form (n_classes * (n_classes -1) / 2, n_features)

Gewichte, die den Merkmalen zugeordnet sind, wenn kernel="linear".

dual_coef_ndarray der Form (n_classes - 1, n_SV)

Duale Koeffizienten des Stützvektors in der Entscheidung Funktion (siehe Mathematische Formulierung), multipliziert mit ihren Zielwerten. Für Multiclass, Koeffizienten für alle 1-gegen-1-Klassifikatoren. Das Layout der Koeffizienten im Multiclass-Fall ist etwas nicht trivial. Details finden Sie im Abschnitt Multiclass im Benutzerhandbuch.

fit_status_int

0 bei korrekter Anpassung, 1 wenn der Algorithmus nicht konvergiert ist.

intercept_ndarray der Form (n_classes * (n_classes - 1) / 2,)

Konstanten in der Entscheidungsfunktion.

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.

n_iter_ndarray der Form (n_classes * (n_classes - 1) // 2,)

Anzahl der Iterationen, die von der Optimierungsroutine zur Anpassung des Modells ausgeführt wurden. Die Form dieses Attributs hängt von der Anzahl der optimierten Modelle ab, was wiederum von der Anzahl der Klassen abhängt.

Hinzugefügt in Version 1.1.

support_ndarray der Form (n_SV,)

Indizes der Support-Vektoren.

support_vectors_ndarray der Form (n_SV, n_features)

Support-Vektoren.

n_support_ndarray der Form (n_classes,), dtype=int32

Anzahl der Support-Vektoren pro Klasse.

fit_status_int

0 bei korrekter Anpassung, 1 wenn der Algorithmus nicht konvergiert ist.

probA_ndarray der Form (n_classes * (n_classes - 1) / 2,)

Parameter, der in der Platt-Skalierung gelernt wurde, wenn probability=True.

probB_ndarray der Form (n_classes * (n_classes - 1) / 2,)

Parameter, der in der Platt-Skalierung gelernt wurde, wenn probability=True.

shape_fit_tuple von int der Form (n_dimensions_of_X,)

Array-Dimensionen des Trainingsvektors X.

Siehe auch

SVC

Support Vector Machine für die Klassifizierung unter Verwendung von libsvm.

LinearSVC

Skalierbare lineare Support Vector Machine für die Klassifizierung unter Verwendung von liblinear.

Referenzen

Beispiele

>>> import numpy as np
>>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
>>> y = np.array([1, 1, 2, 2])
>>> from sklearn.pipeline import make_pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.svm import NuSVC
>>> clf = make_pipeline(StandardScaler(), NuSVC())
>>> clf.fit(X, y)
Pipeline(steps=[('standardscaler', StandardScaler()), ('nusvc', NuSVC())])
>>> print(clf.predict([[-0.8, -1]]))
[1]
decision_function(X)[Quelle]#

Berechnet die Entscheidung Funktion für die Stichproben in X.

Parameter:
Xarray-like der Form (n_samples, n_features)

Die Eingabestichproben.

Gibt zurück:
Xndarray der Form (n_samples, n_classes * (n_classes-1) / 2)

Gibt die Entscheidung Funktion der Stichprobe für jede Klasse im Modell zurück. Wenn decision_function_shape='ovr', hat die Form (n_samples, n_classes).

Anmerkungen

Wenn decision_function_shape='ovo', sind die Funktionswerte proportional zum Abstand der Stichproben X zur trennenden Hyperplanebene. Wenn die exakten Abstände benötigt werden, dividieren Sie die Funktionswerte durch die Norm des Gewichtungsvektors (coef_). Siehe auch diese Frage für weitere Details. Wenn decision_function_shape='ovr', ist die Entscheidung Funktion eine monotone Transformation der ovo Entscheidung Funktion.

fit(X, y, sample_weight=None)[Quelle]#

Passt das SVM-Modell an die gegebenen Trainingsdaten an.

Parameter:
X{array-artig, spärs matrix} der Form (n_samples, n_features) oder (n_samples, n_samples)

Trainingsvektoren, wobei n_samples die Anzahl der Samples und n_features die Anzahl der Merkmale ist. Für kernel="precomputed" hat X die erwartete Form (n_samples, n_samples).

yarray-like von Form (n_samples,)

Zielwerte (Klassenlabels bei Klassifizierung, reelle Zahlen bei Regression).

sample_weightarray-like der Form (n_samples,), Standardwert=None

Gewichte pro Sample. Skaliert C pro Sample neu. Höhere Gewichte zwingen den Klassifikator, mehr Betonung auf diese Punkte zu legen.

Gibt zurück:
selfobject

Angepasster Schätzer.

Anmerkungen

Wenn X und y nicht C-geordnete und zusammenhängende Arrays von np.float64 sind und X keine scipy.sparse.csr_matrix ist, können X und/oder y kopiert werden.

Wenn X ein dichtes Array ist, unterstützen die anderen Methoden keine spärlichen Matrizen als Eingabe.

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.

predict(X)[Quelle]#

Führt die Klassifizierung für Samples in X durch.

Für ein Ein-Klassen-Modell wird +1 oder -1 zurückgegeben.

Parameter:
X{array-artig, spärs matrix} der Form (n_samples, n_features) oder (n_samples_test, n_samples_train)

Für kernel="precomputed" hat X die erwartete Form (n_samples_test, n_samples_train).

Gibt zurück:
y_predndarray von Form (n_samples,)

Klassenbezeichnungen für Samples in X.

predict_log_proba(X)[Quelle]#

Berechnet die Log-Wahrscheinlichkeiten möglicher Ergebnisse für Stichproben in X.

Das Modell muss Wahrscheinlichkeitsinformationen zur Trainingszeit berechnet haben: fit mit dem Attribut probability auf True gesetzt.

Parameter:
Xarray-ähnlich der Form (n_samples, n_features) oder (n_samples_test, n_samples_train)

Für kernel="precomputed" hat X die erwartete Form (n_samples_test, n_samples_train).

Gibt zurück:
Tndarray der Form (n_samples, n_classes)

Gibt die Log-Wahrscheinlichkeiten der Stichprobe für jede Klasse im Modell zurück. Die Spalten entsprechen den Klassen in sortierter Reihenfolge, wie sie im Attribut classes_ erscheinen.

Anmerkungen

Das Wahrscheinlichkeitsmodell wird mittels Kreuzvalidierung erstellt, daher können die Ergebnisse leicht von denen abweichen, die durch predict erzielt werden. Außerdem liefert es auf sehr kleinen Datensätzen bedeutunglose Ergebnisse.

predict_proba(X)[Quelle]#

Berechnet Wahrscheinlichkeiten möglicher Ergebnisse für Samples in X.

Das Modell muss Wahrscheinlichkeitsinformationen zur Trainingszeit berechnet haben: fit mit dem Attribut probability auf True gesetzt.

Parameter:
Xarray-like der Form (n_samples, n_features)

Für kernel="precomputed" hat X die erwartete Form (n_samples_test, n_samples_train).

Gibt zurück:
Tndarray der Form (n_samples, n_classes)

Gibt die Wahrscheinlichkeit der Stichprobe für jede Klasse im Modell zurück. Die Spalten entsprechen den Klassen in sortierter Reihenfolge, wie sie im Attribut classes_ erscheinen.

Anmerkungen

Das Wahrscheinlichkeitsmodell wird mittels Kreuzvalidierung erstellt, daher können die Ergebnisse leicht von denen abweichen, die durch predict erzielt werden. Außerdem liefert es auf sehr kleinen Datensätzen bedeutunglose Ergebnisse.

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$') NuSVC[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_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') NuSVC[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.