使用sklearn中的鸢尾花(iris)数据集,利用K近邻分类器对其进行分类
#-*-coding:utf-8-*-
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report
#使用加载器读取数据并且存入变量
iris=load_iris()
#查验数据规模
#print(iris.data.shape)
#查看数据说明,对于机器学习的实践者来说,这是一个好习惯
#print(iris.DESCR)
X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.25,random_state=33)
#使用K近邻分类器对鸢尾花(Iris)数据进行类别预测
#数据标准化
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
#使用K近邻分类器对测试数据进行类别预测,预测结果储存在y_predict中
knc = KNeighborsClassifier()
knc.fit(X_train,y_train)
y_predict=knc.predict(X_test)
#对K近邻分类器在iris数据上的预测性能进行评估
print('K近邻分类器准确性为:',knc.score(X_test,y_test))
print(classification_report(y_test,y_predict,target_names=iris.target_names))
作者:WangB