SVDI(Singular Value Decomposition Imputation奇异值分解填补) - 缺失数据集填补

本文介绍了使用SVDI(奇异值分解填补)方法处理缺失数据的过程,包括用列方法替换缺失值、计算插补矩阵的秩k近似,并通过R语言的`bcv`包在pima-indians-diabetes数据集上的应用。在实践中,需要注意迭代次数可能导致的未收敛问题,以及负数填补值可能影响效果的情况。适当调整参数能改善填补效果。
摘要由CSDN通过智能技术生成

SVDI 填补思想:

1. 用相应的列方法替换所有缺失的值。

2. 计算插补矩阵的秩k近似。

3. 使用步骤2中计算的rank-k近似值中的相应值替换插补位置中的值。

4. 重复步骤2和3直到收敛。

 

R语言中在“bcv” 包中,可以直接对缺失的数据进行填充。

以UCI中的数据集pima-indians-diabetes dataset 为例。下载链接:https://www.kaggle.com/uciml/pima-indians-diabetes-database

加载包: 

install.packages("bcv")
library("bcv")

 加载数据:

dataImpute = read.csv("D://pima-indians-diabetes.csv",sep=",")

调用包: 参数:数据集, 奇异值个数,最大迭代次数. 顺便保留两位小数。

SVDimputation = round(impute.svd(dataImpute, k = 7,  maxiter=15000)$x,2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值