隨機森林算法是一種集成技術,能夠使用多個決策樹和一種稱為Bootstrap和聚合的技術來執行回歸和分類任務。這背后的基本思想是結合多個決策樹來確定最終輸出,而不是依賴于單個決策樹。
機器學習中的隨機森林
隨機森林產生大量分類樹。將輸入向量放在森林中的每棵樹下,以根據輸入向量對新對象進行分類。每棵樹都分配了一個分類,我們可以將其稱為“投票”,最終選擇最高票數的分類。
以下階段將幫助我們了解隨機森林算法的工作原理。
第1步:首先從數據集中選擇隨機樣本。
第2步:對于每個樣本,該算法將創建一個決策樹。然后將獲得每個決策樹的預測結果。
第3步:將對這一步中的每個預期結果進行投票。
第4步:最后選擇得票最多的預測結果作為最終的預測結果。
隨機森林方法具有以下優點
通過平均或整合不同決策樹的輸出,它解決了過度擬合的問題。
對于范圍廣泛的數據項,隨機森林比單個決策樹表現更好。
即使缺少大量數據,隨機森林算法也能保持高精度。
隨機森林的特點
以下是隨機森林算法的主要特征:
-
是目前可用的最準確的算法。
適用于龐大的數據庫。
可以處理數以萬計的輸入變量,且不用刪除其中任何一個變量。
隨著森林的增長,它會生成泛化誤差的內部無偏估計。
即使在大量數據丟失的情況下也能保持其準確性。
它包括用于平衡類人群中不均勻數據集的不準確性的方法。
創建的森林可以在將來保存并用于其他數據。
創建原型以顯示變量和分類之間的關系。
它計算示例對之間的距離,這對于聚類、檢測異常值或提供引人入勝的數據視圖(按比例)很有用。
未標記的數據可用于使用上述功能創建無監督聚類、數據可視化和異常值識別。
隨機森林有多個決策樹作為基礎學習模型。我們從數據集中隨機執行行采樣和特征采樣,形成每個模型的樣本數據集。這部分稱為引導程序。
如何使用隨機森林回歸技術
-
設計一個特定的問題或數據并獲取源以確定所需的數據。
確保數據是可訪問的格式,否則將其轉換為所需的格式。
指定獲得所需數據可能需要的所有明顯異常和缺失數據點。
創建機器學習模型。
設置想要實現的基線模型
訓練數據機器學習模型。
使用測試數據提供對模型的洞察
現在比較測試數據和模型預測數據的性能指標。
如果它不能滿足,可以嘗試相應地改進模型或者使用其他數據建模技術。
在這個階段,解釋獲得的數據并相應地報告。
Python實現隨機森林算法流程
第1步:導入所需的庫。
import numpy as np import matplotlib.pyplot as plt import pandas as pd
登錄后復制
第2步:導入并打印數據集
ata=pd.read_csv('Salaries.csv') print(data)
登錄后復制
第3步:從數據集中選擇所有行和第1列到x,選擇所有行和第2列作為y
x=df.iloc[:,:-1]#”:”表示將選擇所有行,“:-1”表示將忽略最后一列
y=df.iloc[:,-1:]#”:”表示它將選擇所有行,“-1:”表示它將忽略除最后一列之外的所有列
#“iloc()”函數使我們能夠選擇數據集的特定單元格,也就是說,它幫助我們從數據框或數據集的一組值中選擇屬于特定行或列的值。
第4步:將隨機森林回歸器擬合到數據集
from sklearn.ensemble import RandomForestRegressor regressor=RandomForestRegressor(n_estimators=100,random_state=0) regressor.fit(x,y)
登錄后復制
第5步:預測新結果
Y_pred=regressor.predict(np.array([6.5]).reshape(1,1))
登錄后復制
第6步:可視化結果
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()
登錄后復制