Rumah > Peranti teknologi > AI > teks badan

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

王林
Lepaskan: 2023-04-08 18:01:08
ke hadapan
795 orang telah melayarinya

Apabila model pembelajaran mesin menjadi lebih popular untuk meramal dan menganalisis data, penggunaan algoritma hutan rawak semakin mendapat momentum. Random Forest ialah algoritma pembelajaran diselia yang digunakan untuk tugas regresi dan pengelasan dalam bidang pembelajaran mesin. Ia berfungsi dengan membina sejumlah besar pokok keputusan pada masa latihan dan mengeluarkan kelas, sama ada mod kelas (pengkelasan) atau ramalan purata satu pokok (regresi).

Dalam artikel ini, kita akan membincangkan cara melaksanakan algoritma Random Forest menggunakan set data dunia sebenar dalam talian. Kami juga akan memberikan penerangan dan penerangan kod terperinci bagi setiap langkah, serta penilaian prestasi model dan visualisasi.

Dataset yang akan kami gunakan ialah "Set Data Kanser Payudara Wisconsin (Diagnostik)", yang tersedia secara umum dan boleh diakses melalui Repositori Pembelajaran Mesin UCI. Set data mempunyai 569 kejadian dengan 30 atribut dan dua kategori - malignan dan jinak. Matlamat kami adalah untuk mengklasifikasikan kejadian ini berdasarkan 30 sifat dan menentukan sama ada ia adalah jinak atau malignan. Anda boleh memuat turun set data daripada https://www.kaggle.com/datasets/uciml/breast-cancer-wisconsin-data.

Pertama, kami akan mengimport perpustakaan yang diperlukan:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
Salin selepas log masuk

Seterusnya, kami akan memuatkan set data :

df = pd.read_csv(r"C:UsersUserDownloadsdatabreast_cancer_wisconsin_diagnostic_dataset.csv")
df
Salin selepas log masuk

Output:

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

Sebelum membina model, kita perlu praproses data. Oleh kerana lajur 'id' dan 'Tanpa Nama: 32' tidak berguna kepada model kami, kami akan mengalih keluarnya:

df = df.drop([ 'id' , 'Unnamed: 32' ], axis=1) 
df
Salin selepas log masuk

Output:

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

Seterusnya, kami akan menetapkan lajur "Diagnostik" kepada pembolehubah sasaran kami dan mengalih keluarnya daripada ciri kami:

target = df['diagnosis']
features = df.drop('diagnosis', axis=1)
Salin selepas log masuk

Kami kini akan membahagikan set data kami kepada set latihan dan ujian. Kami akan menggunakan 70% daripada data untuk latihan dan 30% untuk ujian:

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

melalui prapemprosesan data kami dan dibahagikan kepada set latihan dan ujian, kami kini boleh membina model hutan rawak kami:

rf = RandomForestClassifier(n_estimators=100, random_state=42) 
rf.fit(X_train, y_train)
Salin selepas log masuk

Di sini kami menetapkan bilangan pokok keputusan dalam hutan kepada 100 dan menetapkan Rawak untuk memastikan kebolehulangan hasil .

Kini, kita boleh menilai prestasi model. Kami akan menggunakan skor ketepatan, matriks kekeliruan dan laporan klasifikasi untuk penilaian:

y_pred = rf.predict(X_test)
Salin selepas log masuk
# 准确度分数
print("Accuracy Score:", accuracy_score(y_test, y_pred))
# Confusion Matrix
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:n", conf_matrix)
# Classification Report
class_report = classification_report(y_test, y_pred)
print("Classification Report:n", class_report)
Salin selepas log masuk

Output:

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

Skor ketepatan memberitahu kami prestasi model pada mengelaskan kejadian dengan betul. Matriks kekeliruan memberi kami pemahaman yang lebih baik tentang prestasi pengelasan model kami. Laporan klasifikasi memberi kami ketepatan, ingatan semula, skor f1 dan nilai sokongan untuk kedua-dua kelas.

Akhir sekali, kita dapat menggambarkan kepentingan setiap ciri dalam model. Kita boleh melakukannya dengan mencipta carta bar yang menunjukkan nilai kepentingan ciri:

importance = rf.feature_importances_
feat_imp = pd.Series(importance, index=features.columns)
feat_imp = feat_imp.sort_values(ascending=False)
Salin selepas log masuk
plt.figure(figsize=(12,8))
feat_imp.plot(kind='bar')
plt.ylabel('Feature Importance Score')
plt.title("Feature Importance")
plt.show()
Salin selepas log masuk

Output:

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

Carta bar ini menunjukkan kepentingan setiap ciri dalam tertib menurun. Kita dapat melihat bahawa tiga ciri penting pertama ialah "min concavity", "worst concavity" dan "worst region".

Ringkasnya, melaksanakan algoritma hutan rawak dalam pembelajaran mesin ialah alat yang berkuasa untuk tugasan pengelasan. Kami boleh menggunakan ini untuk mengklasifikasikan kejadian berdasarkan berbilang ciri dan menilai prestasi model kami. Dalam makalah ini, kami menggunakan set data dunia nyata dalam talian dan memberikan penjelasan dan penerangan kod terperinci bagi setiap langkah, serta penilaian prestasi model dan visualisasi.

Atas ialah kandungan terperinci Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
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