学习机器学习的盆友建议首先使用这个算法来练习,因为KNN算法,即K-Nearest Neighbour,K近邻算法,可能是最简单的机器学习算法了。而用到的数据集就是机器学习中最著名的“鸢尾花”数据集,集成在sklearn.datasets中。上码:
#-*- coding:utf-8 -*-
from sklearn.datasets import load_iris
iris=load_iris()
print(iris.data.shape)
print(iris.DESCR)
先导入数据,看看数据量的大小和数据集介绍。输出如下:
有150株花的数据,有四个不同的特征量。继续上码:
#-------数据集分割
from sklearn.cross_validation import train_test_split
X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.25,random_state=33)
from sklearn.preprocessing import StandardScaler
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
from sklearn.neighbors import KNeighborsClassifier
KNN=KNeighborsClassifier()
KNN.fit(X_train,y_train)
y_predict=KNN.predict(X_test)
print('KNN算法的精确率为:',KNN.score(X_test,y_test))
from sklearn.metrics import classification_report
xnfx=classification_report(y_test,y_predict,target_names=iris.target_names)
print(xnfx)
性能分析如下:
网友评论