from sklearn import datasets
from sklearn import neighbors
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
KNN =neighbors.KNeighborsClassifier(n_neighbors=3)
iris = datasets.load_iris()
X=iris.data
Y=iris.target
x_train,x_test,y_train,y_test=train_test_split(X,Y,test_size=0.3,random_state=0)
KNN.fit(x_train,y_train)
print("KNN模型训练集的准确率:%.3f"%KNN.score(x_train,y_train))
print("KNN模型测试集的准确率:%.3f"%KNN.score(x_test,y_test))
target_names =['setosa','versicolor','virginica']
y_hat=KNN.predict(x_test)
print(classification_report(y_test,y_hat,target_names=target_names))
这里注意了如果是用pycharm需要在工作台通过pip.install.包的名字来下载,用jupyter不用下载
运
运行结果如下:
KNN模型训练集的准确率:0.962
KNN模型测试集的准确率:0.978
precision recall f1-score support
setosa 1.00 1.00 1.00 16
versicolor 1.00 0.94 0.97 18
virginica 0.92 1.00 0.96 11
accuracy 0.98 45
macro avg 0.97 0.98 0.98 45
weighted avg 0.98 0.98 0.98 45