官网介绍
在极端随机树(参见 ExtraTreesClassifier 和 ExtraTreesRegressor类)中,计算分割点方法中的随机性进一步增强。与随机森林中一样,使用了候选特征的随机子集,但不像随机森林中是寻找最具区分度的阈值,而是对每个候选特征随机绘制阈值,并选择这些随机生成的阈值中最佳的作为作为分割规则。这种做法通常能够减少一点模型的方差,代价则是略微地增大偏差
极限森林是在随机森林的基础上更近了一步
from sklearn.ensemble import ExtraTreesClassifier,RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
from sklearn import datasets
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
决策树 在进行裂分的时候, 根据信息增益最大进行裂分,刻板
# 极限森林 1、样本随机 2、分裂条件随机(不是最好的裂分条件)
# 像在随机森林中一样,使用候选特征的随机子集,但不是寻找最有区别的阈值,
# 而是为每个候选特征随机绘制阀值
# 并选择这些随机生成的阈值中的最佳阈值作为划分规则
X,y = datasets.load_wine(True)
使用决策树方法进行预测
clf = DecisionTreeClassifier()
cross_val_score(clf,X,y,cv=6,scoring='accuracy').mean()
这些都是用来调整树的深度是⬆
随机森林效果
forest = RandomForestClassifier(n_estimators=100)
cross_val_score(forest,X,y,cv = 8,scoring='accuracy').mean()
极限森林效果
extra = ExtraTreesClassifier(n_estimators=100,)
cross_val_score(extra,X,y,cv = 6,scoring='accuracy').mean()
对于鸢尾花数据使用这三种方法:
# 鸢尾花数据 特征只有四个,相对于葡萄酒,数据量简单
X,y = datasets.load_iris(True)
clf = DecisionTreeClassifier()
cross_val_score(clf,X,y,cv = 6,scoring='accuracy').mean()
forest = RandomForestClassifier(n_estimators=100)
cross_val_score(forest,X,y,cv = 8,scoring='accuracy').mean()
extra = ExtraTreesClassifier(n_estimators=100,)
cross_val_score(extra,X,y,cv = 6,scoring='accuracy').mean()
数据简单,那么普通的算法和牛X算法效果一样
清洗后的数据,优化后的数据,整理的数据,对于算法的要求变低
数据预处理i非常重要 ! ! !
一般算法(铁锅),复杂算法(不锈钢),更高级算法(钛合金)
数据质量,非常重要
烂白菜(数据质量极差)
纯天然,无污染,绿色,有机食品(高质量数据)
数据处理重要,重要,重要