Matlab数值剔除
发表时间:2020-10-17
发布人:葵宇科技
浏览次数:50
Matlab 数值剔除
- Matlab数值剔除
- 数据处理
Matlab数值剔除
在进行人工智能等算法之前,对样本数值处理分析时经常要把其中的坏值删除掉。因为输入输出都是多值的,成矩阵排列,删除某一个值意味着要删除相关的所人值,而不仅仅是该值本身。花了一天时间,终于在matlab时实现了。
数据处理
如下图所示,某一行数据中有一个超出了要求,哪么整行都要删除。
坏值判断准则就不多啰嗦,数理统计中都有。代码如下:
[m,n]=size(outputData);
P=outputData;
outputD=outputData;
inputD=inputData;
de=[]
for i =1:1:n
ave = mean(P(:,i));%mean 求解平均值
u = std(P(:,i));%求解标准差
for j=1:1:m
if(abs(P(j,i)-ave)>2.5*u)%不符合 3σ准则 , 剔除这个元素
de=[de;j]
else
continue;
end
end
end
dee=unique(de)
testin1=inputD(dee,:);
testout1=outputD(dee,:);
outputD(dee,:)=[];
inputD(dee,:)=[];
outputData=outputD;
inputData=inputD;`