1、ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。在ubuntu下只要sudo apt-get install ipython 就装好了,通过ipython启动。
2、iris.csv数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类[山鸢尾(Iris setosa)、变色鸢尾(Iris versicolor)和维吉尼亚鸢尾(Iris virginica)],每类50个数据,每个数据包含4个属性[萼片长度(sepal length),萼片宽度(sepal width),花瓣长度(petal length),花瓣宽度(petal width)],是在数据挖掘、数据分类中非常常用的测试集、训练集。
(1)加载数据
>>> from sklearn import datasets
>>> iris = datasets.load_iris()
说明:在0.9版中(2011年9月发行),scikit-learn的导入路径从scikits.learn更改为sklearn。
(2)数据.data项
>>> iris.data.shape(150, 4)
说明:
数据存储在.data项中,是一个(n_samples, n_features)数组。
(3)数据.target项
>>> iris.target.shape(150,)
说明:
每个观察对象的种类存贮在数据集的.target属性中。这是一个长度为n_samples的整数一维数组。
(4)numpy包
>>> import numpy as np
>>> np.unique(iris.target)
array([0, 1, 2])
说明:
3、K最近邻(KNN)分类器
(1)KNN分类示例
>>> from sklearn import neighbors
>>> knn = neighbors.KNeighborsClassifier()
>>> knn.fit(iris.data, iris.target)
KNeighborsClassifier(algorithm='auto', leaf_size=30, n_neighbors=5, p=2,
warn_on_equidistant=True, weights='uniform')
>>> knn.predict([[0.1, 0.2, 0.3, 0.4]])
array([0])
>>> knn.predict([[0.1, 0.2, 0.3, 0.4], [0.5, 0.6, 0.7, 0.8]])
array([0, 0])
说明:
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法可以说是整个数据挖掘分类技术中最简单的方法了。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用她最接近的k个邻居来代表。
(2)训练集和测试集
>>> perm = np.random.permutation(iris.target.size)
>>> iris.data = iris.data[perm]
>>> iris.target = iris.target[perm]
>>> knn.fit(iris.data[:100], iris.target[:100])
KNeighborsClassifier(algorithm='auto', leaf_size=30, n_neighbors=5, p=2,
warn_on_equidistant=True, weights='uniform')
>>> knn.score(iris.data[:100], iris.target[:100])0.97999999999999998
C:\Python27\lib\site-packages\sklearn\neighbors\classification.py:131: NeighborsWarning: kneighbors:
neighbor k+1 and neighbor k have the same distance: results will be dependent on data order.
neigh_dist, neigh_ind = self.kneighbors(X)
4、参考文件
[1] SciPy:http://zh.wikipedia.org/wiki/SciPy [2] numpy:http://baike.baidu.com/link?url=6R01gFAVWdH2zEDmVnn6dW06E7g4mQPeWf4eVQ-Uk1fsQynEQfMDiB6Cwfs8jyI6mpn6IyK4fBCdG-4Uezcqeq [3] Iris数据集/Iris Data Set的基本介绍:http://blog.sina.com.cn/s/blog_4936c31d0100p54i.html [4] Scikit Learn: 在python中机器学习:http://my.oschina.net/u/175377/blog/84420#OSC_h4_3 [5] 邻近算法:http://baike.baidu.com/link?url=56eMYTCNC6ZJsKggC-BtYWKwanH2eND04UBVG8w5vyks8M1IwpPTPJTQjvQ3fAMndCFvU_wJryC1d3ohkj