一、
K-
近邻算法
(KNN)
概念
1.1 K-
近邻算法
(KNN)
概念
K Nearest Neighbor
算法⼜叫
KNN
算法,这个算法是机器学习⾥⾯⼀个⽐较经典的算法, 总体来说
KNN
算法是相对⽐ 较容易理解的算法
定义 : 如果⼀个样本在特征空间中的k
个最相似
(
即特征空间中最邻近
)
的样本中的⼤多数属于某⼀个类别
,则该样本也属于这个类别。
来源:
KNN
算法最早是由
Cover
和
Hart
提出的⼀种分类算法
距离公式 :两个样本的距离可以通过如下公式计算,⼜叫欧式距离
1.2 KNN
算法流程总结
1
)计算已知类别数据集中的点与当前点之间的距离
2
)按距离递增次序排序
3
)选取与当前点距离最⼩的
k
个点
4
)统计前
k
个点所在的类别出现的频率
5
)返回前
k
个点出现频率最⾼的类别作为当前点的预测分类
二、K-
近邻算法api初步使⽤
2.1
机器学习流程:
1.
获取数据集
2.
数据基本处理
3.
特征⼯程
4.
机器学习
5.
模型评估
2.2 K-
近邻算法
API
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
n_neighbors
:
int,
可选(默认
= 5
),
k_neighbors
查询默认使⽤的邻居数
from sklearn.neighbors import KNeighborsClassifier
#1.构造数据
x = [[1],[2],[10],[20]]
y = [0,0,1,1]
#2.训练模型
#2.1 实例化一个估计器对象
estimator = KNeighborsClassifier(n_neighbors=1)
#2.2调用fit方法,进行训练
estimator.fit(x,y)
#3.数据预测
ret=estimator.predict([[0]])
print(ret)
ret1=estimator.predict([[100]])
print(ret1)
2.4
⼩结
sklearn
的优势
: ⽂档多,
且规范;包含的算法多;实现起来容易
knn
中的
api : sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)