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;`
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/178905.html
標籤:其他
下一篇:無題
