1.导入数据
1.1 使用readtable("")导入数据,并存储在表格中,使用axis equal可以校正坐标轴纵横比。
letter = readtable("M.txt");
plot(letter.X,letter.Y)
axis equal
1.2 range(x)函数返回x的值的范围,即max(x) - min(x)的值。
aratio = range(letter.Y) / range(letter.X)
1.3 使用scatter(x,y)可以绘制散点图,使用gscatter可以对散点图进行分类着色。
scatter (features.AspectRatio,features.Duration)
%类别存储在,features.Character中
gscatter(features.AspectRatio,features.Duration,features.Character)
1.4 KNN使用实例
- 使用fitcknn(data,"")来进行分类,第一个参数是训练数据,第二个参数是类别,默认k = 1,即根据一个参数来进行分类,可以设置k的值,返回分类的模型。
- 使用predict(model,data)来进行预测,第一个参数是训练的模型,第二个参数是预测的数据,返回分类的情况。
%搭建knn模型,根据features.Character来分类
knnmodel = fitcknn(features,"Character")
%预测新数据,检验模型性能
predictions = predict (knnmodel,testdata)
%将分类结果与实际类别比较
re = predictions == testdata.Character%设置 k = 5
knnmodel = fitcknn(features,"Character","NumNeighbors",5)
predictions = predict (knnmodel,testdata)
re = predictions == testdata.Character
1.5 计算预测准确率
iscorrect = testdata.Character == predictions
% 对逻辑数组求和,即可计算预测正确的数量
accuracy = sum(iscorrect) / numel (iscorrect)
1.6 通过confusionchart()函数可以查看实际分类与预测分类的混淆矩阵,第一个参数为实际分类向量,第二个参数为预测分类向量。
confusionchart(testdata.Character,predictions)
2.导入图像
2.1 使用imread函数导入图像。使用imshow显示图像。
2.2 使用imshowpair可以显示两张图像,方便比对图像。选项"montage"可以设置并排显示图像。
imshowpair(I,I2,"montage")
2.3 保存图像imwrite函数。
imwrite(img,"img.jpg")imwrite(I,"myImage.png")
Inew = imread("myImage.png");
imshow(Inew)
2.4 使用size函数获取图像的大小。返回值[m,n,k] ,k 表示RGB色彩平面。
%获取图像Img的green色彩平面值。
Ig = Img(:,:,2)
2.5 大多数图像使用无符号8位整数(uint8)数据类型,该数据类型存储从0到255的整数。可以使用max获取平面中的最大值。min获取最小值。
% 获取R平面的最大值,[] 括号是必需的,它们是未使用输入的占位符,all表示所有像素中的最大值
Rmax = max(R,[],"all")
Rmin = min(R,[],"all")
2.6 通过imsplit函数获取所有颜色平面,并使用montage显示。
[R,G,B] = imsplit(A);
montage({R,G,B})
2.7 使用im2gray函数将彩色图像转换成灰度图像。
Ags = im2gray(A);
2.8 要分析一组图像,则对亮度进行归一化可能是重要的预处理步骤,尤其是对于识别收据图像中文本的黑白图案而言.
2.9 通过imhist函数查看图像的强度直方图。
imhist(gs2)
2.10 图像对比度的增加使较亮的像素变亮而使较暗的像素变暗。可以使用imadjust功能来自动调整灰度图像的对比度。
Aadj = imadjust(A);gs2Adj = imadjust(gs2)
imshowpair(gs2,gs2Adj ,"montage")
2.11 使用imlocalbrighten函数可以调整彩色图像的对比度。
I2adj = imlocalbrighten(I2);
imhist(I2)
imhist(I2adj)imshowpair(I2,I2adj ,"montage")