决策树算法
决策树原理要点:根据属性值分为两类(自顶向下的递归方式)
优点:没必要对数据进行归一化处理,是个白盒模型,对已有的现象很容易生成一个表达式
缺点:对于各类样本数量不一致的数据,在决策树的信息增益的结果更偏向于那些具有更多数值的特征。
随机森林:Bootstrap方法重采样,产生多个训练集。用了部分属性。
matlab中的决策树分类器
Train_data;%除了分类属性之外的数据值
Train_property;%简单的二元属性值
Ctree=ClassificationTree.fit(Train_data,Train_property);
view(Ctree);%查看决策树视图
view(Ctree,'mode','graph');
Test_data;%除了属性值的测试数据值
%仿真测试
Simu=predict(Ctree,Test_data);
%叶子结点含有的最小样本数对决策树性能的影响
leafs=logspace(1,2,10);
N=numel(leafs);
err=zeros(N,1);
for i=1:N
t=ClassificationTree.fit(Train_data,Train_property,'crossval','on','minleaf',leafs(n));
err(n)=kfoldLoss(t);
end
plot(leafs,err);
xlabel("叶子结点所含最小的样本数");
ylabel(''交叉验证误差);
%产生优化决策树,设置minleaf为13
optimaltree=ClassificationTree.fit(Train_data,Train_property,'minleaf',13);
view(optimaltree,'mode','graph');

浙公网安备 33010602011771号