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())

KNN缺失值填补:安装fancyimpute库遇到的那些坑_第1张图片
但我这里两个命令均报错。
最后改为

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

成功得到结果:
KNN缺失值填补:安装fancyimpute库遇到的那些坑_第2张图片
我这儿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缺失值填补:安装fancyimpute库遇到的那些坑_第3张图片
可以看出有几个特征都有缺失值,用KNN进行数据缺失值填补:

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

KNN缺失值填补:安装fancyimpute库遇到的那些坑_第4张图片

你可能感兴趣的:(机器学习)