数据预处理
数据清理
缺失值处理
常见方法分为三类:数据删除,数据插补,不处理
- 数据插补:最为常见的是数据插补。
插补方法 |
---|
取均值/中位数/众数插补 |
使用固定值(政府等发布的可信数值) |
最近邻插补(根据相近数值取平均或者时间序列预测缺失数据) |
回归分析(工作量大) |
插值法(高端,可以使用) |
- 数据删除:删除即将含有缺失部分的数据整条删除。
- 不处理:某些算法会将缺失值作为特征考虑
异常值处理
异常值确定方法:
-
正态分布方法:平均值
范围内的是正常值 -
箱型图法:确定上四分位数和下四分位数.
正常数据的范围是:
函数plotbox : 用箱线图可视化摘要统计量 - MATLAB boxplot - MathWorks 中国
主成分分析
主成分分析 (PCA) - MATLAB & Simulink - MathWorks 中国
-
构建相关系数矩阵或协方差矩阵
两个变量的协方差
协方差矩阵
-
再求协方差矩阵的特征向量、特征值。
-
每一个新变量就是用对应的特征向量乘旧变量构成的向量。
例如对矩阵C,
. -
得到了新变量后,可以按特征值占比大小给变量排序,让后累加取到>85%时的新变量,其它变量剔除,从而实现降维。
每个特征向量特征值占比:
如果,前三个新变量的占比总和>85%则就取前三个变量分析。
Matlab求特征值占比比例
data = %数据读入
data = zscore(data);%数据标准化很重要
CorrCoefMatrix = corrcoef(data);%matlab自带函数计算相关系数矩阵,列表示随机变量,行表示观测值
[coeff latent explained] = pcacov(CorrCoefMatrix)
%coeff: 特征向量(注意与pca函数的变量score进行区分).
%latent: 特征值.
%explained:每个特征值占比,字面上即每个特征值对系统有多少解释,用百分比表示。explained=100*latent/sum(latent);
主成分分析降维
如果数据的维数过高可以用主成分分析降维。
原始数据的主成分分析 - MATLAB pca - MathWorks 中国
data_1 = pca(data);
TSNE降维
data_1 = tsne(data,'NumDimensions','2');%TSNE降维
本文作者:cxy1114blog
本文链接:https://www.cnblogs.com/cxy1114blog/p/18459121
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步