Pelajari AI dengan Python · Pelajaran

SVM untuk Regresi (SVR)

Tiub epsilon SVR, nu-SVR, perbandingan SVR dengan regresi linear pada data tak linear.

Pelajaran 4 daripada 413 langkah

SVM untuk Regresi (SVR) ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

SVM Juga Boleh Melakukan Regresi

Idea jarak pemisah juga boleh digunakan untuk regresi. Regresi Vektor Sokongan (SVR) memadankan suatu fungsi sambil memastikan ramalan berada dalam jalur toleransi dan mengabaikan ralat kecil.

Tiub Tidak Sensitif terhadap Epsilon

SVR melukis tiub epsilon di sekeliling fungsi yang diramalkan. Titik dalam tiub menyumbang kerugian sifar; hanya titik di luar yang dikenakan penalti. Ini memfokuskan model pada ralat yang bermakna.

Mengapa Tiub Membantu

Dengan mengabaikan penyimpangan kecil, SVR tidak mudah terlebih muat pada hingar dan menghasilkan padanan yang lebih licin serta kukuh. Lengkungan kecil dalam had toleransi tidak mempengaruhi model sama sekali.

Penggunaan Asas SVR

SVR menyerupai SVC dan menyokong fungsi kernel yang sama. RBF ialah nilai lalai yang lazim untuk regresi bukan linear.

from sklearn.svm import SVR

model = SVR(kernel="rbf", C=100, epsilon=0.1, gamma="scale")
model.fit(Xtr, ytr)
print(model.score(Xte, yte))

Parameter epsilon

epsilon menetapkan lebar tiub. Nilai epsilon yang lebih besar bermaksud jalur yang lebih lebar, vektor sokongan yang lebih sedikit dan model yang lebih ringkas. Nilai epsilon yang lebih kecil memadankan data dengan lebih rapat.

from sklearn.svm import SVR

wide = SVR(epsilon=1.0)   # tolerant, simpler
tight = SVR(epsilon=0.01) # fits closely

Parameter C dalam SVR

Seperti dalam pengelasan, C mengawal penalti untuk titik di luar tiub. Nilai C yang lebih besar mengenakan penalti yang lebih berat terhadap ralat tersebut lalu menghasilkan padanan yang lebih ketat; nilai C yang lebih kecil memberikan regularisasi yang lebih kuat untuk lengkung yang lebih licin.

from sklearn.svm import SVR

flexible = SVR(C=1000)  # fits training closely
smooth = SVR(C=0.1)     # more regularized

epsilon berbanding C: Dua Pelaras yang Berbeza

Ingat perbezaannya: epsilon mengawal lebar tiub (jumlah ralat yang diabaikan), manakala C mengawal penalti untuk ralat yang berada di luar tiub. Tala kedua-duanya.

Penskalaan Juga Penting untuk SVR

Seperti semua SVM, SVR bergantung pada jarak dan sensitif terhadap skala. Sentiasa piawaikan ciri, dan pertimbangkan untuk menskalakan sasaran juga bagi mendapatkan latihan yang stabil.

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR

pipe = make_pipeline(StandardScaler(), SVR(kernel="rbf"))
pipe.fit(Xtr, ytr)

Menala SVR

Lakukan carian grid terhadap C, gamma dan epsilon untuk mencari fit terbaik. Gunakan metrik regresi seperti nilai negatif bagi mean kuasa dua ralat untuk score.

from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR

param = {
    "C": [1, 10, 100],
    "gamma": [0.01, 0.1, 1],
    "epsilon": [0.01, 0.1, 0.5],
}
gs = GridSearchCV(SVR(), param, cv=5, scoring="neg_mean_squared_error")
gs.fit(Xtr, ytr)

Varian nu-SVR

NuSVR menggantikan epsilon dengan nu (antara 0 dan 1), yang mengawal pecahan vektor sokongan dan ralat latihan secara langsung, iaitu parameterisasi alternatif yang lebih mudah difahami oleh sesetengah pengguna.

from sklearn.svm import NuSVR

model = NuSVR(nu=0.5, C=100, kernel="rbf")
model.fit(Xtr, ytr)

Bila Hendak Menggunakan SVR

SVR berfungsi dengan baik pada set data kecil hingga sederhana yang mempunyai corak bukan linear dan apabila ketahanan terhadap hingar penting. Untuk data yang sangat besar, utamakan model linear atau penggalakan kecerunan kerana kaedah tersebut lebih mudah diskalakan.

Semakan Pantas

Uji pengetahuan anda tentang SVR.

Ringkasan

Ringkasan: SVR memadankan suatu fungsi dalam tiub tidak sensitif terhadap epsilon, tempat titik di dalamnya mempunyai kos sifar. epsilon menetapkan lebar tiub (lebih besar = lebih ringkas), manakala C mengenakan penalti terhadap titik di luarnya. Sentiasa skalakan ciri, tala C/gamma/epsilon, dan pertimbangkan NuSVR sebagai parameterisasi alternatif.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “SVM untuk Regresi (SVR)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “SVM untuk Regresi (SVR)”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “SVM untuk Regresi (SVR)”?

Tiub epsilon SVR, nu-SVR, perbandingan SVR dengan regresi linear pada data tak linear. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “SVM untuk Regresi (SVR)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Teori SVM: Margin dan Vektor Sokongan
  2. Helah Kernel: RBF, Polinomial dan Sigmoid
  3. SVM untuk Pengelasan dengan sklearn
  4. SVM untuk Regresi (SVR)
← Kembali ke Pelajari AI dengan Python