知行编程网知行编程网  2022-12-17 11:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中K-NN算法是什么?的相关知识,希望可以帮到处于编程学习途中的小伙伴

python中的K-NN算法是什么?


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

K 最近邻算法也称为 KNN 算法。该算法是机器学习中比较经典的算法。一般来说,KNN算法相对

较容易理解的算法。


1、定义

如果一个样本在特征空间(即特征空间中的最近邻)中的k个最相似样本中的大部分属于某一类,则该样本也属于这一类。 (出处:KNN最早是由Cover和Hart提出的一种分类算法);俗话说:以“邻居”推断你的类别。


2、基本流程

(1) 计算已知数据集中的点与当前点的距离 2) 按距离从大到小排序

(2)选取与当前点距离最小的k个点

(3)统计前k个点所在的类别出现的频率

(4) 返回前k个点出现频率最高的类别作为当前点的预测类别


3、实例

代码涉及sklean库,需要安装sklearn库。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
 
# 1.获取数据
iris = load_iris()
 
# 2.数据基本处理:训练集的特征值x_train 测试集的特征值x_test 训练集的⽬标值y_train 测试集的⽬标值y_test,
'''
x: 数据集的特征值
y: 数据集的标签值
test_size: 测试集的⼤⼩, ⼀般为float
random_state: 随机数种⼦,不同的种⼦会造成不同的随机采样结果。 相同的种⼦采样结果相同
'''
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
 
# 3.特征工程 - 特征预处理
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
 
# 4.机器学习-KNN
# 4.1 实例化一个估计器
estimator = KNeighborsClassifier(n_neighbors=5)
# 4.2 模型训练
estimator.fit(x_train, y_train)
 
# 5.模型评估
# 5.1 预测值结果输出
y_pre = estimator.predict(x_test)
print("预测值是:\n", y_pre)
print("预测值和真实值的对比是:\n", y_pre==y_test)
 
# 5.2 准确率计算
score = estimator.score(x_test, y_test)
print("准确率为:\n", score)

以上就是p

ython中K-NN算法的介绍,希望能对大家有所帮助。

更多Python学习指路:

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享