集成学习
例子:单独使用一个基学习器,会因为有数据错误而做出错误判断。集成学习就是,对一个事情做出判断,基学习器1使用LR,2使用KNN,3使用SVM,4使用DT,最后共同判断,如果90%判断事情应该是a,10%认为是b,那么就判断事情符合a。实质:三个臭皮匠,顶个诸葛亮。
bagging:n个决策树在一起判断
boosting:
staking:n种学习器一起判断
bagging和boosting用的比较多
1、分类问题:典型的DT(决策树)
2、回归问题:n个学习器得到的结果求均值
3、特征选取集成:有n个特征,但特征并不是越多越好,需要选取比较重要的特征(a.根据业务常识判断,b.根据random forest随机森林选取)
随机森林算法原理
随机森林定义、特点、优点
1、多个决策树放在一起就是随机森林:
a)分类问题:事件x,经过n个分类决策树(DT)判断,90%的结果认为x是0,10%认为是1,那么就认为这是1.
b)回归问题:事件x,经过n个回归决策树计算,得到n个函数,均值是结果
3、优点:并行、准确率高
随机森林生成步骤
每次从原始数据集中随机选取n%的训练数据,在训练时再随机选取m%的特征。
随机森林优缺点介绍
优点
缺点
代码实战
随机森林算法API文档解释
class sklearn.ensemble.RandomForestClassifier(n_estimators=’warn’, criterion=’gini’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, class_weight=None)
随机森林重要的一些参数:
1.n_estimators :(随机森林独有)
随机森林中决策树的个数。
在0.20版本中默认是10个决策树;
在0.22版本中默认是100个决策树;
一般给100-500个
2. criterion :(同决策树)
节点分割依据,默认为基尼系数。
可选【entropy:信息增益】
3.max_depth:(同决策树)【重要】
default=(None)设置决策树的最大深度,默认为None。
【(1)数据少或者特征少的时候,可以不用管这个参数,按照默认的不限制生长即可
(2)如果数据比较多特征也比较多的情