matlab中的knn函数

knn

最邻近分类

Class = knnclassify(test_data,train_data,train_label, kdistancerule)

k:选择最邻近的数量

distance:距离度量

‘euclidean‘       欧几里得距离,默认的
              ‘cityblock‘        绝对差的和
              ‘cosine‘           余弦   (作为向量处理)
              ‘correlation‘     相关距离  样本相关性(作为值序列处理)
              ‘Hamming‘      海明距离   不同的比特百分比(仅适用于二进制数据)

rule:如何对样本进行分类

‘nearest‘  最近的K个的最多数
              ‘random‘    随机的最多数
              ‘consensus‘ 共识规则

% Classify the sample using the nearest neighbor classification
training = [mvnrnd([ 1  1],   1.2*eye(2), 100); ...
            mvnrnd([-1 -1], 1.5*eye(2), 100)];
group = [ones(100,1); repmat(2,100,1)];
gscatter(training(:,1),training(:,2),group,‘rb‘,‘+x‘);
legend(‘Training group 1‘, ‘Training group 2‘);
hold on;
sample = unifrnd(-5, 5, 100, 2);

c = knnclassify(sample, training, group);
gscatter(sample(:,1),sample(:,2),c,‘gc‘); hold on;
legend(‘Training group 1‘,‘Training group 2‘, ...
       ‘Data in group 1‘,‘Data in group 2‘);
hold off;

  结果:

原文地址:https://www.cnblogs.com/wander-clouds/p/8901161.html

时间: 2024-11-01 09:22:50

matlab中的knn函数的相关文章

python实现类似于Matlab中的magic函数

参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵. #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def magic(n): row,col=0,n//2 magic=[] for i in range(n): magic.append([0]*n) magic[row][col]=1 for i in range(2,n*n+1): r,l=(row-1+n)%n,(col+1)

MATLAB中的常用函数

MATLAB中的常用函数 1. 特殊变量与常数 主题词 意义 主题词 意义 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN 非数 nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率 nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数 varargin   实际输入的参量 varargout 实际返回的参量     2.

【Matlab】Matlab中的plot函数及legend函数解析 持续更新...

Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线:如果Y是n×1或者1×n的向量

Matlab中的eig函数和eigs函数的异同点

Matlab中的eig()函数和eigs()函数的异同点 1.相同点 都可以求解矩阵的特征值和特征向量 2.不同点 eig函数主要是给出矩阵的特征值和特征向量 eigs函数主要是通过迭代法来求解矩阵特征值和特征向量 3.实例 >> A = [1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 >> [V,D] = eig(A) V = -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.61

MATLAB 中的randn函数

matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法: Y = randn(n):返回一个n*n的随机项的矩阵.如果n不是个数量,将返回错误信息. Y = randn(m,n) 或 Y = randn([m n]):返回一个m*n的随机项矩阵. Y = randn(m,n,p,...) 或 Y = randn([m n p...]):产生随机数组. Y = randn(size(A))

Matlab中的fread函数高级使用方法及其帮助文档中容易引起歧义的地方

参考资料:http://cn.mathworks.com/help/matlab/ref/fread.html 注意:参考资料针对的Matlab版本号R2015a,我使用的是R2013b. Matlab帮助文件中给出了这几种用法 A = fread(fileID) A = fread(fileID,sizeA) A = fread(fileID,sizeA,precision) A = fread(fileID,sizeA,precision,skip) A = fread(fileID,siz

Matlab中的rectangle函数

rectangle函数功能:创建二维矩形对象. rectangle('Position',[x,y,w,h])从点(x,y)开始绘制一个宽w高h的矩形,对坐标轴数据单元指定值.注意,按指定的比例显示矩形,需要设置坐标轴数据宽高比来使得x和y轴有等长的单位.你可以用命令axis equal 或者daspect([1,1,1]). rectangle绘制一个矩形,其默认位置是[0,0,1,1] ,默认曲率是 [0,0](也就是说,没有曲率). rectangle(...,'Curvature',[x

Matlab中min/max函数的误解

1.C= min(a):返回最小值:我原来以为如果a是行向量,min(a)返回a本身,因为我记得min(a,1)是按列找最小,这是默认的.doc min发现,只要a是向量,那么返回最小值. 2.C= min(a,[],dim),dim分别取1,2和我理解的一样. 3.C= min(A,B),如果AB是同维矩阵,返回两者较小者.如果B是表量,那么返回A中每个数和B比较的结果,那个小返回那个. >> a = magic(3) a = 8 1 6 3 5 7 4 9 2 >> b = r

MATLAB中的max函数的用法及含义

当A是一个列向量时候,返回一个最大值,在此不在赘述. 当Amxn是一个矩阵的时候,有以下几种情况: ①   C = max(max(A)),返回矩阵最大值 ②   D = max(A,[],1),返回每一行的最大值,即mx1的行向量 ③   E = max(A,[],2),返回每一列的最大值,即1xm的列向量 ④   F = max(A,8),当元素小于8,用8填充 ⑤   [U V] = max(A),返回行列最大元素的行号与列号 注意以下几个表达式: H = max(A) I = max(A