可扩展机器学习与相关技术
1. R 中的并行执行
1.1 doParallel 包介绍
doParallel 包是 foreach 包的“并行后端”,它为并行执行 foreach 循环提供了必要的机制。foreach 是一种无需显式循环计数器即可迭代集合元素的方式。要并行执行代码,foreach 包必须与 doParallel 等包结合使用。
1.2 设置核心数
在使用 R 进行并行计算时,可使用 doParallel 库设置 CPU 核心数。以下是设置核心数的具体步骤:
1. 加载 doParallel 库。
2. 检测可用核心数。
3. 创建包含 c - 2
个核心的集群( c
为可用核心数)。
4. 注册集群。
5. 查看正在使用的核心数。
library(doParallel)
# 检测可用核心数
c = detectCores()
c
# 查看当前正在使用的核心数
getDoParWorkers()
# 创建包含 c - 2 个核心的集群
cl <- makeCluster(c - 2)
# 注册集群
registerDoParallel(cl)
# 查看正在使用的核心数
getDoParWorkers()
1.3 问题陈述
使用信用评分数据集构建一个随机森林模型,用于预测客户是否会拖欠银行贷款(二元分类器)。我们将比较串行和并行执行方式下构建模型所需的时间。