Isi kandungan:
- Memuatkan data anda
- Line 1 mengimport perpustakaan yang membolehkan anda memecah dataset menjadi dua bahagian.
- array ([0, 0, 2, 2, 2, 0, 0, 2, 2, 1, (0, 0, 2, 2, 1, 2, 2, 2)) >>>> y_test
- Bagaimanakah model hutan rawak berfungsi jika anda menukar parameter
Video: Dragnet: Big Escape / Big Man Part 1 / Big Man Part 2 2024
Model hutan secara rawak adalah model ensemble yang boleh digunakan dalam analisis ramalan; ia mengambil kumpulan (keputusan) pokok keputusan untuk membuat modelnya. Idea ini adalah untuk mengambil sampel rawak pelajar yang lemah (satu subset data latihan rawak) dan mereka mengundi untuk memilih model yang paling kuat dan terbaik. Model hutan rawak boleh digunakan sama ada klasifikasi atau regresi. Dalam contoh berikut, model hutan rawak digunakan untuk mengklasifikasikan spesies Iris.
Memuatkan data anda
Senarai kod ini akan memuat
iris
dataset ke sesi anda: >>>> dari sklearn. dataset import load_iris >>>> iris = load_iris ()
Membuat contoh klasifikasi
Dua baris baris berikut membuat contoh pengelas. Baris pertama mengimport perpustakaan hutan rawak. Baris kedua mencipta satu contoh algoritma hutan rawak:
>>>> dari sklearn. ensemble import RandomForestClassifier >>>> rf = RandomForestClassifier (n_estimators = 15,
random_state = 111)
Parameter
n_estimators
dalam pembina adalah parameter penalaan yang biasa digunakan untuk model hutan rawak. Nilai ini digunakan untuk membina bilangan pokok di dalam hutan. Ia umumnya antara 10 dan 100 peratus daripada dataset, tetapi ia bergantung kepada data yang anda gunakan. Di sini, nilai ditetapkan pada 15, iaitu 10 peratus daripada data. Kemudian, anda akan melihat bahawa mengubah nilai parameter kepada 150 (100 peratus) menghasilkan hasil yang sama.
N
_estimators
digunakan untuk menyesuaikan prestasi model dan overfitting. Semakin besar nilai, lebih baik prestasi tetapi pada kos yang terlalu banyak. Nilai yang lebih kecil, semakin tinggi kemungkinan tidak terlalu mahal tetapi pada kos prestasi yang lebih rendah. Selain itu, terdapat satu titik di mana peningkatan bilangannya akan secara amnya merendahkan peningkatan ketepatan dan secara mendadak boleh meningkatkan daya pengiraan yang diperlukan. Parameter itu mungkir kepada 10 jika ia diabaikan dalam pembina.
Anda perlu memisahkan dataset ke dalam latihan dan set ujian sebelum anda boleh membuat contoh pengeluar hutan rawak. Kod berikut akan mencapainya: >>>> 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) >>>> rf = rf. patut (X_train, y_train)
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 dibahagikan kepada dua pasang pemboleh ubah.
Talian 3 mengambil contoh pengeluar hutan secara rambang yang baru anda buat, kemudian panggil kaedah yang sesuai untuk melatih model dengan dataset latihan.
Menjalankan data ujian
Dalam kod berikut, baris pertama memberi suapan dataset ujian kepada model, maka baris ketiga memaparkan output: >>>> ramalan = rf. meramal (X_test) >>>> ramalan
array ([0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 0, 1, 2, 2]) > Menilai model
Anda boleh merujuk rujukan output daripada ramalan terhadap array
- y_test
- . Akibatnya, anda dapat melihat bahawa ia meramalkan dua titik data ujian tidak betul. Jadi ketepatan model hutan rawak adalah 86. 67 peratus.
- Berikut ialah kod: >>>> dari metrik import sklearn >>>> ramalan
array ([0, 0, 2, 2, 2, 0, 0, 2, 2, 1, (0, 0, 2, 2, 1, 2, 2, 2)) >>>> y_test
2, 2]) >>>> metrik. accuracy_score (y_test, diramalkan)
0. 8666666666666667 # 1. 0 adalah ketepatan 100 peratus >>>> ramalan == y_test
array ([Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Benar, Salah, Benar,
Benar], dtype = bool)
Bagaimanakah model hutan rawak berfungsi jika anda menukar parameter
n_estimators
menjadi 150? Nampaknya ia tidak akan membuat perbezaan untuk dataset kecil ini. Ia menghasilkan hasil yang sama: >>>> rf = RandomForestClassifier (n_estimators = 150,
random_state = 111) >>>> rf = rf. patut (X_train, y_train) >>>> ramalan = rf. meramal (X_test) >>>> ramalan
array ([0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 0, 1, 2, 2]) >