标签:end %% trainParam 算法 神经网络 BP net data
理论以前写过:https://www.cnblogs.com/fangxiaoqi/p/11306545.html,这里根据天气、是否周末、有无促销的情况,来预测销量情况。
function [ matrix,attributes ] = bp_preprocess( inputfile ) %% BP神经网络算法数据预处理,把字符串转换为0,1编码 % inputfile: 输入数据文件; % output: 转换后的0,1矩阵; % attributes: 属性和Label; %% 读取数据 [~,txt]=xlsread(inputfile); attributes=txt(1,2:end); data = txt(2:end,2:end); %% 针对每列数据进行转换 [rows,cols] = size(data); matrix = zeros(rows,cols); for j=1:cols matrix(:,j) = cellfun(@trans2onefalse,data(:,j)); end end function flag = trans2onefalse(data) if strcmp(data,'坏') ||strcmp(data,'否')... ||strcmp(data,'低') flag =0; return ; end flag =1; end
%% 使用BP神经网络算法预测销量高低 clear ; % 参数初始化 inputfile = '../data/sales_data.xls'; % 销量及其他属性数据 %% 数据预处理 disp('正在进行数据预处理...'); [matrix,~] = bp_preprocess(inputfile); %% 输入数据变换 input = matrix(:,1:end-1); target = matrix(:,end); input=input'; target=target'; target=full(ind2vec(target+1)); %% 新建BP神经网络,并设置参数 % net = feedforwardnet(10); net = patternnet(10); net.trainParam.epochs=1000; net.trainParam.show=25; net.trainParam.showCommandLine=0; net.trainParam.showWindow=1; net.trainParam.goal=0; net.trainParam.time=inf; net.trainParam.min_grad=1e-6; net.trainParam.max_fail=5; net.performFcn='mse'; % 训练神经网络模型 net= train(net,input,target); disp('BP神经网络训练完成!'); %% 使用训练好的BP神经网络进行预测 y= sim(net,input); plotconfusion(target,y); disp('销量预测完成!');
可以看出,检测样本为34个,预测正确的个数为26,预测准确率为76.5%,预测准确率较低,是由于神经网络预测时需要较多的样本,是在此预测数据较少造成的。
标签:end,%%,trainParam,算法,神经网络,BP,net,data 来源: https://www.cnblogs.com/fangxiaoqi/p/11454091.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。