数据读取
clear all;
close all;
clc;
load matdata; % 导入mat文件的所有数据 , 文件名是matdata
a = [12, 3, 4]
disp(a);
% 利用高斯分布生成数据
aver1 = [8 3]; % 指定均值
covar1 = [2 0; 0 2.5]; % 2维数据的协方差 当协方差相同的时候就是方差
data = mvnrnd(aver1, covar1, 10)
disp(data);
% 存储
save matdata data a;
text 格式
clear all;
close all;
clc;
a = load('txtdata.txt')
disp(a);
b = [1 ,2 , 3, 4, 10, 12];
save txtdata.txt -ascii b; % 存储b变量 指定编码方式
xls格式
clear all;
close all;
clc;
a = xlsread('xlsdata.xls')
a = a + 1;
disp(a);
xlswrite('xlsdata.xls', a); % 存储a变量
xlsx
clear all;
close all;
clc;
a = xlsread('data.xlsx', 'Sheet2')% 读取Sheet2
a = a + 1;
disp(a);
xlswrite('data.xlsx', a); % 存储a变量
csv
clear all;
close all;
clc;
a = csvread('csvdata.csv')
disp(a);
a = a + 10
csvwrite('csvdata.csv', a);
鸢尾花数据最值归一化
%%min-max归一化方法
clear all;
close all;
clc;
fishertable=readtable('fisheriris.csv');%导入样本数据,样本数据为Table型
SepalLengthMat= fishertable. SepalLength;%取Table型数据的SepalLength的属性值,转化为矩阵形式
NorSepalLength= mapminmax(SepalLengthMat');%对SepalLength数据进行归一化处理
NorSepalLength= NorSepalLength';%行矩阵变为列矩阵
SepalWidthMat= fishertable. SepalWidth;%取Table型数据的SepalWidth的属性值,转化为矩阵形式
NorSepalWidth= mapminmax(SepalWidthMat');%对SepalWidth数据进行归一化处理
NorSepalWidth= NorSepalWidth';%行矩阵变为列矩阵
PetalLengthMat= fishertable. PetalLength;%取Table型数据的PetalLength的属性值,转化为矩阵形式
NorPetalLength= mapminmax(PetalLengthMat');%对PetalLength数据进行归一化处理
NorPetalLength= NorPetalLength';%行矩阵变为列矩阵
PetalWidthMat= fishertable. PetalWidth;%取Table型数据的PetalWidth的属性值,转化为矩阵形式
NorPetalWidth= mapminmax(PetalWidthMat');%对PetalWidth数据进行归一化处理
NorPetalWidth= NorPetalWidth'; %行矩阵变为列矩阵
Norfishertable=table(NorSepalLength, NorSepalWidth, NorPetalLength, NorPetalWidth, fishertable.Species);%将归一化处理后的数据转化为Table型数据,且添加上已有的标签
鸢尾花数据zscore标准化
%%Z-score归一化方法
clear all;
close all;
clc;
fishertable=readtable('fisheriris.csv');%导入样本数据,样本数据为Table型
SepalLengthMat= fishertable.SepalLength;%取Table型数据的SepalLength的属性值,转化为矩阵形式
NorSepalLength= zscore (SepalLengthMat');%对SepalLength数据进行归一化处理
NorSepalLength= NorSepalLength';%行矩阵变为列矩阵
SepalWidthMat= fishertable.SepalWidth;%取Table型数据的SepalWidth的属性值,转化为矩阵形式
NorSepalWidth= zscore (SepalWidthMat');%对SepalWidth数据进行归一化处理
NorSepalWidth= NorSepalWidth';%行矩阵变为列矩阵
PetalLengthMat= fishertable.PetalLength;%取Table型数据的PetalLength的属性值,转化为矩阵形式
NorPetalLength= zscore (PetalLengthMat');%对PetalLength数据进行归一化处理
NorPetalLength= NorPetalLength';%行矩阵变为列矩阵
PetalWidthMat= fishertable.PetalWidth;%取Table型数据的PetalWidth的属性值,转化为矩阵形式
NorPetalWidth= zscore (PetalWidthMat');%对PetalWidth数据进行归一化处理
NorPetalWidth= NorPetalWidth'; %行矩阵变为列矩阵
Norfishertable=table(NorSepalLength, NorSepalWidth, NorPetalLength, NorPetalWidth, fishertable.Species);%将归一化处理后的数据转化为Table型数据,且添加上已有的标签
MATLAB 实现 KNN算法
% 对电影类型进行分类(动作片-->打斗镜头 ;; 爱情片-- >接吻镜头数)
clear all;
close all;
clc;
% 利用高斯分布生成数据
aver1 = [8 3]; % 指定均值
covar1 = [2 0; 0 2.5]; % 2维数据的协方差 当协方差相同的时候就是方差
data1 = mvnrnd(aver1, covar1, 100);
% 因为打斗镜头数或者接吻镜头数不能为负数, 所以我们要对生成数据进行处理, 负数都变成0
% 双层循环遍历数组 <0 就赋值为0
for i = 1:100
for j = 1:2
if data1(i, j) < 0
data1(i, j) = 0;
end
end
end
plot(data1(:, 1), data1(:, 2), '+');
% knn