说明:
spark.randomForest
在 SparkDataFrame 上拟合随机森林回归模型或分类模型。用户可以调用summary
获取拟合随机森林模型的摘要,调用predict
对新数据进行预测,调用write.ml
/read.ml
保存/加载拟合模型。有关详细信息,请参阅 Random Forest Regression 和 Random Forest Classification
用法:
spark.randomForest(data, formula, ...)
## S4 method for signature 'SparkDataFrame,formula'
spark.randomForest(
data,
formula,
type = c("regression", "classification"),
maxDepth = 5,
maxBins = 32,
numTrees = 20,
impurity = NULL,
featureSubsetStrategy = "auto",
seed = NULL,
subsamplingRate = 1,
minInstancesPerNode = 1,
minInfoGain = 0,
checkpointInterval = 10,
maxMemoryInMB = 256,
cacheNodeIds = FALSE,
handleInvalid = c("error", "keep", "skip"),
bootstrap = TRUE
)
## S4 method for signature 'RandomForestRegressionModel'
summary(object)
## S3 method for class 'summary.RandomForestRegressionModel'
print(x, ...)
## S4 method for signature 'RandomForestClassificationModel'
summary(object)
## S3 method for class 'summary.RandomForestClassificationModel'
print(x, ...)
## S4 method for signature 'RandomForestRegressionModel'
predict(object, newData)
## S4 method for signature 'RandomForestClassificationModel'
predict(object, newData)
## S4 method for signature 'RandomForestRegressionModel,character'
write.ml(object, path, overwrite = FALSE)
## S4 method for signature 'RandomForestClassificationModel,character'
write.ml(object, path, overwrite = FALSE)
参数:
data
用于训练的 SparkDataFrame。formula
要拟合的模型的符号说明。目前仅支持少数公式运算符,包括'~'、':'、'+'和'-'。...
传递给该方法的附加参数。type
模型类型,"regression" 或 "classification" 之一,以适合maxDepth
树的最大深度 (>= 0)。maxBins
用于离散连续特征和选择如何在每个节点上分割特征的最大 bin 数。更多的 bin 提供更高的粒度。必须 >= 2 且 >= 任何类别特征中的类别数。numTrees
要训练的树数 (>= 1)。impurity
用于信息增益计算的标准。对于回归,必须是"variance"。对于分类,必须是"entropy"和"gini"之一,默认为"gini"。featureSubsetStrategy
在每个树节点处拆分要考虑的特征数量。支持的选项:"auto"(为任务自动选择:如果 numTrees == 1,设置为 "all." 如果 numTrees > 1(森林),设置为 "sqrt" 用于分类,设置为 "onethird" 用于回归),"all" (使用所有特征),"onethird"(使用 1/3 的特征),"sqrt"(使用 sqrt(特征数量)),"log2"(使用 log2(特征数量)),"n":(当 n 在 (0, 1.0] 范围内时,使用 n * 特征数。当 n 在 (1,特征数) 范围内时,使用 n 个特征。默认为"auto"。seed
用于随机数生成的整数种子。subsamplingRate
用于学习每个决策树的训练数据的分数,在 (0, 1] 范围内。minInstancesPerNode
拆分后每个孩子必须拥有的最小实例数。minInfoGain
在树节点处考虑的拆分的最小信息增益。checkpointInterval
设置检查点间隔 (>= 1) 或禁用检查点 (-1) 的参数。注意:如果未设置检查点目录,此设置将被忽略。maxMemoryInMB
分配给直方图聚合的最大内存(以 MiB 为单位)。cacheNodeIds
如果为 FALSE,算法会将树传递给执行器以将实例与节点匹配。如果为 TRUE,算法将为每个实例缓存节点 ID。缓存可以加快对更深层次树的训练。用户可以通过设置 checkpointInterval 来设置缓存检查点的频率或禁用它。handleInvalid
如何处理分类模型中字符串类型的特征和标签列中的无效数据(看不见的标签或NULL值)。支持的选项:"skip"(过滤掉包含无效数据的行)、"error"(抛出错误)、"keep"(将无效数据放入特殊的附加存储桶中,索引为 numLabels)。默认为"error"。bootstrap
构建树时是否使用引导样本。object
拟合的随机森林回归模型或分类模型。x
summary
返回的随机森林回归模型或分类模型的摘要对象。newData
用于测试的 SparkDataFrame。path
保存模型的目录。overwrite
如果输出路径已经存在,是否覆盖。默认为 FALSE,这意味着如果输出路径存在则抛出异常。
返回:
spark.randomForest
返回一个拟合的随机森林模型。
summary
返回拟合模型的汇总信息,是一个列表。组件列表包括formula
(公式)、numFeatures
(特征数量)、features
(特征列表)、featureImportances
(特征重要性)、maxDepth
(树的最大深度)、numTrees
(树的数量)和treeWeights
(树的权重)。
predict
返回一个 SparkDataFrame,其中包含在名为 "prediction" 的列中标记的预测值。
注意:
spark.randomForest 自 2.1.0 起
摘要(RandomForestRegressionModel)自 2.1.0 起
从 2.1.0 开始的 print.summary.RandomForestRegressionModel
摘要(随机森林分类模型)自 2.1.0 起
从 2.1.0 开始的 print.summary.RandomForestClassificationModel
从 2.1.0 开始预测(RandomForestRegressionModel)
从 2.1.0 开始预测(随机森林分类模型)
write.ml(RandomForestRegressionModel, character) 自 2.1.0
write.ml(RandomForestClassificationModel, character) 自 2.1.0
例子:
# fit a Random Forest Regression Model
df <- createDataFrame(longley)
model <- spark.randomForest(df, Employed ~ ., type = "regression", maxDepth = 5, maxBins = 16)
# get the summary of the model
summary(model)
# make predictions
predictions <- predict(model, df)
# save and load the model
path <- "path/to/model"
write.ml(model, path)
savedModel <- read.ml(path)
summary(savedModel)
# fit a Random Forest Classification Model
t <- as.data.frame(Titanic)
df <- createDataFrame(t)
model <- spark.randomForest(df, Survived ~ Freq + Age, "classification")
相关用法
- R SparkR spark.decisionTree用法及代码示例
- R SparkR spark.powerIterationClustering用法及代码示例
- R SparkR spark.svmLinear用法及代码示例
- R SparkR spark.gaussianMixture用法及代码示例
- R SparkR spark.naiveBayes用法及代码示例
- R SparkR spark.getSparkFiles用法及代码示例
- R SparkR spark.survreg用法及代码示例
- R SparkR spark.lm用法及代码示例
- R SparkR spark.mlp用法及代码示例
- R SparkR spark.fmClassifier用法及代码示例
- R SparkR spark.gbt用法及代码示例
- R SparkR spark.getSparkFilesRootDirectory用法及代码示例
- R SparkR spark.logit用法及代码示例
- R SparkR spark.addFile用法及代码示例
- R SparkR spark.isoreg用法及代码示例
- R SparkR spark.als用法及代码示例
- R SparkR spark.glm用法及代码示例
- R SparkR spark.lapply用法及代码示例
- R SparkR spark.fmRegressor用法及代码示例
- R SparkR spark.kmeans用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 Random Forest Model for Regression and Classification。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。