码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 决策树算法在计算机视觉中的应用附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电子书和数学建模资料

  • 相关阅读:
    基于C++的简易的国际象棋双人对战程序设计
    制作一个简单HTML校园网页(HTML+CSS)学校网站制作 校园网站设计与实现
    Java.lang.Class类 getFields()方法有什么功能呢?
    【英语:发音基础】A6.基础词汇-核心形容词
    Nginx(一)介绍Nginx、正向代理和实现反向代理的两个实例
    AWS SAA-C03 #157
    typescript11-数据类型
    python使用pandas中的read_csv函数读取csv数据为dataframe、基于特定数据列对dataframe数据进行降序排序
    go get 没有反应,下载不了(设置代理一秒解决)
    使用vue3 和Springboot 通过 websocket实现前后端通信
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/127935576
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号