Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Verwenden Sie Scikit-Learn, um Vorhersagemethoden für maschinelles Lernen schnell zu beherrschen

Verwenden Sie Scikit-Learn, um Vorhersagemethoden für maschinelles Lernen schnell zu beherrschen

王林
王林nach vorne
2023-05-27 14:26:031416Durchsuche

In diesem Artikel werden wir die Unterschiede von Vorhersagefunktionen und ihre Verwendung diskutieren.

Beim maschinellen Lernen werden die Methoden „predict“ und „predict_proba“, „predict_log_proba“ und „decision_function“ verwendet, um Vorhersagen auf der Grundlage des trainierten Modells zu treffen.

Vorhersagemethode

Verwenden Sie die Vorhersagemethode, um binäre Klassifizierung oder multivariate Klassifizierung vorherzusagen und Vorhersagebezeichnungen auszugeben. Wenn Sie beispielsweise ein logistisches Regressionsmodell trainiert haben, um vorherzusagen, ob ein Kunde ein Produkt kaufen wird, können Sie die Vorhersagemethode verwenden, um vorherzusagen, ob ein neuer Kunde das Produkt kaufen wird.

Wir werden den Brustkrebsdatensatz von scikit-learn verwenden. Dieser Datensatz enthält Tumorbeobachtungen und entsprechende Kennzeichnungen, ob der Tumor bösartig oder gutartig ist.

import numpy as npfrom sklearn.svm import SVCfrom sklearn.preprocessing import StandardScalerfrom sklearn.pipeline import make_pipelineimport matplotlib.pyplot as pltfrom sklearn.datasets import load_breast_cancer# 加载数据集dataset = load_breast_cancer(as_frame=True)# 创建特征和目标X = dataset['data']y = dataset['target']# 将数据集分割成训练集和测试集from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y , test_size=0.25, random_state=0)# 我们创建一个简单的管道来规范数据并使用`SVC`分类器训练模型svc_clf = make_pipeline(StandardScaler(),SVC(max_iter=1000, probability=True))svc_clf.fit(X_train, y_train)
# 我们正在预测X_test的第一个条目print(svc_clf.predict(X_test[:1]))
# 预测X_test的第一个条目属于哪一类[0]

Predict_proba-Methode

Verwenden Sie die Predict_proba-Funktion, um eine Wahrscheinlichkeitsvorhersage für jede Kategorie zu erstellen und die Wahrscheinlichkeitsschätzung jeder möglichen Kategoriebezeichnung zurückzugeben. Bei binären oder multivariaten Klassifizierungsproblemen wird dieser Ansatz häufig verwendet, um die Wahrscheinlichkeit jedes möglichen Ergebnisses zu bestimmen. Wenn Sie beispielsweise ein Modell trainiert haben, um Bilder von Tieren in Katzen, Hunde und Pferde zu klassifizieren, können Sie die Methode Predict_Proba verwenden, um Wahrscheinlichkeitsschätzungen für jede Kategoriebezeichnung zu erhalten.

print(svc_clf.predict_proba(X_test[:1]))
[[0.99848307 0.00151693]]

predict_log_probamethod

Die Methode Predict_log_proba ähnelt Predict_proba, gibt jedoch den Logarithmus der Wahrscheinlichkeitsschätzung anstelle der Rohwahrscheinlichkeit zurück. Dies ist sehr nützlich für den Umgang mit sehr kleinen oder sehr großen Wahrscheinlichkeitswerten, da dadurch numerische Unterlauf- oder Überlaufprobleme vermieden werden können.

print(svc_clf.predict_log_proba(X_test[:1]))
rrree

Entscheidungsfunktionsmethode

Lineare binäre Klassifizierungsmodelle können die Entscheidungsfunktionsmethode nutzen. Für jeden Eingabedatenpunkt wird eine Bewertung generiert, aus der die entsprechende Klassenbezeichnung abgeleitet werden kann. Schwellenwerte, die Datenpunkte als positiv oder negativ klassifizieren, können basierend auf Anwendungs- oder Domänenkenntnissen festgelegt werden.

[[-1.51808474e-03 -6.49106473e+00]]
print(svc_clf.decision_function(X_test[:1]))

Zusammenfassung

  • Verwenden Sie „predict“ für binäre oder multivariate Klassifizierungsprobleme, wenn Sie die vorhergesagte Klassenbezeichnung der Eingabedaten erhalten möchten.
  • Verwenden Sie Predict_Proba für binäre oder multivariate Klassifizierungsprobleme, wenn Sie eine Wahrscheinlichkeitsschätzung für jede mögliche Klassenbezeichnung erhalten möchten.
  • Verwenden Sie Predict_log_proba, wenn Sie mit sehr kleinen oder sehr großen Wahrscheinlichkeitswerten umgehen müssen oder wenn Sie numerische Unterlauf- oder Überlaufprobleme vermeiden möchten.
  • Verwenden Sie die Entscheidungsfunktion, um binäre Klassifizierungsprobleme mit linearen Modellen zu behandeln, wenn Sie die Punktzahl für jeden Eingabedatenpunkt erhalten möchten.

Hinweis: Die Vorhersagemethoden einiger Klassifikatoren sind möglicherweise unvollständig oder erfordern zusätzliche Parameter, um auf die Funktion zuzugreifen. Beispiel: SVC muss den Wahrscheinlichkeitsparameter auf True setzen, um die Wahrscheinlichkeitsvorhersage zu verwenden.

Das obige ist der detaillierte Inhalt vonVerwenden Sie Scikit-Learn, um Vorhersagemethoden für maschinelles Lernen schnell zu beherrschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen