KNN 同时使用离散和连续变量 作为训练数据

10 篇文章 6 订阅
6 篇文章 0 订阅

KNN是通过计算距离,获得最近的K个邻居 而完成分类, 所以说,他本质上是要用numeric 来完成分类。 所以可以通过将分类变量转换为numeric 来进行KNN分类:

 

衣服大小编码
S1
M2
L3

 

 

 

 

 

如果是这样的转化 没有问题, 因为本身 categorical data 就是有顺序的,(ordinal data), 当你对衣服大小编码时就是没问题的。

1<2 而 显示意义上 S<M, 所以是没问题, 可以直接KNN,结果也是相关的,因为衡量距离也是有意义的

但是如果分类变量是nominal的

职业编码
学生
老师2
农民3

 

 

 

 

 

这时候编码就有问题了, 为什么学生会小于老师, 等于为原有的数据添加的而外的信息, 那我如果用不同的编码的话结果就可能很不一样,所以KNN会有问题

对于这些数据 因为没有顺序,所以他们的距离应该是相等的。 所以编码应该是

职业编码
学生0,0,1
老师0,1,0
农民1,0,0

 

 

 

 

 

这样距离就是相等了, 但是这又会出现另一个问题,对于每一个职业都给了一个单独的binomial变量, 很有可能导致高维的问题 也就是 P>N, 即便K设置的很小很小, 预测的误差还是很大。

 

总结一句, 再对分类变量进行KNN时, 要仔细想想 KNN的“距离” 在分类变量的意义到底是什么

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: KNN(K近邻)方法是一种基于实例的学习算法,它的基本思想是:如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN方法可以用于数据回归预测,它的原理是:先找出距离待预测点最近的K个点,然后根据这K个点的输出值,计算待预测点的输出值。 ### 回答2: KNN(K-Nearest Neighbors)方法是一种基本的非参数化监督学习算法,用于解决回归问题。它的原理如下: 1. 数据准备:首先,需要准备训练集,其中包含已知的输入特征和对应的输出标签。 2. 距离计算:对于给定的一个未知样本,计算它与训练集中每个样本的距离。通常使用欧式距离或曼哈顿距离等度量方法来进行距离计算。 3. 邻居选择:根据距离值,选择与未知样本最近的K个训练样本作为邻居。 4. 输出预测:对于回归问题,K个邻居的输出标签可以看作是该未知样本的预测输出。通常采用平均值或加权平均值来确定最终的预测值。 5. 评估模型:使用训练集来训练KNN回归模型后,可以使用测试集或交叉验证方法来评估模型的性能。常见的评估指标包括均方误差(MSE)和决定系数(R^2)等。 KNN方法的原理简单直观,它基于“近朱者赤、近墨者黑”的思想,认为离未知样本越近的样本越有可能具有相似的输出标签。通过比较样本之间的距离,找到最近的若干邻居,从而进行预测。它没有对数据做任何假设,因此适用于各种类型的数据和问题。然而,KNN方法在处理大规模数据时会面临计算复杂度高、存储空间大的问题,同时对于数据的特征选择和归一化也具有一定的要求。 ### 回答3: K最近邻(KNN)方法是一种常用的机器学习方法,可以用于数据回归预测。其原理如下: 1. 训练集:首先,我们需要有一个已经标记好的训练集,其中包含了输入变量和对应的输出值。这些输入变量可以是多维的,也可以是连续或离散的。 2. 距离度量:接下来,我们需要定义一个距离度量方法,用来度量输入变量之间的相似性。常见的距离度量方法包括欧氏距离、曼哈顿距离等。 3. 邻居选择:对于每一个要预测的输入变量,KNN方法会计算它与训练集中每个输入变量之间的距离,并选择与其最近的K个邻居。这里的K是一个预先设定的正整数。 4. 输出预测:对于每个要预测的输入变量,KNN方法会取其K个最近邻居的输出值的平均值作为预测输出。如果输出值是连续的,则直接取平均值;如果输出值是离散的,则可以取众数作为预测输出。 总结起来,KNN方法的数据回归预测原理是基于训练集中输入变量之间的距离度量,选择与要预测变量最近的K个邻居,并根据邻居的输出值进行预测。其核心思想是相似的输入变量对应的输出值也应该相似。使用KNN方法进行数据回归预测时,需要选择合适的K值和距离度量方法,以获得较好的预测效果。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值