Contoh algoritma hutan rawak dalam Python

王林
Lepaskan: 2023-06-10 13:12:07
asal
3017 orang telah melayarinya

Random Forest ialah algoritma pembelajaran ensemble yang meningkatkan ketepatan dan keteguhan dengan menggabungkan hasil ramalan berbilang pepohon keputusan. Hutan rawak digunakan secara meluas dalam pelbagai bidang, seperti kewangan, penjagaan perubatan, e-dagang, dll.

Artikel ini akan memperkenalkan cara menggunakan Python untuk melaksanakan pengelas hutan rawak dan mengujinya menggunakan set data bunga iris.

1. Iris Dataset

Iris Dataset ialah set data klasik dalam pembelajaran mesin Ia mengandungi 150 rekod, setiap rekod mempunyai 4 ciri dan 1 label kategori. Empat ciri tersebut ialah panjang sepal, lebar sepal, panjang kelopak dan lebar kelopak, dan label kategori mewakili salah satu daripada tiga jenis iris (gunung Iris, pembolehubah Iris, Iris Virginia).

Dalam Python, kita boleh menggunakan scikit-learn, perpustakaan pembelajaran mesin yang berkuasa, untuk memuatkan set data iris. Operasi khusus adalah seperti berikut:

from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data
y = iris.target
Salin selepas log masuk

2. Bina pengelas hutan rawak

Sangat mudah untuk membina pengelas hutan rawak menggunakan scikit-learn. Mula-mula, kita perlu mengimport kelas RandomForestClassifier daripada sklearn.ensemble dan membuat instantiate objek:

from sklearn.ensemble import RandomForestClassifier

rfc = RandomForestClassifier(n_estimators=10)
Salin selepas log masuk

Antaranya, parameter n_estimators menentukan bilangan pokok keputusan yang disertakan dalam hutan rawak. Di sini, kami menetapkan bilangan pokok keputusan dalam hutan rawak kepada 10.

Seterusnya, kita perlu membahagikan set data iris kepada data latihan dan data ujian. Gunakan fungsi train_test_split untuk membahagikan set data secara rawak kepada set latihan dan set ujian:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
Salin selepas log masuk

Antaranya, parameter test_size menentukan perkadaran set ujian, dan parameter random_state menentukan benih pseudo -penjana nombor rawak untuk memastikan setiap kali Menjalankan program memberikan hasil yang sama.

Kami kemudiannya boleh menggunakan data latihan untuk melatih pengelas hutan rawak:

rfc.fit(X_train, y_train)
Salin selepas log masuk

3. Uji pengelas hutan rawak

Setelah pengelas telah dilatih, kami boleh menggunakan Uji data untuk menguji prestasinya. Gunakan fungsi ramalan untuk membuat ramalan pada set ujian dan fungsi accuracy_score untuk mengira ketepatan model:

from sklearn.metrics import accuracy_score

y_pred = rfc.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
Salin selepas log masuk

Akhir sekali, kita boleh menggunakan perpustakaan matplotlib untuk menggambarkan sempadan keputusan pengelas untuk lebih memahami tingkah laku pengelas :

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
z_min, z_max = X[:, 2].min() - .5, X[:, 2].max() + .5
xx, yy, zz = np.meshgrid(np.arange(x_min, x_max, 0.2), np.arange(y_min, y_max, 0.2), np.arange(z_min, z_max, 0.2))

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

Z = rfc.predict(np.c_[xx.ravel(), yy.ravel(), zz.ravel()])
Z = Z.reshape(xx.shape)
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=y)
ax.set_xlabel('Sepal length')
ax.set_ylabel('Sepal width')
ax.set_zlabel('Petal length')
ax.set_title('Decision Boundary')

ax.view_init(elev=30, azim=120)
ax.plot_surface(xx, yy, zz, alpha=0.3, facecolors='blue')

plt.show()
Salin selepas log masuk

Kod di atas akan memperoleh imej tiga dimensi, di mana warna titik data mewakili kepelbagaian bunga iris, dan sempadan keputusan diwakili oleh permukaan biru lut sinar.

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan Python untuk melaksanakan pengelas hutan rawak dan menggunakan set data bunga iris untuk ujian. Oleh kerana keteguhan dan ketepatan algoritma hutan rawak, ia mempunyai prospek aplikasi yang luas dalam aplikasi praktikal. Jika anda berminat dengan algoritma ini, disyorkan untuk berlatih lebih banyak dan membaca literatur yang berkaitan.

Atas ialah kandungan terperinci Contoh algoritma hutan rawak dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan