加入收藏 | 设为首页 | 会员中心 | 我要投稿 伊春站长网 (https://www.0458zz.com/)- 管理运维、图像技术、数据标注、智能营销、数据计算!
当前位置: 首页 > 大数据 > 正文

在Python中使用KNN算法解决缺失的数据

发布时间:2021-06-04 16:11:49 所属栏目:大数据 来源:互联网
导读:处理缺失的数据并不是一件容易的事。 方法的范围从简单的均值插补和观察值的完全删除到像MICE这样的更高级的技术。 解决问题的挑战性是选择使用哪种方法。 今天,我们将探索一种简单但高效的填补缺失数据的方法-KNN算法。 在python中使用KNN算法处理缺失的数
处理缺失的数据并不是一件容易的事。 方法的范围从简单的均值插补和观察值的完全删除到像MICE这样的更高级的技术。 解决问题的挑战性是选择使用哪种方法。 今天,我们将探索一种简单但高效的填补缺失数据的方法-KNN算法。
在python中使用KNN算法处理缺失的数据
KNN代表" K最近邻居",这是一种简单算法,可根据定义的最接近邻居数进行预测。 它计算从您要分类的实例到训练集中其他所有实例的距离。
正如标题所示,我们不会将算法用于分类目的,而是填充缺失值。 本文将使用房屋价格数据集,这是一个简单而著名的数据集,仅包含500多个条目。
这篇文章的结构如下:
数据集加载和探索
KNN归因
归因优化
 结论
数据集加载和探索
如前所述,首先下载房屋数据集。 另外,请确保同时导入了Numpy和Pandas。 这是前几行的外观:
在python中使用KNN算法处理缺失的数据
默认情况下,数据集缺失值非常低-单个属性中只有五个:
在python中使用KNN算法处理缺失的数据
让我们改变一下。 您通常不会这样做,但是我们需要更多缺少的值。 首先,我们创建两个随机数数组,其范围从1到数据集的长度。 第一个数组包含35个元素,第二个数组包含20个(任意选择):
i1 = np.random.choice(a=df.index, size=35)  
i2 = np.random.choice(a=df.index, size=20) 
这是第一个数组的样子:
在python中使用KNN算法处理缺失的数据
您的数组将有所不同,因为随机化过程是随机的。 接下来,我们将用NAN替换特定索引处的现有值。 这是如何做:
df.loc[i1, 'INDUS'] = np.nan  
df.loc[i2, 'TAX'] = np.nan 
现在,让我们再次检查缺失值-这次,计数有所不同:
在python中使用KNN算法处理缺失的数据
这就是我们从归因开始的全部前置工作。 让我们在下一部分中进行操作。

(编辑:伊春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读