KNN模型引入
与
决策
树
功能
类
似,既可以
针对
离散因
变
量做分
类
,又可以
对连续
因
变
量做
预测
,其核心
思想就是比
较
已知
y
值
的
样
本与未知
y
值样
本的相似度,然后
寻
找最相似的
k
个
样
本用作未知
样
本的
预测
。
K
最近
邻
算法,
顾
名思
义
就是搜
寻
最近的
k
个已知
类别样
本用于未知
类别样
本的
预测
。
“
最
近
”
的度量就是
应
用点之
间
的距离或相似性。距离越小或相似度越高,
说
明它
们
之
间
越近,关
于
样
本
间
的
远
近度量在后面会
介
绍
。
“
预测
”
,
对
于离散型的因
变
量来
说
,从
k
个最近的已
知
类别样
本中挑
选
出
频
率最高的
类别
用于未知
样
本的判断;
对
于
连续
型的因
变
量来
说
,
则
是
将
k
个最近的已知
样
本均
值
用作未知
样
本的
预测
。
KNN模型步骤
- 确定未知样本近邻的个数k值。
- 根据某种度量样本间相似度的指标(如欧氏距离)将每一个未知类别样本的最近k个已
- 知样本搜寻出来,形成一个个簇。
- 对搜寻出来的已知样本进行投票,将各簇下类别最多的分类用作未知样本点的预测。
最佳k值选择
1、是
设
置
k
近
邻样
本的投票
权
重,假
设读
者在使用
KNN
算法
进
行分
类
或
预测时设
置的
k
值
比
较
大,担心模型
发
生欠
拟
合的
现
象,一个
简
单
有效的
处
理
办
法就是
设
置近
邻样
本的投票
权
重,如果已知
样
本距离未知
样
本比
较远
,
则对
应
的
权
重就
设
置得低一些,否
则权
重就高一些,通常可以将
权
重
设
置
为
距离的倒数;
2、另一种是
采用多重交叉
验证
法,
该
方法是目前比
较
流行的方案,其核心就是将
k
取不同的
值
,然后在每
种
值
下
执
行
m
重的交叉
验证
,最后
选
出平均
误
差最小的
k
值
。当然,
还
可以将两种方法的
优
点相
结
合,
选
出理想的
k
值
相似度的度量方法
欧式距离
曼哈
顿
距离
余弦相似度
杰卡德相似系数
近邻样本的搜寻方法
1,暴力搜寻法
针对某未知样本,计算它与所以已知样本之间的距离,然后从中挑选出最近的k个样本,再基于这k个样本进行投票,将票数最多的类别作为预测结果
2,k-d树搜寻法
3,球形搜寻法
参数
最重要的两个参数:n_neighbors 和 weights