GroupShuffleSplit用于不同大小的熊猫数据框数据/标签

时间:2020-02-01 01:12:31

标签: python pandas machine-learning

我现在正在处理火车数据的大小与标签不一致的数据集。

例如,我的熊猫数据框是这样的:

X_df:

人1-信息1-信息2

person1-info1'-info2'

...

personk-infok'-infok'

y_df:

label_p1

...

label_pk

我想像这样用GroupSplit做简历:

library(S4Vectors)

## create example data
set.seed(1)
x <- sample(c(0,1), (1958*34), replace=TRUE, prob=c(.4, .6))
x[sample(length(x), 200)] <- NA
x <- matrix(x, nrow=1958, ncol=34)
df <- data.frame(patient.id = paste0("P", seq_len(1958)), x, stringsAsFactors = FALSE)

## define function to remove NA values
# option 1
fun.NA.boundary <- function(x) {
    a <- runValue(Rle(x))
    a[!is.na(a)]
}
# option 2
fun.NA.remove <- function(x) runValue(Rle(x[!is.na(x)]))

## calculate results
# option 1
reslist <- apply(x[,-1], 1, function(y) fun.NA.boundary(y))

# option 2
reslist <- apply(x[,-1], 1, function(y) fun.NA.remove(y))

names(reslist) <- df$patient.id
head(reslist)
#> $P1
#>  [1] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
#> 
#> $P2
#>  [1] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
#> 
#> $P3
#>  [1] 0 1 0 1 0 1 0 1 0 1 0 1 0 1
#> 
#> $P4
#>  [1] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
#> 
#> $P5
#>  [1] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
#> 
#> $P6
#>  [1] 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

但是会给出错误

ValueError:找到样本数量不一致的输入变量:[3156696、2711、3156696]

我现在想如何处理这个问题。非常感谢!

0 个答案:

没有答案
相关问题