(Hutan Rawak) ialah algoritma pembelajaran ensemble berdasarkan pepohon keputusan (diterangkan sebelum ini), yang boleh mengendalikan kedua-dua masalah klasifikasi dan regresi.
Idea asas hutan rawak ialah menjana berbilang pepohon keputusan dengan memilih sampel dan ciri secara rawak, dan kemudian memperoleh keputusan akhir dengan undian majoriti (masalah klasifikasi) atau pengiraan min (masalah regresi). Secara khusus, proses latihan hutan rawak boleh dibahagikan kepada langkah-langkah berikut:
Pertama, sebilangan sampel dipilih secara rawak daripada set data asal untuk membentuk set latihan baharu
Pilih sebilangan ciri tertentu daripada semua ciri secara rawak sebagai ciri calon untuk nod
Gunakan set latihan di atas dan ciri calon untuk menjana pepohon keputusan
Ulang langkah 1-3 beberapa kali untuk menjana pepohon keputusan berbilang
Untuk masalah pengelasan, setiap daun di dalam setiap pepohon keputusan Nod semuanya mewakili kategori, dan keputusan akhir ialah undian majoriti; untuk masalah regresi, keputusan akhir ialah purata semua output pokok keputusan
from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import pandas as pd # 读取数据 data = pd.read_csv('data.csv') # 划分训练集和测试集 train, test = train_test_split(data, test_size=0.3) # 提取训练集特征和标签 train_x = train.drop(columns=['label']) train_y = train['label'] # 构建随机森林模型 rf = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=0) # 拟合模型 rf.fit(train_x, train_y) # 提取测试集特征和标签 test_x = test.drop(columns=['label']) test_y = test['label'] # 预测并计算准确率 pred_y = rf.predict(test_x) accuracy = accuracy_score(test_y, pred_y) print("Accuracy:", accuracy)
Apabila melaksanakan kod, anda perlu terlebih dahulu untuk mengimport Perpustakaan yang diperlukan. Kemudian, baca dalam data dan bahagikan kepada set latihan dan set ujian. Selepas itu, ciri dan label set latihan diekstrak dan model hutan rawak dibina berdasarkan data ini. Selepas memasang model, ekstrak ciri set ujian, gunakan model untuk meramal dan mengira ketepatan ramalan.
Sebagai algoritma pembelajaran ensemble berdasarkan pepohon keputusan, ia mempunyai kelebihan berikut:
Mempunyai ketepatan yang tinggi dan Lebih Baik keteguhan
Boleh mengendalikan data berdimensi tinggi tanpa memerlukan pemilihan ciri
Boleh menilai setiap ciri untuk pengelasan/ Tahap kesan regresi
Cemerlang dalam memproses set data yang besar.
Teknologi rawak boleh mengurangkan overfitting.
boleh digunakan untuk menilai pembolehubah dan ciri penting.
Kelajuan pengiraan agak pantas.
Sudah tentu ada kelebihan dan kekurangan:
Apabila memproses data berskala besar, masa latihan dan kerumitan ruang adalah tinggi
Untuk beberapa kes khas (seperti data dengan ciri yang sangat berkorelasi), prestasi hutan rawak mungkin lemah
Model hutan rawak mungkin mempunyai bunyi dan anomali Data nilai terdedah kepada overfitting.
tidak berfungsi dengan baik dengan set data yang tidak seimbang.
Hasil model hutan rawak sukar untuk ditafsirkan.
mempunyai storan dan keperluan pengkomputeran yang lebih besar untuk data latihan.
Atas ialah kandungan terperinci Apakah proses hutan rawak algoritma kecerdasan buatan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!