分类算法matlab实例,数据挖掘之分类算法---knn算法(有matlab例子)

knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法.注意,不是聚类算法.所以这种分类算法

必然包括了训练过程.

然而和一般性的分类算法不同,knn算法是一种懒惰算法.它并非像其他的分类算法先通过训练建立分类模型.,而

是一种被动的分类过程.它是边测试边训练建立分类模型.

算法的一般描述过程如下:

1.首先计算每个测试样本点到其他每个点的距离.这个距离可以是欧氏距离,余弦距离等.

2.然后取出距离小于设定的距离阈值的点.这些点即为根据阈值环绕在测试样本最邻近的点.

3.选出这些邻近点中比例最大的点簇的类.那么就将概测试点归入此类.

注意:knn算法的开销很大,因为要计算每个样本点到其他所有点的距离.

knn算法的距离一般要根据实际样本点的情况来选取.

knn算法的距离阈值要根据样本的分散集中程度来选取.经验一般选取样本点集合的均方差.

下面是一个matlab中运用knn函数分类的例子.

clc;

clear;

load 'Train_Data.mat' %载入训练数据

load 'Train_Label.mat' %载入训练分类标签

test_data=[43;

42;

192;

193]; %测试数据

%knnclassify为matlab提供的knn分类函数.

%参数test_data是待分类的测试数据

%Train_Data是用于knn分类器训练的数据

%Train_Label是训练的分类标签

%3,即为knn的k值.意思是取某个待分类测试样本点周围三个样本点

%'cosine'---为距离度量,这里采用余弦距离

%'random'---为分类规则.如何对k个临近点进行分类.

% 'k'--即为对测试数据的knn分类结果的类标签

k=knnclassify(test_data,Train_Data',Train_Label',3,'euclidean','random');

Train_Data.mat截图如下:

437130b865bece3ad40226f2e0a3a3dc.bmp

Train_Label.mat截图如下:

115a83cd1aa17c9cf233f4efdf7141e4.bmp

k结果截图如下:

分类算法matlab实例,数据挖掘之分类算法---knn算法(有matlab例子)_第1张图片

【数据挖掘】分类之kNN(转载)

[数据挖掘]分类之kNN 1.算法简介 kNN的思想很简单:计算待分类的数据点与训练集所有样本点,取距离最近的k个样本:统计这k个样本的类别数量:根据多数表决方案,取数量最多的那一类作为待测样本的类别 ...

数据挖掘之分类算法---knn算法(有matlab样例)

knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法. 注意,不是聚类算法.所以这样的分类算法必定包含了训练过程. 然而和一般性的分类算法不同,knn算法是一种 ...

knn原理及借助电影分类实现knn算法

KNN最近邻算法原理 KNN英文全称K-nearst neighbor,中文名称为K近邻算法,它是由Cover和Hart在1968年提出来的 KNN算法原理: 1. 计算已知类别数据集中的点与当前点之 ...

【Machine Learning】KNN算法虹膜图片识别

K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

python最近邻分类器KNN算法

1. KNN算法 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最 ...

机器学习笔记--KNN算法2-实战部分

本文申明:本系列的所有实验数据都是来自[美]Peter Harrington 写的这本书,侵删. 一案例导入:玛利亚小姐最近寂寞了, ...

机器学习笔记--KNN算法1

前言 Hello ,everyone. 我是小花.大四毕业,留在学校有点事情,就在这里和大家吹吹我们的狐朋狗友算法---KNN算法,为什么叫狐朋狗友算法呢,在这里我先卖个关子,且听我慢慢道来. 一 K ...

学习OpenCV——KNN算法

转自:http://blog.csdn.net/lyflower/article/details/1728642 文本分类中KNN算法,该方法的思路非常简单直观:如果一个样本在特征空间中的k个最相似( ...

KNN算法简单应用

这里是写给小白看的,大牛路过勿喷. 1 KNN算法简介 KNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集 ...

随机推荐

IOS 模仿TableView封装

一.先贴一下未封装的代号,好跟后面的对比 @interface MTHomeDropdown : UIView + (instancetype)dropdown; @property (nonatom ...

以正方教务系统为例,用php模拟登陆抓取课表、空教室

课程格子和超级课程表这两个应用,想必大学生都很熟悉,使用自己的学号和教务系统的密码,就可以将自己的课表导入,随时随地都可以在手机上查看. 其实稍微了解一点php的话,我们也可以做一个类似这样的web ...

Java实现单链表

真正的动态数据结构(引用和指针) 优点:真正的动态,不需要处理固定容量的问题. 缺点:丧失随机访问的能力. 链表就像寻宝,我们拿到藏宝图开始出发寻宝,每找到一个地方后,里面藏着下一步应该去哪里寻找.一 ...

Mysql 主键如何实现持久化

自增主键没有持久化是个比较早的bug,这点从其在官方bug网站的id号也可看出(https://bugs.mysql.com/bug.php?id=199) 首先,我们可以直观的重现如下. mysql ...

json-gson:.isJsonNull()问题-堆栈溢出

不用管我下面的第一个答案.我读得太快了. 看起来这是一个简单的例子,文件撒谎-或者至少是被误解了.幸运的是,代码并不是那么简单,而且gson是一个开源项目. 这是 JsonObject.get(Str ...

Beta冲刺 1

前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10093150.html 作业博客:https://edu.cnblogs.com/campus ...

partial_sum

版本1: template < class InputIterator, class OutputIterator > OutputIterator partial_sum(InputIt ...

Python爬虫——你们要的王者荣耀高清图

曾经144区的王者 学了计算机后 头发逐渐从李白变成了达摩 秀发有何用,变秃亦变强 (emmm徒弟说李白比达摩强,变秃不一定变强) 前言 前几天开了农药的安装包,发现农药是.Net实现的游戏 虽然游戏 ...

ES6学习笔记八:类与继承

一:Class ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板.通过class关键字,可以定义类. 定义“类”的方法的时候,前面不需要加上function这个关键 ...

你可能感兴趣的:(分类算法matlab实例)