使用Orange进行数据挖掘之分类(2)------KNN分类
来源:互联网 发布:mysql 修复 编辑:程序博客网 时间:2024/06/05 19:27
knn基本概念
knn把每个样例看做是空间上的一个点,给定一个测试样例,
使用适当的邻近性度量算法,计算出该点与训练集中其他点的邻近度。选择K个最相近的点。
在选择出的K个样例中,比例最好的类就是测试样例的类。
从以上描述中可以看出,如果k选择的太小,该算法容易受到噪声的影响,而产生过度拟合的影响,然而如果选择的过大,可能造成误分类。
算法描述:
k是最近邻数目,D是训练样例的集合,z是测试样例for 样例 in 训练样例集合: z和每个样例的相似度找到k个最相近的样例集合k个样例中类标号最多的类,就是测试样例的类标号。
Orange中的knn
以iris数据为例:
import Orange#加载数据iris = Orange.data.Table('iris')knn = Orange.classification.knn.kNNLearner(iris, k=10)for i in iris: #将预测结果和实际结果不同的部分输出 if i.getclass()!=knn(i): print i.getclass(),knn(i)
输出结果如下:Iris-versicolor Iris-virginicaIris-versicolor Iris-virginicaIris-virginica Iris-versicolorIris-virginica Iris-versicolorIris-virginica Iris-versicolor
该数据集共有150个实例,从结果看有5个预测结果是错误的。下面以图形化的方式来比较朴素贝叶斯分类、KNN分类、s。
下图展现了用orange图形界面的方法:
下图给出了这一比较结果:
从上面的结果中可以看出knn和其他几个方法基本相当。
参考资料
数据挖掘导论 http://book.douban.com/subject/5377669/
- 使用Orange进行数据挖掘之分类(2)------KNN分类
- 使用Orange进行数据挖掘之分类(3)------决策树
- 使用Orange进行数据挖掘之分类(4)------SVM
- 使用Orange进行数据挖掘之分类(1)------朴素贝叶斯分类
- 数据挖掘之KNN分类
- 【数据挖掘】分类之kNN
- 数据挖掘之KNN分类
- 数据挖掘之KNN分类
- 使用Orange进行数据挖掘之聚类分析(2)------K-means
- 数据挖掘之分类算法---knn算法(有matlab例子)
- 数据挖掘回顾一:分类算法之 kNN 算法
- 数据挖掘之分类算法---knn算法(Matlab代码)
- 数据挖掘---分类算法之K近邻(KNN)算法
- 使用Orange进行数据挖掘之关联------Apriori
- 数据挖掘之分类(kNN算法的描述及使用)
- 数据挖掘之分类
- 数据挖掘之分类
- 数据挖掘之分类
- poj 1753
- 京沪粤方案同日出炉 比其它省份“门槛”高
- USB设备的probe是如何引发的?
- centralWidget中显示多个widget的实现与细节
- 字符串3
- 使用Orange进行数据挖掘之分类(2)------KNN分类
- 【生活日记】最近心态不好啊,沉不住气
- WIN 7 X64位在右键中添加UltraEdit-32
- Android的3D旋转
- 各种技术网站
- 【转载】Libevent源码解析
- ADSP-TS201硬件仿真时出现Error Code: 0x80004005
- TTLauncherItem中的字体及颜色如何进行修改?
- time to say goodbye