决策树算法在计算机视觉中的应用附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

ID3算法是数据挖掘决策树算法中应用比较广泛的算法.本文采用ID3算法对发动机功率不足故障中的决策树进行研究与分析,针对ID3算法中的不足,提出一种基于Matlab的决策树算法,此算法根据输入的不同样本值,通过改变其权值来该决定输出值,使所得的决策树更合理,高效.本文实现决策树算法在计算机视觉中的应用​。​

⛄ 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%功能:演示决策树算法在计算机视觉中的应用

%基于C4.5决策树实现图像二值化;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

close all; clear; clc;

%% Step 1  载入图像

Image = imread('flower_test.png');

Mask = imread('flower_mask.png');

figure; imshow(Image); title('Used Image');

figure; imshow(Mask); title('Used Mask');

% In the Mask:

%           Mask(i,j) = 0   -> class 0

%           Mask(i,j) = 255 -> class 1

%           Mask(i,j) = 128 -> unknown

%% Step 2 选择训练数据

[M,N,L] = size(Image);

Data = reshape(Image,[M*N,3]);

pID = find(Mask==255);

nID = find(Mask==0);

pNum = size(pID,1);

nNum = size(nID,1);

TrainData = [Data(pID,:);Data(nID,:)]';

TrainValue = [1*ones([pNum,1]);0*ones([nNum,1])]';

TrainNum = pNum + nNum;

%% Step 3 训练

DivNum = 32;

TrainDataFeatures = uint8(TrainData/DivNum)+1;

Nbins = max(TrainDataFeatures(:));

inc_node = TrainNum*10/100;

discrete_dim = [Nbins,Nbins,Nbins];

tree = BuildC45Tree(TrainDataFeatures, TrainValue, inc_node, discrete_dim, max(discrete_dim));

%% Step 4 测试

TestDataFeatures = uint8(Data'/DivNum)+1;

targets = UseC45Tree(TestDataFeatures, 1:M*N, tree, discrete_dim, unique(TrainValue));

Results = reshape(targets,[M,N]);

figure; imshow(Results,[]); title('C4.5 Classification Results')

⛄ 运行结果

⛄ 参考文献

[1]李园园. 决策树算法实现及其在信用风险控制中的应用[D]. 山东大学, 2013.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值