本文将介绍如何利用K最近邻(KNN)算法对经典的鸢尾花数据集进行分类预测。首先,我们会加载数据集并进行数据的拆分,然后利用KNN算法训练模型。最后,我们将展示模型对测试集的预测结果,并与真实标签进行对比验证,以帮助读者更好地理解KNN算法在分类问题中的应用。
1.命令行安装sklearn
pip install -U scikit-learn
2.导入模块
- import numpy as np
- from sklearn import datasets
- from sklearn.model_selection import train_test_split
- from sklearn.neighbors import KNeighborsClassifier
- #使用sklearn自带的datasets模块中的load_iris函数加载了鸢尾花(iris)数据集
- iris = datasets.load_iris()
- #提取出特征数据
- iris_X=iris.data
- #目标标签
- iris_y=iris.target
- #会打乱数据
- #test_size测试比例,train_test_split把训练数据和测试数据分开
- X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)
- #训练模型
- knn=KNeighborsClassifier()
- knn.fit(X_train,y_train)
- #预测值
- print(knn.predict(X_test))
- # [0 0 1 0 2 2 1 1 0 0 2 1 2 2 2 2 0 0 2 0 2 2 0 0 0 2 0 1 1 0 0 2 0 2 2 0 1
- # 1 0 1 1 2 0 1 2]
- #真实值
- print(y_test)
- # [0 0 1 0 2 2 1 1 0 0 2 1 2 2 1 2 0 0 2 0 2 2 0 0 0 2 0 1 1 0 0 2 0 2 2 0 1
- # 1 0 1 1 2 0 1 2]
结果大差不差~
通过本文的讲解,我们深入探讨了KNN算法在机器学习中的应用。通过实际操作鸢尾花数据集,我们展示了如何使用KNN算法对数据进行分类预测,并验证了模型的准确性。希望本文能够帮助读者更好地理解KNN算法的原理和实际应用,为进一步学习机器学习算法奠定基础。