Heim > Artikel > Technologie-Peripheriegeräte > Verwenden Sie Scikit-Learn, um Vorhersagemethoden für maschinelles Lernen schnell zu beherrschen
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.
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]
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]]
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
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]))
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!