面向萌新,即初学者,对数据进行预处理。替换路径之后,本代码可一键运行!!!
我们处理数据时,有时候我们需要对其中的异常值进行处理。异常值可能是由于测量误差或其他因素引起的,可能会对我们的分析结果产生不良影响。我们用一种方法来处理这些异常值。
举个例子,我们从"测试集PA.xlsx"的文件中读取数据。我们将这些数据存储在变量xls1
中,并创建一个空的变量xls2
来存储其他可能需要集合的文件数据。
为了更好的预测任何!你的数据,我们使用[m,n] = size(all_xls)
来获取数据集的行数和列数。
在处理异常值之前,我们需要先定义一个空的函数和一个变量x,
为了准备存储for
循环的数据及初始化。
用一个for
循环来遍历所有行和列。在循环中,检查每个值是否小于100。如果是,则将该值设置为0,并将x
的值增加1。这样,我们就可以记录小于100的个数,并将其赋值为0,以便后续插值。
然后,我们计算每行的平均值,并将其存储在变量all_aver
中。接着,我们将x
重新设置为0,并再次遍历每个值。如果值小于100,则将其替换为平均值。
最后,我们完成了异常值的处理,并可以继续进行其他的数据分析或处理。
你的点赞就是对为最大的支持,导入数据即可一键运行,萌新必备神器。
close all %关闭所有窗口
clc
clear all %清理所有已有数据
xls1=xlsread("C:\Users\kokomi\Desktop\测试集PA.xlsx");%放入你的文件数据
xls2=[];%也可以存入其他你需要集合的文件数据
all_xls=[xls1;xls2];%数据集合
[m,n]=size(all_xls);%判断行列数
%%建立空函数,为了做储存for循环的数据做准备
all_aver=[];
x=0;
%选中注释段,crtl+t解锁,crtl+r上锁
for i=1:m %for循环用来遍历所有行
for j=1:n
if all_xls(i,j)<100
all_xls(i,j)=0;
x=x+1;%记录其上小于100的个数,并赋值为0,以便后续插值。
end
j=j+1;
end
all_aver=[sum(all_xls(i,:))/(n-x),all_aver];%对每行平均值进行单独计算储存
x=0;
for h=1:n
if all_xls(i,h)<100
all_xls(i,h)=all_aver(1);%插入每行的平均值进行替换
end
end
i=i+1;
end