如何在R中的大型不平衡数据上加快SMOTE处理?

问题描述

我有一个包含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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...