Rumah  >  Artikel  >  Peranti teknologi  >  Gunakan Scikit-Learn untuk menguasai kaedah ramalan pembelajaran mesin dengan cepat

Gunakan Scikit-Learn untuk menguasai kaedah ramalan pembelajaran mesin dengan cepat

王林
王林ke hadapan
2023-05-27 14:26:031415semak imbas

Dalam artikel ini, kita akan membincangkan perbezaan fungsi ramalan dan kegunaannya.

Dalam pembelajaran mesin, kaedah predict dan predict_proba, predict_log_proba dan decision_function kaedah digunakan untuk membuat ramalan berdasarkan model terlatih.

kaedah ramal

Gunakan kaedah ramal untuk meramal pengelasan binari atau label ramalan klasifikasi berbilang variasi dan ramalan. Contohnya, jika anda telah melatih model regresi logistik untuk meramalkan sama ada pelanggan akan membeli produk, anda boleh menggunakan kaedah ramalan untuk meramalkan sama ada pelanggan baharu akan membeli produk tersebut.

Kami akan menggunakan set data kanser payudara daripada scikit-learn. Set data ini mengandungi pemerhatian tumor dan label yang sepadan sama ada tumor itu malignan atau jinak.

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]

kaedah predict_proba

Gunakan fungsi predict_proba untuk membuat ramalan kebarangkalian bagi setiap kategori dan kembalikan anggaran kebarangkalian yang mungkin bagi setiap label kategori. Dalam masalah klasifikasi binari atau multivariate, pendekatan ini biasanya digunakan untuk menentukan kebarangkalian setiap hasil yang mungkin. Contohnya, jika anda telah melatih model untuk mengelaskan imej haiwan kepada kucing, anjing dan kuda, anda boleh menggunakan kaedah predict_proba untuk mendapatkan anggaran kebarangkalian bagi setiap label kategori.

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

kaedah predict_log_proba

Kaedah predict_log_proba adalah serupa dengan predict_proba, tetapi ia mengembalikan logaritma anggaran kebarangkalian dan bukannya kebarangkalian mentah. Ini sangat berguna untuk menangani nilai kebarangkalian yang sangat kecil atau sangat besar, kerana ia boleh mengelakkan masalah aliran bawah atau limpahan berangka.

[[0.99848307 0.00151693]]
rrree

kaedah fungsi_keputusan

Model pengelasan binari linear boleh menggunakan kaedah fungsi_keputusan.. Ia menjana skor untuk setiap titik data input, yang boleh digunakan untuk membuat kesimpulan label kelasnya yang sepadan. Ambang yang mengklasifikasikan titik data sebagai positif atau negatif boleh ditetapkan berdasarkan pengetahuan aplikasi atau domain.

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

Ringkasan

  • Gunakan ramalan untuk masalah pengelasan binari atau multivariate apabila anda ingin mendapatkan label kelas yang diramalkan bagi data input.
  • Gunakan predict_proba untuk masalah klasifikasi binari atau multivariate apabila anda ingin mendapatkan anggaran kebarangkalian untuk setiap label kelas yang mungkin.
  • Gunakan predict_log_proba apabila anda perlu menangani nilai kebarangkalian yang sangat kecil atau sangat besar, atau apabila anda ingin mengelakkan masalah aliran bawah atau limpahan berangka.
  • Gunakan decision_function untuk mengendalikan masalah klasifikasi binari dengan model linear apabila anda ingin mendapatkan skor untuk setiap titik data input.

Nota: Sesetengah kaedah ramalan pengelas mungkin tidak lengkap atau memerlukan parameter tambahan untuk mengakses fungsi. Contohnya: SVC perlu menetapkan parameter kebarangkalian kepada Benar untuk menggunakan ramalan kebarangkalian.

Atas ialah kandungan terperinci Gunakan Scikit-Learn untuk menguasai kaedah ramalan pembelajaran mesin dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam