Python_第六篇 第三方安装包(1)_fancyimpute介绍及使用

1.简介

fancyimpute是python的第三方工具包,主要提供了各种矩阵计算、填充算法的实现。

2.安装过程与踩过的坑

Step1:判断python的版本【python 版本是3.7,以及是64位的】

Step2:在官网上下载对应版本的whl文件

官网:https://www.lfd.uci.edu/~gohlke/pythonlibs/

Ctrl+F查找ctrl+f 键查找 cvxopt、scs、ecos、CVXcanon、fastcache、cvxpy这几个库,找到对应Python 版本的文件进行下载,将这些文件都下在了 E:\anaconda\Scripts文件夹

Step3:在命令行依次pip安装各个whl文件

pip install cvxopt-1.2.5-cp36-cp36m-win_amd64.whl,报了路径的错,说是现在路径是C:\Windows\system32,该路径下自然没有whl文件

解决方案:在该问题添加文件的绝对路径

Step4:最后在pip下载fancyimpute库

安装过程出现问题

解决方案:

3.应用示例

fancyimpute主要提供以下几种填充方式: KNN、 NuclearNormMinimization、SoftImpute、IterativeImputer、BiScaler,在调用这些算法时需要import一下,代码如下:

from fancyimpute import KNN, NuclearNormMinimization, SoftImpute, IterativeImputer, BiScaler

3.1 SimpleFill

用每列的平均值或中位数来填充缺失值。

3.2 KNN

最近邻估算,使用两行都具有观测数据的特征的均方差来对样本进行加权。然后用加权的结果进行特征值填充(疑问:对于连续特征一般是加权平均,对于离散特征一般是加权投票,该算法是如何区分需要填充的特征是离线变量还是连续型变量?)

X_filled_knn = KNN(k=3).fit_transform(X_incomplete)

3.3 SoftImpute

通过SVD分解的迭代软阈值处理来填充矩阵(https://web.stanford.edu/~hastie/swData/softImpute/vignette.html)。

  1. X_incomplete_normalized = BiScaler().fit_transform(X_incomplete)

  2. X_filled_softimpute = SoftImpute().fit_transform(X_incomplete_normalized)

3.4 IterativeSVD

通过迭代低秩SVD分解来填充矩阵。 原理类似于DNA微阵列缺失值估算方法中的SVDimpute。

3.5 IterativeImputer

通过以循环方式将具有缺失值的每个特征建模为其他特征的函数来估算缺失值的策略。

X_filled_ii = IterativeImputer().fit_transform(X_incomplete)

3.6 MatrixFactorization

将不完全矩阵直接分解为低秩“U”和“V”,对“U”元素进行L1稀疏性惩罚,对“V”元素进行L2惩罚。 通过梯度下降解决。

3.7 NuclearNormMinimization

矩阵填充使用凸优化来找到仍然匹配观测值的低秩解(http://statweb.stanford.edu/~candes/papers/MatrixCompletion.pdf)。对于大型矩阵来说非常缓慢。

X_filled_nnm = NuclearNormMinimization().fit_transform(X_incomplete)

3.8 BiScaler

通过行/列均值和标准偏差的迭代估计得到双重归一化矩阵。 不保证收敛但在实践中运作良好。 基本原理请参考矩阵完成和低秩SVD通过快速交替最小二乘

参考文献:https://pypi.org/project/fancyimpute/

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值