⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preprocess.m

📁 RBF神经网络 RBF神经网络
💻 M
字号:
function [train_p,train_t,test_p,test_t]=preprocess(data)
%预处理数据,train_p代表训练集的属性矩阵,train_t代表训练集的类标签矩阵,
            ...test_p代表测试集的属性矩阵,test_t代表测试集的类标签矩阵
            ...矩阵中的每一行表示一个样例
part=0.7; %随机划分样本集成训练集(用train_p与train_t表示)与测试集
                        ...(用test_p与test_t表示),比如70%为训练集。
[row,column]=size(data);  %行数,列数
L=size(union(data(:,column),data(:,column)),1); % L表示总类数
Part=fix(row*part);   % 计算训练样例的个数
permute=randperm(row); % 随机排列
data1(1:row,:)=data(permute(1:row),:); % 随即排列后的样例矩阵
p=data1(:,1:column-1); % p代表属性矩阵

% %以下将把属性变换到0-1之间
% Min=min(p);
% Max=max(p);
% inter=Max-Min;
% for i=1:row   
%     p(i,:)=(Max(1,:)-p(i,:))./inter(1,:);
% end
% %结束
% % 标准化
% mean_data=mean(p);
% std_data=std(p);
% for i=1:column-1
%     p(:,i)=(p(:,i)-mean_data(i))/std_data(i);
% end

%分别得到训练样例矩阵和测试样例矩阵
for r=1:column-1
    train_p(1:Part,r)=p(1:Part,r);
    test_p(1:row-Part,r)=p(Part+1:row,r); 
end
%分别得到训练样例的输出矩阵和测试样例的输出矩阵
train_t(1:Part,1:L)=0;  %训练样例输出结果矩阵,行向量(0、1值)为一个输出结果
for k=1:Part
    train_t(k,data1(k,column))=1;
    target(k)=data1(k,column);
end
test_t(1:row-Part,1:L)=0;
for k=1:row-Part
    test_t(k,data1(Part+k,column))=1;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -