%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
res = xlsread('数据集.xlsx');
rng(0); %设置随机种子,保证每次运行结果一致
%% 数据分析
num_size = 0.8; % 训练集占数据集比例
outdim = 1; % 最后一列为输出
num_samples = size(res, 1); % 样本个数
res = res(randperm(num_samples), :); % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim; % 输入特征维度
%% 划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);
P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input );
t_train = T_train;
t_test = T_test ;
%% 创建模型
num_hiddens = 50; % 隐藏层节点个数
activate_model = 'sig'; % 激活函数
[IW, B, LW, TF, TYPE] = elmtrain(p_train, t_train, num_hiddens, activate_model, 1);
%% 仿真测试
T_sim1 = elmpredict(p_train, IW, B, LW, TF, TYPE);
T_sim2 = elmpredict(p_test , IW, B, LW, TF, TYPE);
%% 数据排序
[T_train, index_1] = sort(T_train);
[T_test , index_2] = sort(T_test );
T_sim1 = T_sim1(index_1);
T_sim2 = T_sim2(index_2);
%% 性能评价
error1 = sum((T_sim1 == T_train)) / M * 100 ;
error2 = sum((T_sim2 == T_test )) / N * 100 ;
%% 绘图
figure
plot(1: M, T_train, 'r-*', 1: M, T_sim1, 'b-o', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['准确率=' num2str(error1) '%']};
title(string)
grid
figure
plot(1: N, T_test, 'r-*', 1: N, T_sim2, 'b-o', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比'; ['准确率=' num2str(error2) '%']};
title(string)
grid
%% 混淆矩阵
figure
cm = confusionchart(T_train, T_sim1);
cm.Title = 'Confusion Matrix for Train Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';
figure
cm = confusionchart(T_test, T_sim2);
cm.Title = 'Confusion Matrix for Test Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';
机器不会学习CL
- 粉丝: 3952
- 资源: 71
最新资源
- 基于java+ssm+mysql的网络类课程思政学习系统开题报告.doc
- 基于java+ssm+mysql的网上茶叶销售平台开题报告.docx
- 基于java+ssm+mysql的网上茶叶销售平台任务书.doc
- MATLAB代码:含风光柴储微网多目标优化调度 关键词:微网调度 风光柴储 粒子群算法 多目标优化 参考文档:《基于多目标粒子群算法的微电网优化调度》 仿真平台:MATLAB 平台采用粒子群实现求解
- 西门子伺服液压PID模板 程序包括 1整套西门子smart200 PLC程序, 2昆仑通态MCGS程序, 3东元伺服 4电气图纸. 5液压机械图 6功能说明书 7注释详细,完整项目资料 8外挂编码器
- 基于低通滤波器的语音降噪matlab模型, 相关fir,iir滤波器设计
- ad9361,AD9361vivado2019.2 vitis 下verilog工程代码及工程说明文档
- 永磁直驱风力发电系统,MATLAB simiulink,滑模控制,永磁同步电机,直驱式风力发电 风力机才用MPPT算法,机侧变流器采用滑模控制转速外环,PI控制电流内环,网侧逆变器均采用PI控制
- 微电网中的最优调度matlab例程,用yalmip+cplex求解器求解,以一天的运行费用最小为目标函数
- 基于matlab的yalmip+cplex的两阶段鲁棒微电网two-stage robust optimization 微电网双层场景两阶段鲁棒规划方法,目标函数包含投资成本和运行成本,其中,投资成本
- ESP32学习笔记 - 创建两个GATT服务(BLE-UART+OTA)
- 综合能源优化调度,注释清晰,修改简单,完全可以修改成自己需要的程序,注释清晰,算法思想简单,便于修改,自己用过的,物有所值
- 基于OpenGL和Qt的3D地形显示demo软件源代码,2019年编写的,当时可分别在ubuntu和Windows系统下编译成功,两个平台下的版本头文件和工程文件略有不一样,均可提供源代码,详见图片
- 关键词:主从博弈;共享储能;优化运行;电热综合需求响应;电网技术复现; 主题:基于主从博弈理论的共享储能与综合能源微网优化运行研究 提出共享储能背景下微网运营商与用户聚合商间的主从博弈模型,并证明S
- 自动驾驶道决策与控制实车测试算法 基于视觉传感器获得场景信息,构建两车道驾驶态势图 红绿灯检测停车,及动态目标车速跟随算法 together future~
- 微网优化调度 灰狼算法 多目标 低碳调度 MATLAB代码:基于多目标灰狼算法的冷热电综合三联供微网低碳经济调度 参考文档:《基于改进多目标灰狼算法的冷热电联供型微电网运行优化-戚艳》灰狼算法以及微
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈