IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【数学建模暑期培训】Matlab数据分析 数据处理 数据挖掘 -> 正文阅读

[人工智能]【数学建模暑期培训】Matlab数据分析 数据处理 数据挖掘

数据预处理任务

  1. 数据清洗:去掉数据中的噪声,纠正不一致
  2. 数据集成:将多个数据源合并成一致的数据存储,构成一个完整的数据集,如数据仓库
  3. 数据规约(删减):通过聚集、删除冗余属性或聚类等方法来压缩数据
  4. 数据变换:数据集的规范化

数据集成

数据挖掘需要的数据往往分布在不同的数据源中,数据集成就是将多个数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。在数据集成时,来自多个数据源的现实世界实体的表达形式是不一样的,不一定是匹配的,要考虑实体识别问题和属性是不一的,不一定是匹配的,要考虑实体识别问题和属性冗余问题,从而把源数据在最低层上加以转换、提炼和集成。

  • 实体识别:解决单位问题
  • 属性冗余问题:对于冗余属性要先分析检测到后再将其删除。 有些冗余属性可以用相关分析检测到。给定两个数值型的属性A和B,有些冗余属性可以用相关分析检测到。给定两个数值型的属性A和B,根据其属性值,可以用相关系数度量一个属性在多大程度上蕴含另一个属性。

数据变换

  • 简单函数变换
    使得数据保持正态分布所以对数据进行简单的函数变换。
    x 2 x^2 x2可将左偏数据将其变为正太分布
    l o g x logx logx可将右偏数据将其变为正太分布

  • 归一化映射
    求梯度时数据差异较大时,导致不收敛状况,所以对其进行归一化。分为最小-最大规范化、零-均值规范化、小数定标规范化。

数据清洗

删除无关数据及异常值,缺失值处理。

缺失值处理
处理缺失值的方法可分为三类:删除记录、数据差插补和不处理。其中常用数据插补方法见下表。

插补可方法方法描述
均值/中位数/众数插补根据属性值的类型,用该属性取值的平均数/中位数/众数进行插值
使用固定值将缺失的属性用一个常量进行替换
最近临插补在记录中找到与缺失样本最接近的样本的该属性进行插补(计算欧几里得距离)
回归方法对带有缺失值的变量,根据已有数据和与其有关的其他变量的数据建立拟合模型来预测缺失的属性值
插值法利用已知点建立合适的插值函数,未知值由对应点 x i x_i xi?求出函数值近似代替
  • 回归方法使用繁琐对于国赛试题不建议使用。
  • 拉格朗日插值法。缺点:插值函数与需插值点个数有关,当插值点个数改变的时候,插值函数也需改变,所以较繁琐。
  • 牛顿插值法。
%% 拉格朗日插值和牛顿插值对比
clear;
% 参数初始化
inputfile = '../data/catering_sale.xls' ; % 销量数据文件
index =2; % 销量数据所在下标
outputfile ='../tmp/sales2.xls';  % 插值后数据存放

%% 读入数据
num = readmatrix(inputfile);
data = num(:,index);

%% 去除异常值
data = de_abnormal(data);

%% 调用拉格朗日进行插值
la_data = ployinterp_column(data,'lagrange');

%% 调用牛顿算进行插值
new_data = ployinterp_column(data,'newton');

%% 结果写入文件
rows = size(data,1);
% result = cell(rows+1,3);
% result{1,1}='原始值';
% result{1,2}='拉格朗日插值';
% result{1,3}='牛顿插值';
% 
% result(2:end,1)= num2cell(data);
% result(2:end,2)= num2cell(la_data);
% result(2:end,3)= num2cell(new_data);
result = [data,la_data,new_data];
writematrix(result,outputfile);
disp('拉格朗日插值和牛顿插值结果已写入数据文件!');

异常值处理方法

异常值处理方法方法描述
删除含有异常值的记录直接将含有异常值的记录删除
视为缺失值将异常值视为缺失值,利用缺失值处理的方法进行处理
平均值修正可用前后两个观测值的平均值修正该异常值
不处理直接在具有异常值的数据集上进行挖掘建模

异常值发现方法:箱型图法
在这里插入图片描述
画箱形图的代码

%% 餐饮销量数据缺失值及异常值检测
clear;
% 初始化参数
catering_sale = '../data/catering_sale.xls'; % 餐饮数据
index = 2; % 销量数据所在列 

%% 读入数据
num = readmatrix(catering_sale);
sales =num(2:end,index);
rows = size(sales,1);

%% 缺失值检测 并打印结果
nanvalue = find(isnan(sales));
if isempty(nanvalue) %  没有缺失值
    disp('没有缺失值!');
else
    rows_ = size(nanvalue,1);
    disp(['缺失值个数为:' num2str(rows_) ',缺失率为:' num2str(rows_/rows) ]);
end

%% 异常值检测 
% 箱形图上下界
q_= prctile(sales,[25,75]);
p25=q_(1,1);
p75=q_(1,2);
upper = p75+ 1.5*(p75-p25);
lower = p25-1.5*(p75-p25);
upper_indexes = sales(sales>upper);
lower_indexes = sales(sales<lower);
indexes =[upper_indexes;lower_indexes];
indexes = sort(indexes);
% 箱形图
figure
hold on;
boxplot(sales,'whisker',1.5,'outliersize',6);
rows = size(indexes,1);
flag =0;
for i =1:rows
  if flag ==0
    text(1+0.01,indexes(i,1),num2str(indexes(i,1)));
    flag=1;
  else
      text(1-0.017*length(num2str(indexes(i,1))),indexes(i,1),num2str(indexes(i,1)));
    flag=0;
  end
end
hold off;
disp('餐饮销量数据缺失值及异常值检测完成!

数据规约

即产生更小但保持原数据完整性的新数据集,因为在大数据集上进行复杂的数据分析和挖掘往往需要很长的时间。数据规约包括属性规约、数值规约

  • 属性规约:主要是通过属性合并创建新属性维数,或者直接通过删除不相关的属性维数来减少数据维数,从而提高数据挖掘的效率、降低计算成本。属性规约的目标是寻找出最小的属性子集并确保新数据子集的概率分布、并尽可能地接近原数据集的概率分布,常用方法有合并属性、逐步向前选择、逐步向后删除、决策树归纳、主成分分析等。
  • 数值规约: 通过选择替代的、较小的数据来减少数据量,包括有参数方和无参数方法,前者指使用一个模型来评估数据,只需存放参数而不需要存放实际数据,无参数方法则需要存放实际数据,如直方图、聚类、抽样、参数回归。

在这里插入图片描述

%% 主成分分析 降维
clear;
% 参数初始化
inputfile = '../data/principal_component.xls';
outputfile = '../tmp/dimention_reducted.xls'; % 降维后的数据
proportion = 0.95 ; % 主成分的比例

%% 数据读取
num = readmatrix(inputfile);

%% 主成分分析
[coeff,~,latent] = pca(num);

%% 计算累计贡献率,确认维度
sum_latent = cumsum(latent/sum(latent)); % 累计贡献率
dimension = find(sum_latent>proportion);
dimension= dimension(1);

%% 降维
data = num * coeff(:,1:dimension); 
xlswrite(outputfile,data);
disp('主成分特征根:');
disp(latent');
disp('主成分单位特征向量');
disp(coeff);
disp('累计贡献率');
disp(sum_latent');
disp(['主成分分析完成,降维后的数据在' outputfile]);

主要处理函数

函数名功能
interp1()一维插值
unique()去除重复元素
find()找到相应标识的位置
isnan()判断是否为数值
mapminmax()最大值最小化的规范化
zscore()标准差规范化
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:23:46  更:2022-07-17 16:24:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:52:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码