首页 分享 python进行KNN算法分析实战(鸢尾花数据集)

python进行KNN算法分析实战(鸢尾花数据集)

来源:花匠小妙招 时间:2025-09-01 11:40

魔乐社区 python进行KNN算法分析实战(鸢尾花数据集)

KNN算法分析实战(鸢尾花数据集)代码效果图,废话不多说,先看看代码实验结果提示:以下是本篇文章正文内容,下面案例可供参考一、导入需要的包要是报错的话可以在pycharm安装包,要是不行就在命令窗口输入pip install +包名import matplotlib.pyplot as pltfrom sklearn import neighborsimport numpy as npimport

目录

KNN算法分析实战(鸢尾花数据集)

代码效果图

一、导入需要的包

二、

1.导入数据

2.建立训练集和测试集

3.设置K值

4. 十重交叉验证K值

5.模型拟合 

6.数据可视化输出

,废话不多说,先看看代码实验结果

提示:以下是本篇文章正文内容,下面案例可供参考

要是报错的话可以在pycharm安装包,要是不行就在命令窗口输入pip install +包名

import matplotlib.pyplot as plt from sklearn import neighbors import numpy as np import pandas as pd import seaborn as sns from sklearn import model_selection from sklearn import metrics

导入数据并查看前5行代码

df1 = pd.read_csv(r'D:pythoniris.csv') print(df1.head()) predictors = df1.columns[:-1]

代码如下:

x_train,x_test,y_train,y_test=model_selection.train_test_split( df1[predictors],df1.Species, test_size=0.5, random_state = 1234 ) print(np.ceil(np.log2(df1.shape[0])))

#设置待测试的不同K值 K = np.arange(1,np.ceil(np.log2(df1.shape[0]))) print(np.arange(1,np.ceil(np.log2(df1.shape[0])))) #设置空列表,用于储存平均准确率 accuracy = []

使用十重交叉验证K值,并做出最适合K值的折线图

for k in K: cv_result = model_selection.cross_val_score (neighbors.KNeighborsClassifier(n_neighbors=int(k), weights='distance'), x_train, y_train, cv=10, scoring='accuracy') accuracy.append(cv_result.mean()) arg_max = np.array(accuracy).argmax()

#中文负号正常显示 plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False #绘制不同k值与准确率之间的折线图 plt.plot(K,accuracy) plt.scatter(K,accuracy) plt.text(K[arg_max],accuracy[arg_max],'最佳K值为%s' plt.show()

 

代入K值,进行模型拟合

knn_class = neighbors.KNeighborsClassifier(n_neighbors=7,weights='distance') knn_class.fit(x_train,y_train) predict = knn_class.predict(x_test)

#构建混淆矩阵 cm = pd.crosstab(predict,y_test) print(f'鸢尾花种类混淆矩阵n{cm}') #热力图输出 cm = pd.DataFrame(cm,columns=['setosa','versicolor','virginica'], index=['setosa','versicolor','virginica']) sns.heatmap(cm,annot=True,cmap='GnBu') plt.xlabel('Real Lable') plt.ylabel('Predict Lable') plt.title('鸢尾花种类热力图') plt.show() #显示各类预测准确率 b = metrics.classification_report(y_test,predict) print(f'显示各类预测准确率n{b}')

 

点击阅读全文

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

相关知识

Python原生代码实现KNN算法(鸢尾花数据集)
KNN算法实现鸢尾花数据集分类
KNN分类算法介绍,用KNN分类鸢尾花数据集(iris)
【python机器学习】KNN算法实现回归(基于鸢尾花数据集)
Python实现KNN算法(鸢尾花数据)
Python实现kNN算法,使用鸢尾花作为测试数据
原生python实现knn分类算法(鸢尾花数据集)
【机器学习】基于KNN算法实现鸢尾花数据集的分类
用Python实现简单机器学习模型:以鸢尾花数据集为例
KNN算法实现鸢尾花数据集分类 C语言实现指南

网址: python进行KNN算法分析实战(鸢尾花数据集) https://www.huajiangbk.com/newsview2290117.html

所属分类:花卉
上一篇: 国家海洋科学数据中心
下一篇: 【未来已来】新一代生物医学数据可

推荐分享