Rumah >Peranti teknologi >AI >Gunakan Scikit-Learn untuk menguasai kaedah ramalan pembelajaran mesin dengan cepat
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.
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]
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 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
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
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!