欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

训练随机森林分类器

程序员文章站 2022-05-26 19:01:45
...

训练随机森林分类器

随机森林,,每棵树 接收的样本是 随机的,有放回随机抽样,每个节点分裂时特征随机 # 参数方面,可以设置 每个节点的特征数,

有放回抽样还是无放回抽样

# 训练随机森林分类器
from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets
​
iris = datasets.load_iris()
features = iris.data
target = iris.target
​
randomforest = RandomForestClassifier(random_state=0)
model = randomforest.fit(features, target)
# 随机森林,,每棵树 接收的样本是  随机的,有放回随机抽样,每个节点分裂时特征随机
# 参数方面,可以设置  每个节点的特征数,  有放回抽样还是无放回抽样
#randomforest_entropy = RandomForestClassifier(criterion='entropy', random_state=0)
#model_entropy = randomforest_entropy.fit(features, target)
# 创建新样本  
observation = [[ 5, 4, 3, 2]]
model.predict(observation)
array([1])
Discussion
A common problem with decision trees is that they tend to fit the training data too closely (i.e. overfitting). This has motivated the widespread use of an ensemble learning method called random forest. In a random forest, many decision trees are trained, but each tree only recieves a bootstrapped sample of observations (i.e. a random sample of observations with replacement that matches the original number of observations) and each node only considers a subset of features when determining the best split. The forest of randomized decision trees votes to determin the predicted class