Не удалось сбалансировать большой набор данных

Я пробовал различные методы, такие как передискретизация, недостаточная выборка, ROSE и обе (избыточная выборка и недостаточная выборка) на несбалансированном наборе данных, чтобы сбалансировать набор данных. когда я применил все эти методы к небольшому набору данных, эти методы прекрасно работают

library(ROSE)

> table(df4$Price)

     0      1 
100020   1249 
> data.rose <- ROSE(Price~., data=df4, seed=3, N = 200040)$data
>  table(data.rose$Price)

     0      1 
 99960 100080 
# Oversampling
> data.balanced.over <- ovun.sample(Price ~ ., data = df4, method = "over",N = 200040)$data
 table(data.balanced.over$Price)

     0      1 
100020 100020 
> data.balanced.both <- ovun.sample(Price ~ ., data = df4, method = "both",N = 200040)$data
> table(data.balanced.both$Price)

     0      1 
 99903 100137 
> data.balanced.under <- ovun.sample(Price ~ ., data = df4, method = "under",N = 2538)$data
> table(data.balanced.under$Price)

   0    1 
1289 1249 

но я, когда я применил все эти методы для большого набора данных, то я получил ошибку

> table(mydata$Price)

       0        1 
33003944  1150753 
> data.rose <- ROSE(Price~., data=mydata, seed=3)$data
Error in omnibus.balancing(formula, data, subset, na.action, N, p, method = "rose",  : 
  Too few observations.
> data.balanced.over <- ovun.sample(Price ~ ., data = mydata, method = "over",N = 66007888)$data
Error in (function (formula, data, method, subset, na.action, N, p = 0.5,  : 
  Too few observations.
>  data.balanced.under <- ovun.sample(Price ~ ., data = mydata, method = "under",N = 2301506)$data
Error in (function (formula, data, method, subset, na.action, N, p = 0.5,  : 
  Too few observations.

0 ответов

Другие вопросы по тегам