Video: Data Analysis in R by Dustin Tran 2024
Sebelum anda boleh memberi suapan pengeluar Mesin Vektor Sokongan (SVM) dengan data yang dimuatkan untuk analisis ramalan, anda mesti memisahkan dataset penuh ke dalam satu set latihan dan set ujian.
Untungnya, scikit-learning telah melaksanakan fungsi yang akan membantu anda dengan mudah memisahkan dataset penuh. Fungsi train_test_split mengambil sebagai input satu dataset dan nilai peratusan. Nilai peratusan digunakan untuk menentukan saiz set ujian. Fungsi ini mengembalikan dua dataset: dataset test (dengan saiz yang ditetapkan) dan dataset latihan (yang menggunakan data yang tersisa).
Biasanya, seseorang boleh mengambil sekitar 70-80 peratus daripada data untuk digunakan sebagai set latihan dan menggunakan baki data sebagai set ujian. Tetapi dataset Iris sangat kecil (hanya 150 contoh), jadi anda boleh mengambil 90 peratus untuk melatih model dan menggunakan 10 peratus lain sebagai data ujian untuk melihat bagaimana model ramalan anda akan tampil.
Ketik kod berikut untuk memisahkan dataset anda: >>>> dari sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (data iris, target iris, test_size = 0, 10, random_state = 111)
Baris pertama mengimport perpustakaan silang ke sesi anda. Baris kedua mencipta set ujian daripada 10 peratus sampel.
y_train akan mengandungi 135 label dalam susunan yang sama dengan 135 pemerhatian.
x_test akan mengandungi 15 (atau 10 peratus) pemerhatian dan ciri-cirinya.
y_test akan mengandungi 15 label dalam susunan yang sama dengan 15 pemerhatian.
Kod berikut mengesahkan bahawa perpecahan adalah apa yang anda harapkan:
Banyak pemula dalam bidang analisis ramalan lupa untuk memecahkan dataset - yang memperkenalkan kecacatan reka bentuk yang serius ke dalam projek. Sekiranya 150 kes penuh dimuatkan ke dalam mesin sebagai data latihan, itu tidak akan meninggalkan data yang tidak kelihatan untuk menguji model. Kemudian anda perlu menggunakan semula beberapa contoh latihan untuk menguji model ramalan.
Anda akan melihat bahawa dalam keadaan sedemikian, model itu sentiasa meramalkan kelas yang betul - kerana anda menggunakan data tepat yang sama yang anda gunakan untuk melatih model.Model ini telah melihat corak ini sebelum ini; ia tidak akan mempunyai masalah hanya mengulangi apa yang dilihatnya. Model ramalan yang bekerja perlu membuat ramalan untuk data yang belum dilihat.
Apabila anda mempunyai contoh pengelas SVM, dataset latihan, dan dataset ujian, anda sudah bersedia untuk melatih model dengan data latihan. Menaipkan kod berikut ke dalam penterjemah akan melakukannya dengan tepat: >>>> svmClassifier. patut (X_train, y_train)
Barisan kod ini mewujudkan model kerja untuk membuat ramalan dari. Khususnya, model ramalan yang akan meramalkan apa kelas Iris kumpulan dataset yang tidak dilabel. Contoh svmClassifier akan mempunyai beberapa kaedah yang boleh anda panggil untuk melakukan pelbagai perkara.
Sebagai contoh, selepas memanggil kaedah yang sesuai, kaedah yang paling berguna untuk dipanggil adalah kaedah meramalkan. Itulah kaedah yang anda akan memberi data baru; Sebagai balasan, ia meramalkan hasilnya.