KNN缺失值填补:安装fancyimpute库遇到的那些坑

fancyimpute库为一个功能较强大的补全空缺值的函数库,集成了很多方式,包括均值、众数、频数填充,KNN填充、MCMC填充等,现将安装过程中遇到的那些坑,以及最后用KNN进行缺失值填充的过程总结如下:

首先我试了网上的方法,直接安装,报了错

conda install ecos  
conda install CVXcanon  
pip install fancyimpute
改为下载whl文件后使用pip安装:

step1:查找适合自己电脑上python版本的whl文件名
进入python(shell)环境中,输入命令:
若是ADM64:

import pip._internal
print(pip._internal.pep425tags.get_supported())

若是WIN32:

import pip
print(pip.pep425tags.get_supported())

在这里插入图片描述
但我这里两个命令均报错。
最后改为

import pip._internal.pep425tags
print(pip._internal.pep425tags.get_supported())

成功得到结果:
在这里插入图片描述
我这儿cp36说明是python3.6版本,以及64位

step2:在官网上下载对应版本的whl文件:
whl文件下载官网
ctrl+f 键查找 cvxopt、scs、ecos、CVXcanon、fastcache、cvxpy这几个库,找到对应Python 版本的文件进行下载,比如我这儿cvxopt库就下载的cvxopt-1.2.5-cp36-cp36m-win_amd64.whl,将这些文件都下在了 E:\anaconda\Scripts文件夹下

step3:在命令行依次pip下载各个whl文件:
pip install cvxopt-1.2.5-cp36-cp36m-win_amd64.whl,报了路径的错,说是现在路径是C:\Windows\system32,该路径下自然没有whl文件
在这里插入图片描述
该问题添上文件的绝对路径即可解决,依次下载各个whl文件(我电脑上要把scs库放在第一个下,否则又会报错)

pip install E:\anaconda\Scripts\scs-2.1.2-cp36-cp36m-win_amd64.whl
pip install E:\anaconda\Scripts\cvxopt-1.2.5-cp36-cp36m-win_amd64.whl
pip install E:\anaconda\Scripts\ecos-2.0.7.post1-cp36-cp36m-win_amd64.whl
pip install E:\anaconda\Scripts\CVXcanon-0.1.1-cp36-cp36m-win_amd64.whl
pip install E:\anaconda\Scripts\fastcache-1.1.0-cp36-cp36m-win_amd64.whl
pip install E:\anaconda\Scripts\cvxpy-1.1.1-cp36-cp36m-win_amd64.whl

step4:最后再pip下载fancyimpute库,未报错:

pip install fancyimpute

打开jupyter notebook,import后未报错

from fancyimpute import KNN
import pandas as pd
data1=pd.read_csv('finally.csv', encoding = "gbk")
data1.Info()

在这里插入图片描述
可以看出有几个特征都有缺失值,用KNN进行数据缺失值填补:

fill_knn = KNN(k=3).fit_transform(data1)
data2 = pd.DataFrame(fill_knn)
print(data2.info())

在这里插入图片描述

引用介绍了一种基于KNN算法的缺失值填补方法。KNN(k-Nearest Neighbors)是一种常用的机器学习算法,用于解决分类和回归问题。在缺失值填补中,KNN算法也可以用于预测缺失值KNN缺失值填补的原理是通过找到与缺失样本最相似(即特征值最接近)的k个邻居样本,根据这k个邻居样本的特征值来预测缺失样本的特征值。具体步骤如下: 1. 计算缺失样本与其他样本之间的距离。这里一般使用欧氏距离或者其他距离度量方法。 2. 选择与缺失样本最接近的k个邻居样本。这里可以使用最近邻算法来选择k个邻居样本,如k-d树算法等。 3. 根据k个邻居样本的特征值来预测缺失样本的特征值。可以使用简单平均法、加权平均法等方法来进行预测。 4. 重复步骤2和步骤3,直到所有缺失样本被填补完毕。 KNN缺失值填补方法的优点是简单易用,并且可以利用已有的数据来预测缺失值,从而提高数据的完整性。但也需要注意选择合适的k值和距离度量方法,以及处理数据中存在的异常值和噪音等问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [论文研究-基于灰色关联分析的缺失值重复填补方法.pdf](https://download.csdn.net/download/weixin_38744153/11689244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [KNN缺失值的插补原理介绍(你肯定需要)](https://blog.csdn.net/nixiang_888/article/details/123180128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [使用KNN进行缺失值填补详解及实践](https://blog.csdn.net/zhongkeyuanchongqing/article/details/116399812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

feifei_cloud

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值