Rumah  >  Artikel  >  Peranti teknologi  >  Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

Panduan untuk melaksanakan algoritma hutan rawak dalam pembelajaran mesin

王林
王林ke hadapan
2023-04-08 18:01:08731semak imbas

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

Seterusnya, kami akan memuatkan set data :

df = pd.read_csv(r"C:UsersUserDownloadsdatabreast_cancer_wisconsin_diagnostic_dataset.csv")
df

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

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)

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)

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)

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)
# 准确度分数
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)

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)
plt.figure(figsize=(12,8))
feat_imp.plot(kind='bar')
plt.ylabel('Feature Importance Score')
plt.title("Feature Importance")
plt.show()

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!

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