P24 MATLAB导入数据

最常用的就是导入excel表格数据,主页选项卡-导入数据-选择excel文件。

matlab数据集怎么导入tensorflow_数据

导入的范围

  • 导入数据的范围默认是从第二行开始的,第一行一般是标题行。
  • 如果不想导入所有数据,可以按住ctrl键,选择想导入的内容,例如某行、某列。
  • “变量名称行”也就是导入之后,matlab里表格最上方会显示变量,一般默认选择原文件第一行。但是只能识别英文,如果是汉字则变成“VerName”。

matlab数据集怎么导入tensorflow_数据_02

 导入类型

“输出类型”决定了导入的数据以什么类型存储。一般选择表。如果选择“数值矩阵”,那么所有字符串都变成NaN,反之亦然。

matlab数据集怎么导入tensorflow_c#_03

 注意,导入后数据在工作区。关闭matlab后数据消失。如果想保存数据的话,记得保存工作区文件!

处理无法导入的数据

例如设置输出类型为“数值矩阵”,那么表格里的字符串怎么办?

  • 选择替换,则所有字符串都变成NaN
  • 选择排除行,那么某一行只要有字符串,这一行数据都不会被导入选择排除列,同上

matlab数据集怎么导入tensorflow_数据_04

 P25 MATLAB处理缺失值和异常值

清理缺失数

实时编辑器,选择任务>清理确实数据

首先,先写一组包含缺失值和异常值的例子

x = 1:100;
%构造一个数组,元素为1,2,3,......100
%randn( 1,100)意味着生成一个1行100列的矩阵
%矩阵元素的均值为0,方差a^2 =1,且是正态分布的随机数
data = randn(1,100); I
data(20:20:80) = NaN;%设置第20,40,60,80个元素为缺失值
% data的值都是在0附近的,设置4个异常值
data(10) = -50;
data(40) = 45;
data(70) = -40;
data(90) = 50
plot(x,data)

MATLAB运行之后发现有四个异常值和三个缺失值。 

matlab数据集怎么导入tensorflow_microsoft_05

 接着处理缺失值和异常值。

% 填充缺失数据
[cleanedData,missingIndices2] = fillmissing(data,'spline');

% 显示结果
clf
plot(cleanedData,'Color',[0 114 189]/255,'LineWidth',1.5,'DisplayName','清理的数据')
hold on

% 绘制填充的缺失条目
plot(find(missingIndices2),cleanedData(missingIndices2),'.','MarkerSize',12,...
    'Color',[217 83 25]/255,'DisplayName','填充的缺失条目')
title(['填充的缺失条目数: ' num2str(nnz(missingIndices2))])

hold off
legend
clear missingIndices2

matlab数据集怎么导入tensorflow_缺失值_06

 

% 填充离群值
[cleanedData2,outlierIndices] = filloutliers(cleanedData,'linear');

% 显示结果
clf
plot(cleanedData2,'Color',[0 114 189]/255,'LineWidth',1.5,'DisplayName','清理的数据')
hold on
title(['离群值数: ' num2str(nnz(outlierIndices))])

% 绘制填充的离群值
plot(find(outlierIndices),cleanedData2(outlierIndices),'.','MarkerSize',12,...
    'Color',[217 83 25]/255,'DisplayName','填充的离群值')

hold off
legend
clear outlierIndices

 

matlab数据集怎么导入tensorflow_c#_07