KNN分类模型的原理与使用目录
文章目录
前言
一、KNN模型
1.概念
2.距离
3.k值的重要性
二、使用步骤(鸢尾花分类的实现)
1.引入库
2.读入数据
3.训练模型
4.模型的评价
5.对未知数据的分类
总结
前言 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的分中的KNN模型。KNN模型可以用来解决分类和回归问题。
一、KNN模型 1.概念
简单的说,K-近邻算法采用不同特征值之间的距离方法进行的分类。KNN分类器根据多数表决原则确定数据点的类别。如果k设置为5,则检查5个最近点的类别。也可以根据多数类进行回归预测,同样,KNN回归取5个最近点的平均值。
![python|数据分析【机器学习】-KNN分类模型](https://img.it610.com/image/info8/cc5b718e110f4d699ff417f6692217fa.jpg)
文章图片
2.距离
KNN不用曼哈顿距离,因为它只计算水平或垂直距离,有维度的限制。另一方面,欧氏距离可用于任何空间的距离计算问题。因为,数据点可以存在于任何空间,欧氏距离是更可行的选择。
![python|数据分析【机器学习】-KNN分类模型](https://img.it610.com/image/info8/6420609a64c94c47a582980a30c24af3.jpg)
文章图片
3.k值的重要性
如果k值太低,则模型会变得过于具体,不能很好地泛化。它对噪音也很敏感。该模型在训练组上实现了很高的精度,但对于新的、以前看不到的数据点,该模型的预测能力较差。因此,我们很可能最终得到一个过拟合的模型。
如果k选择得太大,模型就会变得过于泛化,无法准确预测训练和测试集中的数据点。这种情况被称为欠拟合。
二、使用步骤(鸢尾花分类的实现) 1.引入库 代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import sklearn.datasets as datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
warnings.filterwarnings('ignore')
2.读入数据 代码如下(示例):
#1.捕获鸢尾花数据
iris = datasets.load_iris()
#2.提取样本数据
feature = iris['data']
target = iris['target']
#3.数据集进行拆分
x_train,x_test,y_train,y_test = train_test_split(feature,target,test_size=0.2,random_state=2020) #测试集占总数据0.2
3.训练模型
# 实例化模型对象
knn = KNeighborsClassifier(n_neighbors=6) #n_neighbors == k# 使用训练集数据训练模型
#X:训练集的特征数据.特征数据的维度必须是二维。
#y:训练集的标签数据
knn = knn.fit(x_train,y_train)# 测试模型:使用测试数据
#predict表示使用训练好的模型实现分类或者预测
y_pred = knn.predict(x_test) #模型基于测试数据返回的分类结果
y_true = y_test #测试集真实的分类结果
print('模型的分类结果:',y_pred)
print('真实的分类结果:',y_true)
4.模型的评价
knn.score(x_test,y_test)
5.对未知数据的分类
knn.predict([[6.1,3.1,4.7,2.1]]) #未知数据进行了分类
总结 【python|数据分析【机器学习】-KNN分类模型】
例如:以上就是今天要讲的内容,本文仅仅简单介绍了KNN分类模型的原理和sklearn库的使用,
推荐阅读
- 神经网络|基于语音的疲劳度检测算法研究
- 字符串|Babel是如何读懂JS代码的
- Python 函数进阶-lambda匿名函数和三元运算符
- Python教程(生成器是什么----一篇文章让你看懂)
- 平时碰见的问题|Python3.8 tornado报错NotImplementedError(转载)
- java|大学想要学习JAVA,发展前景如何,该从哪里开始()
- 数据挖掘与机器学习
- java开发|你觉得学 Python 还是 Java 更好找工作(2022最新分析指南。)
- 最新xhs数据app爬虫接口汇总