from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split,cross_val_score
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings(“ignore”)
import numpy as np
class KNN(object):
def run(self):
iris = load_iris()
iris_data = iris.data
iris_target = iris.target
x_train,x_test,y_train,y_test = train_test_split(iris_data,iris_target,test_size=0.25)
sc = []
maxsc = 0
maxnb = 0
for nb in range(3,10,2):
knn = KNeighborsClassifier(n_neighbors=nb)
scores = cross_val_score(knn,iris_data,iris_target)
if maxsc<scores.mean():
maxsc = scores.mean()
maxnb = nb
print(nb,scores.mean())
sc.append(scores.mean())
plt.plot(range(3,10,2),sc,c=‘red’)
plt.xlabel(‘k’)
plt.ylabel(‘accuracy’)
鸢尾花 knn
最新推荐文章于 2023-10-09 22:27:11 发布
本文通过Python的sklearn库实现鸢尾花数据集的KNN(K-Nearest Neighbors)分类器,并进行交叉验证评估最优邻居数。同时,使用matplotlib展示K值与准确率的关系及分类结果的可视化。
摘要由CSDN通过智能技术生成