Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh Python bagi prinsip algoritma hutan rawak dan aplikasi praktikal (dengan kod lengkap)

Contoh Python bagi prinsip algoritma hutan rawak dan aplikasi praktikal (dengan kod lengkap)

王林
王林ke hadapan
2024-01-23 18:09:061106semak imbas

Algoritma Random Forest ialah teknik ensemble yang mampu melaksanakan tugas regresi dan pengelasan menggunakan pepohon keputusan berbilang dan teknik yang dipanggil Bootstrap dan pengagregatan. Idea asas di sebalik ini adalah untuk menggabungkan berbilang pepohon keputusan untuk menentukan keluaran akhir, dan bukannya bergantung pada pepohon keputusan tunggal.

Hutan Rawak dalam Pembelajaran Mesin

Hutan rawak menghasilkan sejumlah besar pokok klasifikasi. Letakkan vektor input di bawah setiap pokok dalam hutan untuk mengklasifikasikan objek baharu berdasarkan vektor input. Setiap pokok diberikan kelas, yang boleh kita panggil sebagai "undi", dan kelas dengan bilangan undian tertinggi akhirnya dipilih.

Peringkat berikut akan membantu kita memahami cara algoritma hutan rawak berfungsi.

Langkah 1: Mula-mula pilih sampel rawak daripada set data.

Langkah 2: Untuk setiap sampel, algoritma akan mencipta pepohon keputusan. Kemudian keputusan ramalan setiap pohon keputusan akan diperolehi.

Langkah 3: Setiap hasil yang dijangkakan dalam langkah ini akan diundi.

Langkah 4: Akhir sekali, pilih keputusan ramalan dengan undian terbanyak sebagai keputusan ramalan akhir.

Kaedah hutan rawak mempunyai kelebihan berikut

  • Dengan purata atau menyepadukan output pokok keputusan yang berbeza, ia menyelesaikan masalah overfitting.
  • Hutan rawak berprestasi lebih baik daripada pepohon keputusan individu untuk pelbagai item data.
  • Algoritma hutan rawak mengekalkan ketepatan yang tinggi walaupun apabila sejumlah besar data tiada.

Ciri Hutan Rawak

Berikut ialah ciri utama algoritma Hutan Rawak:

  1. ialah algoritma paling tepat yang ada pada masa ini.
  2. Sesuai untuk pangkalan data yang besar.
  3. Boleh mengendalikan puluhan ribu pembolehubah input tanpa memadamkan mana-mana daripadanya.
  4. Apabila hutan berkembang, ia menjana anggaran dalaman yang tidak berat sebelah tentang ralat generalisasi.
  5. Mengekalkan ketepatannya walaupun dalam kes kehilangan data yang besar.
  6. Ia termasuk kaedah untuk mengimbangi ketidaktepatan set data yang tidak sekata dalam populasi kuasi.
  7. Hutan yang dicipta boleh disimpan dan digunakan untuk data lain pada masa hadapan.
  8. Buat prototaip untuk menunjukkan hubungan antara pembolehubah dan kategori.
  9. Ia mengira jarak antara pasangan contoh, yang berguna untuk mengelompokkan, mengesan outlier atau memberikan paparan data yang menarik (mengikut skala).
  10. Data tidak berlabel boleh digunakan untuk membuat pengelompokan tanpa pengawasan, visualisasi data dan pengenalpastian outlier menggunakan ciri di atas.

Hutan rawak mempunyai berbilang pokok keputusan sebagai model pembelajaran asas. Kami melakukan pensampelan baris dan pensampelan ciri secara rawak daripada set data untuk membentuk set data sampel bagi setiap model. Bahagian ini dipanggil bootstrap.

Cara menggunakan Teknik Regresi Hutan Rawak

  1. Reka bentuk soalan atau data khusus dan dapatkan sumber untuk menentukan data yang diperlukan.
  2. Pastikan data berada dalam format yang boleh diakses, jika tidak, tukarkannya kepada format yang diperlukan.
  3. Nyatakan sebarang anomali yang jelas dan titik data yang hilang yang mungkin diperlukan untuk mendapatkan data yang diperlukan.
  4. Buat model pembelajaran mesin.
  5. Tetapkan model garis dasar yang anda mahu laksanakan
  6. Latih model pembelajaran mesin data.
  7. Gunakan data ujian untuk memberikan cerapan tentang model anda
  8. Sekarang bandingkan metrik prestasi pada data ujian dan data ramalan model.
  9. Jika ia tidak memuaskan, anda boleh cuba memperbaiki model dengan sewajarnya atau menggunakan teknik pemodelan data yang lain.
  10. Dalam peringkat ini, data yang diperolehi ditafsir dan dilaporkan dengan sewajarnya.

Pelaksanaan python proses algoritma hutan rawak

Langkah 1: Import perpustakaan yang diperlukan.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

Langkah 2: Import dan cetak set data

ata=pd.read_csv('Salaries.csv')
print(data)

Langkah 3: Pilih semua baris dan lajur 1 daripada set data hingga x, pilih semua baris dan lajur 2 sebagai y

x=df.iloc[: ,:-1] #":" bermaksud ia akan memilih semua baris, ":-1" bermaksud ia akan mengabaikan lajur terakhir

y=df.iloc[:,-1:]#":" bermaksud ia akan memilih semua baris, "- 1:" bermakna ia akan mengabaikan semua lajur kecuali lajur terakhir

#Fungsi "iloc()" membolehkan kami memilih sel tertentu bagi set data, iaitu, ia membantu kami memilih sel khusus set data daripada bingkai data atau set data Memilih nilai kepunyaan baris atau lajur tertentu daripada set nilai.

Langkah 4: Pasangkan regressor hutan rawak pada set data

from sklearn.ensemble import RandomForestRegressor
regressor=RandomForestRegressor(n_estimators=100,random_state=0)
regressor.fit(x,y)

Langkah 5: Ramalkan hasil baharu

Y_pred=regressor.predict(np.array([6.5]).reshape(1,1))

Langkah 6: Visualisasikan keputusan

随机森林算法原理 随机森林python实例流程(附完整代码)

X_grid=np.arrange(min(x),max(x),0.01)
X_grid=X_grid.reshape((len(X_grid),1))
plt.scatter(x,y,color='blue')
plt.plot(X_grid,regressor.predict(X_grid),
color='green')
plt.title('Random Forest Regression')
plt.xlabel('Position level')
plt.ylabel('Salary')
plt.show()

Atas ialah kandungan terperinci Contoh Python bagi prinsip algoritma hutan rawak dan aplikasi praktikal (dengan kod lengkap). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:163.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam