matlab中Error in,新人求助Error in Untitled (line 21)

本帖最后由 鸿蒙123 于 2017-4-24 12:42 编辑

%% 清空环境变量

clc

%输入输出数据

input=data(:,1:2219);

output=[ones(1000,1);zeros(1000,1);ones(509,1);zeros(638,1)];

%随机提取2000个样本为训练样本,1147个样本为预测样本

input_train=input(1:2000,1:2219);

output_train=output(1:2000,1);

input_test=input(2001:3147,1:2219);

output_test=output(2001:3147,1);

%输入数据归一化

[inputn,inputps]=mapminmax(input_train);

%% BP网络训练

% %初始化网络结构

net=newff(inputn,output_train,10);

net.trainParam.epochs=1000;

net.trainParam.lr=0.1;

net.trainParam.goal=0.0000004;

%% 网络训练

net=train(net,input_train,output_train);

%% BP网络预测

%预测数据归一化

input_test=mapminmax('apply',input_test,inputps);

%网络预测输出

BPoutput=sim(net,input_test);

%% 结果分析

%根据网络输出找出数据属于哪类

BPoutput(BPoutput<0.5)=0;

BPoutput(BPoutput>=0.5)=1;

%% 结果分析

%画出预测种类和实际种类的分类图

figure(1)

plot(BPoutput,'og')

hold on

plot(output_test,'r*');

legend('预测类别','输出类别')

title('BP网络预测分类与实际类别比对','fontsize',12)

ylabel('类别标签','fontsize',12)

xlabel('样本数目','fontsize',12)

ylim([-0.5 1.5])

%预测正确率

rightnumber=0;

for i=1:size(output_test,2)

if BPoutput(i)==output_test(i)

rightnumber=rightnumber+1;

end

end

rightratio=rightnumber/size(output_test,2)*100;

sprintf('测试准确率=%0.2f',rightratio)

要做一个对酒店评论的分类的实训

1.data为一个酒店评论语料的特征向量,维度为3147*2219(代表3147条评论,2219个特征词);

2.数据集中每一行代表一条评论,其中序号1-1000,2001-2509为正面评论,序号1000-2000、2510-3147为负面评论(建议前两2000条评论作为训练集,后1147条评论作为测试集);

现在运行代码出现如下错误

Error using network/train (line 272)

Inputs and targets have different numbers of samples.

Error in Untitled (line 21)

net=train(net,input_train,output_train);

错误1:指向    if ~isempty(err), nnerr.throw('Args',err), end

错误2:指向    net=train(net,input_train,output_train);

新人第一次接触MATLAB 代码也是在网上找了一个类似的修改了一部分 求各路大神详细指点 先拜谢了

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值