赞
踩
1. KNN算法
K近邻(k-Nearest Neighbor,KNN)分类算法的核心思想是如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法可用于多分类,KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,作为预测值。
KNeighborsClassifier在scikit-learn 在sklearn.neighbors包之中。KNeighborsClassifier使用很简单,三步:
1)创建KNeighborsClassifier对象,
2)调用fit函数,
3)调用predict函数进行预测。
以下代码说明了用法。
例子一:
例子二:
- from sklearn import datasets
- from sklearn import *
- # from sklearn.neighbors import KNeighborsClassifier
- # from sklearn.cross_validation import train_test_split
-
- iris=datasets.load_iris()
- iris_X=iris.data
- iris_Y=iris.target
-
- X_train,X_test,Y_train,Y_test = train_test_split(iris_X,iris_Y,test_size=0.3)
-
- knn=KNeighborsClassifier()
- knn.fit(X_train,Y_train)
- print(knn.predict(X_test))
- print(Y_test)
2. 实例
1)小麦种子数据集 (seeds)
七个特征,面积、周长、紧密度、谷粒的长度、谷粒的宽度、偏度系数和谷粒槽长度。数据格式如下:
2)代码
代码简要说明
load_csv_data 从数据文件,读取数据。
accuracy 计算预测的准确度。
plot_decision 画决策边界图,挑两个特征。这个函数要注意pcolormesh。
主程序:输入1进行预测,输入2画图。第一个选项中,
a)首先生成分类器,
b)调用KFold来生产学习数据和测试数据,
3)训练和预测,
4)计算精度。
这里充分利用了“列表解析”和“向量”使代码简洁。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。