当前位置: 首页 > 图灵资讯 > 行业资讯> python中K-NN算法是什么?

python中K-NN算法是什么?

发布时间:2024-08-27 13:59:48

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

K Nearest Neighbor算法⼜称KNN算法, 该算法是机器学习⾥⾯⼀个⽐算法比较经典, 总的来说,KNN算法是相对的⽐

易于理解的算法。

1、定义

如果⼀特征空间中最相似的k个样本(即特征空间中最相邻的)大多属于某个样本⼀个类别, 样本也属于这一类。(起源:KNN最早是Cover和Hart提出的分类算法);俗话说:根据“邻居”推断你的类别。

2、基本流程

(1)计算已知数据集中点与当前点之间的距离2)按距离递增顺序排序

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

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

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

3、实例

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

fromsklearn.datasetsimportload_iris
fromsklearn.model_selectionimporttrain_test_split
fromsklearn.preprocessingimportStandardScaler
fromsklearn.neighborsimportKNeighborsClassifier

#1.获取数据
iris=load_iris()

#2.基本数据处理:训练集的特征值x_train测试集的特征值x_test训练集⽬标值y_train测试集⽬标值y_test,
'''
x:数据集的特征值
y:数据集的标签值
test_size:测试集的⼤⼩,⼀float通常是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)

以上就是python中K-介绍NN算法,希望对大家有所帮助。更多Python学习指导:python基础教程

相关文章

如何让vim支持python3

如何让vim支持python3

2025-09-12
python2.7和3.6区别有哪些

python2.7和3.6区别有哪些

2025-09-12
python3有serial库吗

python3有serial库吗

2025-09-12
python中w、r表示什么意思

python中w、r表示什么意思

2025-09-12
python中如何把list变成字符串

python中如何把list变成字符串

2025-09-12
python命名空间是什么

python命名空间是什么

2025-09-12