ML之监督学习算法之分类算法一 ———— k-近邻算法(最邻近算法)
2017-10-26 14:13
274 查看
一、概述
最近邻规则分类(K-Nearest Neighbor)KNN算法由Cover 和Hart在1968年提出了最初的邻近算法,
这是一个分类(classification)算法
输入基于实例的学习(instance-based learning), 懒惰学习(lazy learning)
二、原理
在一个样本数据集合, 也称作训练样本集, 并且样本集中每个数据都存在标签, 即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后, 将新数据的每个特征与样本集中数据对应的特征进行比较, 然后算法提取样本集中特征最相似数据( 最近邻) 的分类标签。 一般来说, 我们只选择样本数据集中前k个最相似的数据, 这就是k-近邻算法中k的出处, 通常k是不大于20的整数。 最后, 选择k个最相似数据中出现次数最多的分类, 作为新数据的分类。三、Distance
1、欧式距离2、余弦值(cos)
3、相关度(correlation)
4、曼哈顿距离(Manhatten distance)
四、优缺点
k近邻算法是分类数据最简单最有效的算法,k近邻算法是基于实例的学习,使用算法时必须有接近实际算计的训练样本数据。 k近邻算法必须保存全部数据集,如果训练数据集过于庞大,必须使用大量的存储空间。此外,由于必须对数据集中的每个数据计算距离值,实际使用时可能非常耗时;
k近邻算法的另一个缺陷是它无法给出任何数据的基础结构信息,因此我们无法知晓平均实例样本和典型实例样本具有什么特征。我们将使用 概率测量方法 处理分类问题;
相关文章推荐
- 【ML学习笔记】13:k-近邻算法做数值特征分类
- ML之监督学习算法之分类算法一 ——— 决策树算法
- 机器学习实战之k-近邻算法(5)--- 完整版约会网站数据分类
- 【ML学习笔记】12:k-近邻算法的demo
- 数据科学之机器学习5:分类之k-近邻算法
- 监督学习_最近邻算法(KNN, k-近邻算法)
- <Python><有监督>kNN--近邻分类算法
- 【机器学习】从分类问题区别机器学习类型 与 初步介绍无监督学习算法 PAC
- 【Scikit-Learn 中文文档】多类和多标签算法 - 监督学习 - 用户指南 | ApacheCN
- hadoop学习-mahout-Bayes分类算法示例程序
- k近邻分类算法的python实践
- k-近邻算法实践学习
- 【机器学习算法-python实现】K-means无监督学习实现分类
- spark.mllib源码阅读-分类算法3-SVM
- K-近邻分类算法KNN
- k-近邻算法 python实现(学习笔记no.1)
- ACM基本算法分类、推荐学习资料和配套pku习题
- 初学ML笔记N0.2——生成学习算法
- 朴素贝叶斯文本分类算法学习
- 半监督学习在图像分类上的基本工作方式