问题描述
我有一个包含112个变量的670,000个观测值的测试集。它正在根据酒店的便利设施,距离等来检查是否应在网站上显示酒店的特色。二进制性质和庞大的不平衡数据集驱使我检查SMOTE,但是其运行时间非常长。这是代码的一部分,我尝试使用不同的大/小额金额和集群金额。有没有办法并行运行此过程?由于当前运行时间超过24小时...:
#Determine perc.Over and perc.Under Amounts
COMMON_NO = X_train_xg %>%
dplyr::select(.,FeaturedHotel) %>%
dplyr::filter(.,FeaturedHotel == 0) %>%
dplyr::count(FeaturedHotel)
RARE_NO = X_train_xg %>%
dplyr::select(.,FeaturedHotel == 1) %>%
dplyr::count(FeaturedHotel)
Over = ( (0.6 * COMMON_NO$n) - RARE_NO$n ) / RARE_NO$n
Under = (0.4 * COMMON_NO$n) / (RARE_NO$n * Over)
Over_Perc = round(Over,1) * 100
Under_Perc = round(Under,1) * 100
#SMOTEd
start.time <- Sys.time()
dat_train_smote <- SMOTE(FeaturedHotel ~ .,data = as.data.frame(X_train_xg),k = 2,perc.over = Over_Perc,perc.under = Under_Perc
)
end.time <- Sys.time()
total.time = end.time - start.time
total.time
该过程在具有Intel®Xeon CPU 2.30 2处理器和256 GB RAM的64位Windows10计算机上运行。我所看到的大多数是10-30%的RAM,也许是2%的CPU(如果我没看错,Windows R只能在1个进程中使用30%的内存?)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)