决策树
信息量越大 信息熵越大
信息和消除不确定性是相联系的
决策树的划分依据是信息增益 不确定性
sklearn选择基尼系数作为分类依据,该系数划分更加仔细
class sklearn.tree.DecisionTreeClassifier(criterion=’gini’, max_depth=None,random_state=None)
决策树的结构,本地保存
sklearn.tree.export_graphviz() 该函数能够导出DOT格式 tree.export_graphviz(estimator,out_file='tree.dot’,feature_names=[‘’,’’])
决策树的优点:简单的理解和解释,树木可视化,需要很少的数据准备,其他技术通常需要数据归一化
缺点:决策树过拟合 树的建立太深
改进:剪枝cart算法(决策树API中已经实现
随机森林
集成学习方法-随机森林
集成学习方法通过建立几个模型组合的来解决单一预测问题,生成多个分类器、模型,各自独立地学习和做出预测,这些预测最后结合成单个预测,因此优于任何一个单分类的预测
随机森林是一个包含多个决策树的分类器,并且其输出的类别是有个别树输出的类别的众数而定。
随机森林建立多个决策树的过程:
单个树建立过程(1)随机在N个样本中选择一个,重复N次,样本有可能重复;(2)随机在M个特征当中选择m个特征,
随机有放回的抽样 即bootstrap抽样
随机森林API:class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=’gini’, max_depth=None, bootstrap=True, random_state=None)
随机森林优点:在当前所有算法中,具有极好的准确率;能够有效地运行在大数据集上 ;能够处理具有高维特征的输入样本,而且不需要降维 ;能够评估各个特征在分类问题上的重要性 ;对于缺省值问题也能够获得很好得结果