2017 September 10
kNN
kNN算法及其Python实例
在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大“数据挖掘算法”( top 10 data mining algorithms ), kNN算法即位列其中。
该算法思路简洁,但是在实践中却相当有效。如果你对其算法原理仍不甚了解,你可以参考本博客之前的文章《机器学习中的kNN算法及Matlab实例》。KNN算法不仅可以用于分类,还可以用于回归,但主要应用于分类。在此前的文章中,我们给出的实例是基于Matlab实现的。本文将演示在Python语言中利用scikit-learn提供的函数来进行基于 kNN的Classification实例。最后,本文还会介绍利用KNN进行回归的基本思路。
一、在Python中读入iris数据集,并进行图形化的展示
这里所使用的数据同样是经典的iris数据集,这一点同文章《机器学习中的kNN算法及Matlab实例》一致。注意原数据集中的每一个数据点都是一个4维向量,我们仅取Petal.Length和Petal.Width这两列数据,一共150行,三类鸢尾花每类各50行。
首先引入各种必要的package。
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> from sklearn import neighbors
>>> from sklearn import datasets
接下来,载入数据集。