Не удалось сбалансировать большой набор данных
Я пробовал различные методы, такие как передискретизация, недостаточная выборка, 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.