SVM ialah algoritma klasifikasi yang biasa digunakan, yang digunakan secara meluas dalam bidang pembelajaran mesin dan perlombongan data. Dalam Python, pelaksanaan SVM sangat mudah dan boleh diselesaikan dengan menggunakan perpustakaan yang berkaitan.
Artikel ini akan memperkenalkan cara menggunakan SVM untuk pengelasan dalam Python, termasuk prapemprosesan data, latihan model dan penalaan parameter.
1. Prapemprosesan data
Sebelum menggunakan SVM untuk pengelasan, kami perlu praproses data untuk memastikan data memenuhi keperluan algoritma SVM. Biasanya, prapemprosesan data merangkumi aspek berikut:
2. Latihan model
Selepas prapemprosesan data, kami boleh memulakan latihan model. Dalam Python, kita boleh menggunakan perpustakaan berkaitan SVM untuk latihan model.
Sebelum melatih model, kita perlu mengimport perpustakaan yang berkaitan:
import numpy sebagai np
dari sklearn import SVC
daripada sklearn.model_selection import train_test_split
daripada sklearn.metrics import accuracy_score
Seterusnya, kami perlu memuatkan data Pembahagian set latihan dan set ujian:
data = np.loadtxt('data.txt', delimiter=',')
X = data[:, :-1]
y = data[:, -1]
X_train, fungsi loadtxt untuk dimuatkan. Fungsi train_test_split digunakan untuk membahagikan data secara rawak kepada set latihan dan set ujian, dan parameter test_size menentukan bahagian set ujian.
clf = SVC(C=1.0, kernel='rbf' , gamma= 'auto')
clf.fit(X_train, y_train)
Antaranya, parameter C ialah pekali regularisasi, parameter kernel menentukan fungsi kernel yang hendak digunakan dan parameter gamma digunakan untuk mengawal fungsi kernel. Dalam contoh ini, kami menggunakan fungsi kernel RBF.
y_pred = clf.predict(X_test)
acc = accuracy_score (y_test, y_pred)print('Accuracy:', acc)
Antaranya, accuracy_score function digunakan untuk mengira ketepatan model.
3. Penalaan parameter
Selepas latihan model, kami boleh melakukan penalaan parameter untuk meningkatkan lagi kesan klasifikasi model. Dalam SVM, kaedah penalaan parameter yang biasa digunakan termasuk carian grid dan pengesahan silang.
Carian griddari sklearn.model_selection import GridSearchCV
Tentukan julat parameter
'kernel': ['linear', 'rbf'], 'gamma': ['auto', 0.1, 0.01]}
rreee
Output parameter optimum
Antaranya, param_grid menentukan julat parameter dan parameter cv menentukan bilangan pengesahan silang. Selepas pelaksanaan selesai, kita boleh mengeluarkan kombinasi parameter optimum.
Pengesahan silangdaripada sklearn.model_selection import cross_val_score
Lakukan pengesahan silang
skor silang Keputusan
Antaranya, parameter cv menentukan bilangan pengesahan silang. Selepas pelaksanaan selesai, kita boleh mengeluarkan keputusan pengesahan silang.
4. Ringkasan
Artikel ini memperkenalkan cara menggunakan SVM untuk pengelasan dalam Python, termasuk prapemprosesan data, latihan model dan penalaan parameter. Masalah klasifikasi boleh diselesaikan dengan berkesan menggunakan SVM, dan perpustakaan berkaitan dalam Python juga menyediakan alat yang mudah untuk melaksanakan SVM. Saya harap artikel ini boleh membantu pembaca apabila menggunakan SVM untuk pengelasan.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan SVM untuk klasifikasi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!