pythonK-NN算法是什么?
python中K-NN算法是什么?
本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。
KNearestNeighbor算法⼜叫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
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学习教程请关注IT培训机构:千锋教育。
猜你喜欢LIKE
相关推荐HOT
更多>>python函数超时怎么自动退出?
python函数超时怎么自动退出?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。安装timeout-decorator库:pip3installtimeout-de详情>>
2023-11-14 15:56:29python matlab库有何用法?
pythonmatlab库有何用法?大部分的库都是对应不同的接口使用,然而本期给大家带来的库有点与众不同,涉及的方向是图形化的界面,使用上并不困难...详情>>
2023-11-14 15:00:17如何使用python raise抛出异常?
如何使用pythonraise抛出异常?我们编写代码不是一蹴而就的,当代码运行中产生错误的时候,是非常繁琐的事情,因为面对那么多的代码,我们要逐字...详情>>
2023-11-14 14:03:37python json模块是什么?
pythonjson模块是什么?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。Json模块简单介绍:本质上认为就是一个有规律的字符串功能使...详情>>
2023-11-14 13:35:23热门推荐
python函数超时怎么自动退出?
沸python中bytearray函数的作用是什么?
热python matlab库有何用法?
热python的enumerate函数有何用法?
新如何使用python raise抛出异常?
python json模块是什么?
python中tempfile模块创建临时文件的方法有哪些
python中如何创建ndarray数组?
pandas中index索引功能是什么
python中series排序的两种方法
python中time.mktime()的转换
python pyqt5系统中查找文件
python中如何进行信号处理?
python怎么打开mat文件?