Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Extra Trees

Extra Trees (Extremely Randomized Trees) はRandom Forestsの改良版みたいなもの。

Random Forestはランダムに選んだ特徴量を用いて、その中で最良の分割点を探索して決定木を構築する。

一方でExtra Treesはランダムに選んだ特徴量の、ランダムな分割点たちを候補点として、そのなかの最良分割点で分割するように決定木を構築する。

それによってよりランダムで独立した決定木たちを構築し、アンサンブル(平均 or 多数決)するときのバリアンスを低減させる

理論

from sklearn.ensemble import ExtraTreesClassifier
from sklearn.datasets import make_classification
X, y = make_classification(n_features=4, random_state=0)
clf = ExtraTreesClassifier(n_estimators=100, random_state=0)
clf.fit(X, y)
clf.predict([[0, 0, 0, 0]])
array([1])
References
  1. Geurts, P., Ernst, D., & Wehenkel, L. (2006). Extremely randomized trees. Machine Learning, 63(1), 3–42. 10.1007/s10994-006-6226-1