?? preprocess.m
字號(hào):
function [train_p,train_t,test_p,test_t]=preprocess(data)
%預(yù)處理數(shù)據(jù),train_p代表訓(xùn)練集的屬性矩陣,train_t代表訓(xùn)練集的類標(biāo)簽矩陣,
...test_p代表測(cè)試集的屬性矩陣,test_t代表測(cè)試集的類標(biāo)簽矩陣
...矩陣中的每一行表示一個(gè)樣例
part=0.7; %隨機(jī)劃分樣本集成訓(xùn)練集(用train_p與train_t表示)與測(cè)試集
...(用test_p與test_t表示),比如70%為訓(xùn)練集。
[row,column]=size(data); %行數(shù),列數(shù)
L=size(union(data(:,column),data(:,column)),1); % L表示總類數(shù)
Part=fix(row*part); % 計(jì)算訓(xùn)練樣例的個(gè)數(shù)
permute=randperm(row); % 隨機(jī)排列
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
% %結(jié)束
% % 標(biāo)準(zhǔn)化
% mean_data=mean(p);
% std_data=std(p);
% for i=1:column-1
% p(:,i)=(p(:,i)-mean_data(i))/std_data(i);
% end
%分別得到訓(xùn)練樣例矩陣和測(cè)試樣例矩陣
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
%分別得到訓(xùn)練樣例的輸出矩陣和測(cè)試樣例的輸出矩陣
train_t(1:Part,1:L)=0; %訓(xùn)練樣例輸出結(jié)果矩陣,行向量(0、1值)為一個(gè)輸出結(jié)果
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
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -