clc
clear
%%数据导入
%data=importdata('A'); %A为数据格式,如cd.xlsx、cd.txt,其中cd为文件名,假设样本个数200,特征个数为30,200*31,第31列表示分类标签,这里分为0-3共4类
k=rand(1,200); %生成样本个数的随机数,以200为例
[m,n]=sort(k); %若k为二维矩阵,则sort(k)表示对每列进行升序排序,m为移动后矩阵,n为移动顺序。
%上两步的操作是为了生成随机数,之后按比例随机挑选样本;
%输入输出数据
input=data(:,1:30);
output=data(:,31); %第21列为标签列
%随机抽取160个样本为训练样本,40个样本为预测样本
input_train=input(n(1:160),:)'; %行为样本列为特征点
label_train=output(n(1:160),:)';%类似于标签
input_test=input(n(161:200),:)';
label_test=output(n(161:200),:)';
%输入数据归一化处理
[inputn,inputps]=mapminmax(input_train);
%%BP网络训练
% %初始化网络结构
net=newff(inputn,label_train,13,{'tansig','pur