您的位置:首页 > 大数据

数据挖掘-K-近邻分类器-Iris数据集分析-使用K-近邻分类器进行分类预测(四)

2017-01-30 19:06 645 查看
# coding: utf-8
#使用 scikit-learn库的K-近邻分类器完成分类
#1. 首先将数据集中的数据进行打乱
#2. 将数据分为训练集和测试集两部分
#3. 使用 k-means分类器进行分类训练,得到预测模型
#4. 使用模型对测试集进行测试,并与真实结果进行比较,计算错误率
import numpy as np
from sklearn import datasets
np.random.seed(0)
iris=datasets.load_iris()
x=iris.data
y=iris.target
#打乱数据集中的所有数据
# permutation函数: 随机排列   https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.permutation.html i=np.random.permutation(len(iris.data))
#训练集: 取出打乱后的前140条数据
x_train=x[i[:-40]]   #前110条数据
y_train=y[i[:-40]]   #前110条数据对应的花的类型

#输出x_train, y_train
#x_train
#y_train

#测试集
x_test=x[i[-40:]]   #最后40条数据
y_test=y[i[-40:]]   #最后40条数据对应的花的类型

#使用k-近邻算法   引入kneighborsClassifier分类器,再使用fit()来训练
from sklearn.neighbors import KNeighborsClassifier
# KneighborsClassifier参数详解: http://blog.csdn.net/helloworld6746/article/details/50817427 # http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html knn=KNeighborsClassifier()   #使用构造函数创建分类器
knn.fit(x_train,y_train)     #调用fit方法训练分类器,得到预测模型

#下面使用这个模型进行预测
y_predicted=knn.predict( x_test )
#对比标准结果
y_test

#计算正确率
accuracy=np.mean( y_predicted==y_test)*100
print(u"模型正确率为:{:.1f}%".format( accuracy))    # 95%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息