数据挖掘面试题之KNN

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,球形搜寻法
 

参数

 
数据挖掘面试题之KNN
 
 

 

数据挖掘面试题之KNN

 

最重要的两个参数:n_neighbors 和 weights

 

数据挖掘面试题之KNN