当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R rpart 递归分区和回归树


R语言 rpart 位于 rpart 包(package)。

说明

拟合rpart模型

用法

rpart(formula, data, weights, subset, na.action = na.rpart, method,
      model = FALSE, x = FALSE, y = TRUE, parms, control, cost, ...)

参数

formula

a formula ,有响应但没有交互项。如果这是一个 DataFrame ,则将其视为模型框(参见model.frame).

data

一个可选 DataFrame ,用于解释公式中命名的变量。

weights

可选 shell 重量。

subset

可选表达式表示仅应在拟合中使用数据行的子集。

na.action

默认操作会删除所有缺少 y 的观测值,但保留缺少一个或多个预测变量的观测值。

method

"anova""poisson""class""exp" 之一。如果 method 丢失,则例程会尝试进行智能猜测。如果y是生存对象,则假定method = "exp",如果y有2列,则假定method = "poisson",如果y是一个因子,则假定method = "class",否则假定method = "anova" 。最明智的做法是直接指定该方法,特别是将来可能会向该函数添加更多标准。

或者,method可以是名为的函数列表init,spliteval。文件中给出了示例‘测试/usersplits.R”在来源中,以及在小插图“用户编写的分割函数”中。

model

如果符合逻辑:在结果中保留模型框架的副本?如果 model 的输入值是模型框架(可能来自之前对 rpart 函数的调用),则使用此框架而不是构造新数据。

x

在结果中保留 x 矩阵的副本。

y

在结果中保留因变量的副本。如果丢失并且提供了model,则默认为FALSE

parms

分割函数的可选参数。
方差分析没有参数。
泊松分裂有一个参数,即速率先验分布的变异系数。默认值为 1。
指数分裂具有与泊松相同的参数。
对于分类分割,列表可以包含以下任意项: 先验概率向量(分量prior),损失矩阵(分量loss)或分裂索引(分量split)。先验必须为正且总和为 1。损失矩阵的对角线上必须为零,非对角线元素必须为正。分裂索引可以是gini或者information。默认先验与数据计数成正比,损失默认为 1,分割默认为gini.

control

控制 rpart 算法细节的选项列表。请参阅rpart.control

cost

非负成本向量,模型中的每个变量都有一个非负成本向量。所有变量默认为 1。这些是考虑分割时要应用的缩放比例,因此变量分割的改进除以其成本来决定选择哪个分割。

...

rpart.control 的参数也可以在 rpart 的调用中指定。它们根据有效参数列表进行检查。

细节

这与treeS 中的函数主要在于其对代理变量的处理。在大多数细节上它遵循布雷曼等阿尔(1984)相当接近。Rtree提供了重新实现tree.

rpart 的对象。请参阅rpart.object

例子

fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
              parms = list(prior = c(.65,.35), split = "information"))
fit3 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
              control = rpart.control(cp = 0.05))
par(mfrow = c(1,2), xpd = NA) # otherwise on some devices the text is clipped
plot(fit)
text(fit, use.n = TRUE)
plot(fit2)
text(fit2, use.n = TRUE)

参考

Breiman L., Friedman J. H., Olshen R. A., and Stone, C. J. (1984) Classification and Regression Trees. Wadsworth.

也可以看看

rpart.control , rpart.object , summary.rpart , print.rpart

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Recursive Partitioning and Regression Trees。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。