Isi kandungan:
- Bagaimana untuk memuatkan data anda
- Line 1 mengimport perpustakaan yang membolehkan anda memecah dataset menjadi dua bahagian.
- Bagaimana untuk menjalankan data ujian
- Jadi bagaimanakah model regresi logistik dengan parameter C = 150 berbanding dengan itu? Nah, anda tidak boleh mengalahkan 100 peratus. Berikut ialah kod untuk membuat dan menilai pengelas logistik dengan C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, random_state = 111) >>> logClassifier_2. patut (X_train, y_train) >>> diramalkan = logClassifier_2. meramalkan (X_test) >>> metrik. accuracy_score (y_test, diramalkan) 0. 93333333333333335 >>> metrik. array confusion_matrix (y_test, diramalkan) ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Video: My Friend Irma: The Red Hand / Billy Boy, the Boxer / The Professor's Concerto 2024
Selepas anda membina model prediktif klasifikasi pertama anda untuk analisis data, membuat lebih banyak model seperti itu adalah tugas yang sangat mudah dalam scikit. Satu-satunya perbezaan sebenar dari satu model ke yang berikutnya ialah anda perlu menyesuaikan parameter dari algoritma ke algoritma.
Bagaimana untuk memuatkan data anda
Penyenaraian kod ini akan memuat dataset iris ke sesi anda: >>>> dari sklearn. dataset import load_iris >>> iris = load_iris ()
Bagaimana untuk membuat contoh klasifikasi
Perhatikan parameter (parameter regularization) dalam pembina. Parameter
regularization
digunakan untuk mencegah overfitting. Parameter itu tidak diperlukan (pembina akan berfungsi dengan baik tanpa ia kerana ia akan menjadi lalai kepada C = 1). Mewujudkan pengelas regresi logistik dengan menggunakan C = 150 mencipta plot yang lebih baik dari permukaan keputusan. Anda boleh melihat kedua-dua plot di bawah.
Line 1 mengimport perpustakaan yang membolehkan anda memecah dataset menjadi dua bahagian.
Talian 2 memanggil fungsi dari pustaka yang memisahkan dataset menjadi dua bahagian dan menyerahkan set data yang dibahagi kepada dua pasang pembolehubah.
Baris 3 mengambil contoh pengelas regresi logistik yang baru anda buat dan memanggil kaedah yang sesuai untuk melatih model dengan dataset latihan.
Bagaimana untuk memvisualisasikan pengelas
Melihat kawasan permukaan keputusan di plot, nampaknya beberapa penalaan perlu dilakukan. Jika anda melihat berhampiran pertengahan plot, anda dapat melihat bahawa banyak titik data kepunyaan kawasan pertengahan (Versicolor) terletak di kawasan itu ke sebelah kanan (Virginica).
Imej ini menunjukkan permukaan keputusan dengan nilai C 150. Ia visual kelihatan lebih baik, jadi memilih untuk menggunakan tetapan ini untuk model regresi logistik anda sepertinya sesuai.
Bagaimana untuk menjalankan data ujian
Dalam kod berikut, baris pertama memberi suapan dataset ujian kepada model dan baris ketiga memaparkan output: >>>> ramalan = logClassifier. meramal (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2])
Bagaimana untuk mengevaluasi model < Anda boleh mengaitkan output daripada ramalan terhadap array y_test. Akibatnya, anda dapat melihat bahawa ia meramalkan semua data ujian menunjukkan dengan betul. Berikut ialah kod: >>>> dari metrik import sklearn >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray (metrik) [[0, 2, 2, 2, 1, 0, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2]]). accuracy_score (y_test, diramalkan) 1. 0 # 1. 0 adalah 100 peratus ketepatan >>> diramalkan == y_testarray ([Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar], dtip = bool)
Jadi bagaimanakah model regresi logistik dengan parameter C = 150 berbanding dengan itu? Nah, anda tidak boleh mengalahkan 100 peratus. Berikut ialah kod untuk membuat dan menilai pengelas logistik dengan C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, random_state = 111) >>> logClassifier_2. patut (X_train, y_train) >>> diramalkan = logClassifier_2. meramalkan (X_test) >>> metrik. accuracy_score (y_test, diramalkan) 0. 93333333333333335 >>> metrik. array confusion_matrix (y_test, diramalkan) ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Kami menjangkakan lebih baik, tetapi sebenarnya lebih teruk. Terdapat satu kesilapan dalam ramalan. Hasilnya adalah sama dengan model Mesin Vektor Sokongan (SVM).
Berikut adalah senarai penuh kod untuk membuat dan menilai model klasifikasi regresi logistik dengan parameter lalai: >>>> dari sklearn. dataset import load_iris >>> dari sklearn import linear_model >>> dari import sklearn cross_validation >>> dari metrik import sklearn >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (data iris, sasaran iris, test_size = 0, 10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier. patut (X_train, y_train) >>> diramalkan = logClassifier. meramalkan (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 2, 2, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 2, 2, 2, 1, 2, 0, 2, 2, 2]) metrik. accuracy_score (y_test, diramalkan) 1. 0 # 1. 0 adalah 100 peratus ketepatan >>> diramalkan == y_testarray ([Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar], dtip = bool)