機(jī)器學(xué)習(xí)中實(shí)施隨機(jī)森林算法的指南
隨著機(jī)器學(xué)習(xí)模型在預(yù)測(cè)和分析數(shù)據(jù)方面變得越來越流行,隨機(jī)森林算法的使用正在獲得動(dòng)力。隨機(jī)森林是一種監(jiān)督學(xué)習(xí)算法,用于機(jī)器學(xué)習(xí)領(lǐng)域的回歸和分類任務(wù)。它的工作原理是在訓(xùn)練時(shí)構(gòu)建大量決策樹并輸出類,即類的模式(分類)或單個(gè)樹的平均預(yù)測(cè)(回歸)。
在本文中,我們將討論如何使用在線真實(shí)數(shù)據(jù)集實(shí)現(xiàn)隨機(jī)森林算法。我們還將提供詳細(xì)的代碼解釋和每個(gè)步驟的描述,以及對(duì)模型性能和可視化的評(píng)估。
我們將使用的數(shù)據(jù)集是“Breast Cancer Wisconsin (Diagnostic) Dataset”,它是公開可用的,可以通過 UCI 機(jī)器學(xué)習(xí)存儲(chǔ)庫訪問。該數(shù)據(jù)集有 569 個(gè)實(shí)例,具有 30 個(gè)屬性和兩個(gè)類別——惡性和良性。我們的目標(biāo)是根據(jù) 30 個(gè)屬性對(duì)這些實(shí)例進(jìn)行分類,并確定它們是良性還是惡性。您可以從https://www.kaggle.com/datasets/uciml/breast-cancer-wisconsin-data下載數(shù)據(jù)集。
首先,我們將導(dǎo)入必要的庫:
接下來,我們將加載數(shù)據(jù)集:
輸出:
在構(gòu)建模型之前,我們需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。由于 'id' 和 'Unnamed: 32' 列對(duì)我們的模型沒有用,我們將刪除它:
輸出:
接下來,我們將把“診斷”列分配給我們的目標(biāo)變量并將其從我們的特征中刪除:
我們現(xiàn)在將把我們的數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集。我們將使用 70% 的數(shù)據(jù)進(jìn)行訓(xùn)練,30% 的數(shù)據(jù)用于測(cè)試:
通過我們的數(shù)據(jù)預(yù)處理并分成訓(xùn)練和測(cè)試集,我們現(xiàn)在可以構(gòu)建我們的隨機(jī)森林模型:
在這里,我們將森林中的決策樹數(shù)量設(shè)置為 100,并設(shè)置了隨機(jī)狀態(tài)以確保結(jié)果的可重復(fù)性。
現(xiàn)在,我們可以評(píng)估模型的性能。我們將使用準(zhǔn)確度分?jǐn)?shù)、混淆矩陣和分類報(bào)告進(jìn)行評(píng)估:
輸出:
準(zhǔn)確性得分告訴我們模型在正確分類實(shí)例方面的表現(xiàn)如何?;煜仃囎屛覀兏玫亓私馕覀兡P偷姆诸愋阅?。分類報(bào)告為我們提供了兩個(gè)類別的精度、召回率、f1 分?jǐn)?shù)和支持值。
最后,我們可以可視化模型中每個(gè)特征的重要性。我們可以通過創(chuàng)建一個(gè)顯示特征重要性值的條形圖來做到這一點(diǎn):
輸出:
此條形圖按降序顯示每個(gè)特征的重要性。我們可以看到前三個(gè)重要特征是“凹點(diǎn)均值”、“凹點(diǎn)最差”和“區(qū)域最差”。
總之,在機(jī)器學(xué)習(xí)中實(shí)施隨機(jī)森林算法是分類任務(wù)的強(qiáng)大工具。我們可以使用它根據(jù)多個(gè)特征對(duì)實(shí)例進(jìn)行分類并評(píng)估我們模型的性能。在本文中,我們使用了在線真實(shí)數(shù)據(jù)集,并提供了詳細(xì)的代碼解釋和每個(gè)步驟的描述,以及對(duì)模型性能和可視化的評(píng)估。