1.1 原理介紹
隨機森林(random forest)是一種遵循bagging技術的整合機器學習演算法。
bagging演算法 (英語:bootstrap aggregating,引導聚集演算法),又稱裝袋演算法,是機器學習領域的一種團體學習演算法。最初由leo breiman於2023年提出。bagging演算法可與其他分類、回歸演算法結合,提高其準確率、穩定性的同時,通過降低結果的方差,避免過擬合的發生。 給定乙個大小為n的訓練集 d,bagging演算法從中均勻、有放回地(即使用自助抽樣法)選出m個大小為 n』的子集 d_,作為新的訓練集。在這 m個訓練集上使用分類、回歸等演算法,則可得到 m個模型,再通過取平均值、取多數票等方法,即可得到bagging的結果。隨機森林中的「森林」表示整個模型中包含了很多決策樹,「隨機」表示森林中的每棵決策樹都是隨機從資料集中取樣來訓練。更多的原理介紹見 此篇部落格。
1.2 **實現
資料集採用的是sklearn庫提供的鳶尾花資料集,這個資料集用過很多次了,此處就不對該資料集作過多介紹。
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import randomforestclassifier
# 1. 載入資料集
iris = load_iris(
)x = iris.data # 資料
y = iris.target # 標籤
# 2. 劃分資料集
x_trainer, x_test, y_trainer, y_test = train_test_split(x, y, test_size=
0.2)
# 3. randomforestclassifier
clf = randomforestclassifier(n_estimators=
5, max_depth=4)
clf.fit(x_trainer, y_trainer)
score = clf.score(x_test, y_test)
# 模型得分
print
("模型得分:"
, score)
輸出結果:
模型得分: 0.9666666666666667
**的效果還是很好的。下面對randomforestclassifier的引數做一下說明:
n_estimators:設定決策樹的數量,即想要建立幾棵樹;數值設定得越大**結果越穩定,但太大就會使得速度慢了;
max_depth:設定每棵決策樹的最大深度(樹的層數)
2.1 原理介紹
自適應增強演算法(adaptive boosting),這是boosting演算法之一。其思想就是「前人栽樹,後人乘涼」。更多的原理介紹見 此篇部落格。
2.2 **實現
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import adaboostclassifier
# 1. 載入資料集
iris = load_iris(
)x = iris.data # 資料
y = iris.target # 標籤
# 2. 劃分資料集
x_trainer, x_test, y_trainer, y_test = train_test_split(x, y, test_size=
0.2)
# 3. adaboostclassifier
clf = adaboostclassifier(
)clf.fit(x_trainer, y_trainer)
score = clf.score(x_test, y_test)
# 模型得分
print
("模型得分:"
, score)
輸出結果:
模型得分: 0.9666666666666667
機器學習 運用sklearn庫實現隨機森林分類
通過呼叫sklearn庫快速實現隨機森林 決策樹 極端隨機樹等分類演算法 方便大家學習以及自己以後使用 coding utf 8 created on mon sep 21 20 08 53 2020 author dell import math from sklearn.ensemble imp...
04 12 scikit learn庫之隨機森林
目錄二 randomforestregressor 人工智慧從入門到放棄完整教程目錄 本文主要介紹隨機森林的兩個模型randomforestclassifier和randomforestregressor,這兩個模型調參包括兩部分,第一部分是bagging框架,第二部分是cart決策樹的引數。本文會...
04 12 scikit learn庫之隨機森林
目錄二 randomforestregressor 更新 更全的 機器學習 的更新 更有python go 資料結構與演算法 爬蟲 人工智慧教學等著你 本文主要介紹隨機森林的兩個模型randomforestclassifier和randomforestregressor,這兩個模型調參包括兩部分,第...