当前位置: 首页 > news >正文

Matlab:BP神经网络算法,二叉决策树

1、BP神经网络算法

(1)步骤

1.准备训练数据和目标值

2.创建并配置BP神经网络模型

3.训练BP神经网络模型

4.用BP神经网络模型预测数据

例:某企业第一年度营业额为132468,第二年度为158948,第三年度为183737,预测第四年度的营业额

%准备训练数据和目标值
x = [1 2 3]'; %年度
y = [132468 158948 183737]'; %营业额%创建BP神经网络模型
net = feedforwardnet(10);%配置BP神经网络模型
net.trainParam.showWindow = false;
net.trainParam.epochs = 1000;
net.divideFcn = '';
net.performFcn = 'mse';%调整输入输出数据的格式
x_train = x';
y_train = y';%训练BP神经网络模型
net = train(net, x_train, y_train);%预测第四年度的营业额
x_pred = 4; %第四年度
y_pred = sim(net, x_pred);%输出预测结果
disp(y_pred);

(2)+可视化

format long
p=1:16;      %输入矢量
t=0.00001*[114333 115823 117171 118517 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130756]    %目标矢量
net = newff([0 8],[10 1],{'tansig' 'purelin'},'trainlm');  %初始化神经网络 net.trainParam.epochs=2500    %确定最大训练次数
net.trainParam.goal = 0.00000001;    %确定预期误差            
net.trainParam.lr=0.02     %确定学习速率,即权值
net = train(net,p,t);       %进行训练
p2=1:120
y2 = sim(net,p2)
p=1989+p;
p2=1989+p2;
plot(p,t,'o',p2,y2,'*')   %绘制拟合曲线
grid on

2、二叉决策树

(1)步骤

1.加载数据

2.设置特征和标签

3.构建二叉决策树模型

4.预测一个新样本的标签

(2)例:

1.

data = [1, 2, 0;2, 3, 1;3, 4, 0;4, 5, 1;5, 6, 0;6, 7, 1;7, 8, 0;8, 9, 1];
X = data(:, 1:2);  %特征(第1列和第2列作为特征X)
Y = data(:, 3);    %标签(第3列作为标签Y)
tree = fitctree(X, Y);
new_sample = [9, 10];  %新样本的特征
predicted_label = predict(tree, new_sample);
disp(predicted_label);
view(tree, 'Mode', 'Graph');

2.鸢尾花数据集

%准备数据
load fisheriris;            %加载鸢尾花数据集
X = meas(:, 3:4);           %选择两个特征作为输入
Y = species;                %类别标签tree = fitctree(X, Y);      %构建决策树模型view(tree, 'Mode', 'graph');%可视化决策树%预测新样本
newX = [5 1.5];             %新样本的特征值
predictedClass = predict(tree, newX);
disp(['预测类别:' char(predictedClass)]);

http://www.lryc.cn/news/269622.html

相关文章:

  • Python实现员工管理系统(Django页面版 ) 七
  • 听GPT 讲Rust源代码--src/tools(34)
  • k8s的陈述式资源管理(命令行操作)
  • uniapp uview裁剪组件源码修改(u-avatar-cropper),裁出可自定义固定大小图片
  • 【机器学习前置知识】Beta分布
  • Notepad++批量更改文件编码格式及文档格式
  • Linux驱动开发学习笔记6《蜂鸣器实验》
  • 鸿蒙(HarmonyOS 3.1) DevEco Studio 3.1开发环境汉化
  • 毫米波雷达:从 3D 走向 4D
  • CENTOS docker拉取私服镜像
  • 【前端面经】即时设计
  • 前端三件套html/css/js的基本认识以及示例程序
  • 云计算:OpenStack 配置云主机实例的存储挂载并实现外网互通
  • python/selenium/jenkins整合
  • 华为路由器ACL操作SSH接口
  • Flutter 三点三:Dart Stream
  • centos 防火墙 设置 LTS
  • SAP缓存 表缓存( Table Buffering)
  • Mybatis插件入门
  • DOA估计算法——迭代自适应算法(IAA)
  • Python If语句以及代码块的基本介绍
  • [嵌入式专栏](FOC - SVPWM扇区计算Part1)
  • 亚马逊美国站ASTM F2613儿童折叠椅和凳子强制性安全标准
  • 【机组期末速成】指令系统|机器指令概述|操作数类型与操作类型|寻址方式|指令格式
  • java美容管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • Redis哨兵
  • 面试算法78:合并排序链表
  • 鸿鹄电子招投标系统:基于Spring Boot、Mybatis、Redis和Layui的企业电子招采平台源码与立项流程
  • node.js对应npm安装和使用
  • (self-supervised learning)Event Camera Data Pre-training