数据挖掘算法入门1——knn
来源:互联网 发布:最新卷皮淘宝客源码 编辑:程序博客网 时间:2024/06/03 21:37
knn算法简介及其简单实现
基本想法:
已知样本的属性以及所属类别。在预测新的数据点类别时,通过计算该预测点到每个样本的距离,选出距离最近的K个点。然后通过这K个点的投票结果
决定被预测的点属于那种类别。
如上图:绿色圆点代表我们需要预测的点。其他点的属性和类别均为已知。要判断绿色点属于那种类别,只需计算绿色点到各个点的距离。我们选出
K个距离最近的点。然后这K个点进行投票,得票的结果即使绿色点所属的类别。
我们用伪代码来表示:
(1)把样本数据抽象为坐标系的点。
(2)通过公式计算绿色点到各个点的距离
(3)K个最近的点进行投票表决。
这里饮用python的机器学习库sklearn,进行训练
import numpy as np
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier() #取得knn分类器
data = np.array([[3,104],[2,100],[1,81],[101,10],[99,5],[98,2]]) # <span style="font-family:Arial, Helvetica, sans-serif;">data对应着打斗次数和接吻次数</span>
labels = np.array([1,1,1,2,2,2]) #<span style="font-family:Arial, Helvetica, sans-serif;">labels则是对应Romance和Action</span>
knn.fit(data,labels) #导入数据进行训练'''
knn.predict([18,90])
说明:
首先,用labels数组中的1和2代表Romance和Aciton,因为sklearn不接受字符数组作为标志,只能用1,2这样的int型数据来表示,后面处理可以将1和2映射到Romance和Action上来。fit则是用data和labels进行训练,data对应的是打斗次数和接吻次数构成的向量,称之为特征向量。labels则是这个数据所代表的电影所属的类型。调用predict 进行预测,将未知电影的特征向量代入,则能分析出该未知电影所属的类型。此处计算结果为1,也就是该未知电影属于Romance,和直觉相符。
本文旨在简介常用的数据挖掘算法的及其实现,以简单的编码实现算法入门的讲解。引用了一些常见的网络资料,内侵删。
- 数据挖掘算法入门1——knn
- 数据挖掘中的几个算法——knn
- Kaggle数据挖掘入门之KNN算法--Didit Recognizer
- 数据挖掘-Knn算法实现
- 【数据挖掘算法】KNN学习
- 数据挖掘之KNN算法
- 数据挖掘算法笔记:knn算法
- 数据挖掘(Python)——利用sklearn进行数据挖掘,实现算法:svm、knn、C5.0、NaiveBayes
- 数据挖掘十大算法翻译——8kNN(k邻近分类)
- 数据挖掘十大算法 --- KNN
- (7)数据挖掘算法之kNN
- 机器学习/数据挖掘——kNN分类器
- 数据挖掘之分类算法---knn算法(有matlab例子)
- 数据挖掘回顾一:分类算法之 kNN 算法
- 数据挖掘之分类算法---knn算法(Matlab代码)
- 数据挖掘---分类算法之K近邻(KNN)算法
- 数据挖掘算法(一)--K近邻算法 (KNN)
- 数据挖掘-推荐算法入门
- bzoj3835
- 比较全的正则表达式总结
- 数据库字段设计之流程与状态
- OpenCV+OCR 图像处理字符识别原理及代码
- discuz学习记录:删除记录成功或者失败则返回json格式success=true或false
- 数据挖掘算法入门1——knn
- POJ 1703 Find them, Catch them(关系并查集)
- Java中集合Set的用法
- OpenGl中使用着色器的基本步骤及GLSL渲染简单示例
- 中英文对照 —— 歌词
- 的方法大概
- 编译原理(一)
- MapReduce多种输出格式
- bj