由买买提看人间百态

topics

全部话题 - 话题: rpart
1 (共1页)
jl
发帖数: 398
1
有什么R 的函数 可以求 MSE of a regression tree.
rpart, or tree ?
多谢!
a**j
发帖数: 60
2

Using R:
#dendogram for unsplitted efron2004 data set
install.packages("care")
library("care")
install.packages("rpart")
library("rpart")
install.packages("partykit")
library("partykit")
data(efron2004)
attach(efron2004)
efron2004
efron2004_rpart<-rpart(y~x[,1]+x[,2]+x[,3]+x[,4]+x[,5]+x[,6]+x[,7]+x[,8]+x[,
9]+x[,10], data=efron2004, control=rpart.control(numsplit=10))
plot(as.party(efron2004_rpart),main = "Dendogram of Y~ Xis for Efron data
sets", font.main = 4)
#dendograms for splitted efron20... 阅读全帖
s**********y
发帖数: 38
3
来自主题: Statistics版 - WHAT IS CART?
Classification Tree example
Let's use the dataframe kyphosis to predict a type of deformation (kyphosis)
after surgery, from age in months (Age), number of vertebrae involved (
Number), and the highest vertebrae operated on (Start). # Classification
Tree with rpart
library(rpart)
# grow tree
fit <- rpart(Kyphosis ~ Age + Number + Start,
method="class", data=kyphosis)
上面是我从http://www.statmethods.net/advstats/cart.html摘录的code.How to get dataframe from R? 下面是我的程序,但没有任何结果出来, R 也没有ERROR
A=read.del... 阅读全帖
Z*******n
发帖数: 694
4
来自主题: Statistics版 - 求教一个模型/预测问题
I implemented my own random forecast -- I re-sample from the rows of the
training set (with replacement), run the rpart() on the re-sampled set, and
obtain the predicted probabilities on the validation set. I repeat 100 times
. I then take the mean of the 100 probabilities for each row in the
validation set as the final prediction.
Again, the result is only slightly better than the simple rpart() (i.e. a
single run of rpart), not nearly as good as the performance on the training
set.
t******k
发帖数: 5617
5
来自主题: Statistics版 - 求教R中做CART tree 报错
用dataset中除X,A,B之外的所有变量构建CART tree预测X:
tree=rpart(X~. -A -B, data=dataset)
报错:
Error in rpart(X ~ . - A - B, data = dataset) :
NAs are not allowed in subscripted assignments
但是A和B变量里没有发现NA。
如果先运行
dataset$A=NULL
dataset$B=NULL
然后再运行
tree=rpart(X~. , data=dataset)
就不报错了。
这个是什么情况?
S******y
发帖数: 1123
6
来自主题: Statistics版 - Decision Tree in Python or C++
Have anybody used Decision Tree in Python or C++? (or written their own
decision tree implementation in Python or C++)? My goal is to run decision
tree on 8 million obs as training set and score 7 million in test set.
I am testing 'rpart' package on a 64-bit-Linux + 64-bit-R environment. But
it seems that rpart is either not stable or running out of memory very
quickly. (Is it because R is passing everything as copy instead of as object
reference?)
(PS. I would love to use SAS EM. but no licen
n*****5
发帖数: 61
7
来自主题: Statistics版 - R classification tree model 请教
I used rpart. The dependent variable is categorical,and the predictors
includes both categorical and continuous variables.
Here is the model I used:
y<-factor(m$Y)
b<-factor(m$B)
test<-rpart(y~a+b+c,method="class", data=m)
But it always shows "Error in yval[, 1] : incorrect number of dimensions".
Any suggestion would be greatly appreciated!
n*****5
发帖数: 61
8
来自主题: Statistics版 - R classification tree model 请教
I checked the factor variables, and didn't see anything wrong. Is it because
of the control parameters?
library(rpart)
test<-read.csv("H:\CBECS\r test\test.CSV",header=TRUE,sep=",")
names(test)
dim(test)
test$frame2<-factor(test$FRAME)
test$use<-factor(test$FRMACTVC)
names(test)
summary(test$frame2)
print(test$respond)
my.control<-c(minsplit=5,cp=0.001,maxcompete=1,maxsurrogate=1,
usesurrogate=2,surrogatestyle=1)
test.rp <- rpart(respond~ frame2+region+size_scf,data=test,
method="class",control=
f*******n
发帖数: 2665
9
来自主题: Statistics版 - 问一个关于R 的问题
多谢!!!下面是我写的function, output 是一个list,包含两项,一个是AUC,另
一个是pred, 是prediction()的结果。 function和output 都没有问题。可是我需要
用plot(performance(pred,...)),而pred是list,类型不符,这个问题如何解决?请
赐教!
modelscore<- function(model) {
pr <- predict(rpart, newdata=newdata[ , c(input, target)])[,2]
# ignore missing target values.
no.miss <- na.omit(newdata[ , c(input, target)]$goodbad)
miss.list <- attr(no.miss, "na.action")
attributes(no.miss) <- NULL
if (length(miss.list)) {
pred <- prediction(pr[-miss.list], no.miss)
} else ... 阅读全帖
f*******n
发帖数: 2665
10
来自主题: Statistics版 - 问一个关于R 的问题
这是程序和错误信息,多谢!
> modelscore<- function(model, newdata) {
+ pr <- predict(rpart, newdata=newdata[ , c(input, target)])[,2]
+ # ignore missing target values.
+ no.miss <- na.omit(newdata[ , c(input, target)]$goodbad)
+ miss.list <- attr(no.miss, "na.action")
+ attributes(no.miss) <- NULL
+ if (length(miss.list)) {
+ pred <- prediction(pr[-miss.list], no.miss)
+ } else {
+ pred <- prediction(pr, no.miss)
+ }
+
+ auc<-performance(pred,'auc')@y.values[[1]]
+
+ newlist<-list(pred,auc)
+ return (newlist... 阅读全帖
Z*******n
发帖数: 694
11
来自主题: Statistics版 - 求教一个模型/预测问题
我用的模型是classification tree (我用R里面的rpart() function).
我的理解是,rpart() 内部已经用了cross validation来选择变量。
另外一个问题是,cross validation 还是randomly form the folds (either 5-fold
or 10-fold), 而不是根据时间次序来划分the cross validation folds。 我已经
知道,如果随机划分train/test datasets, 我的模型performance还是挺不错的。问题
出在:the "signal" gets lost over time (over the month boundaries).
不知您有什么见解?
t******k
发帖数: 5617
12
来自主题: Statistics版 - 求教R中做CART tree 报错
主要想请教一下rpart(X~. -A -B, data=dataset)和先把A,B砍掉再运行rpart(X~. ,
data=dataset)有什么区别,为什么一个报错一个不报错
p*****g
发帖数: 172
13
噢,我觉得一开始别光埋头干活,拿出时间来和人接触,看看大家都喜欢做一些什
么,如果是在大公司的话,尽快搞清楚公司的组织架构,有哪些人会是你的counte
rpart,这些人怎么样,哪些人或者哪些senior是比较key的,哪些senior或者count
erpart不太受别人待见。
看看公司的culture是怎么样。当然学东西也要快,(不过这个咱们中国人都没啥问
题吧),有几次关键时刻可以让老板觉得out of expection,老板可能就对你另眼
相看了。。。
唉先酱子吧。
N*D
发帖数: 3641
14
来自主题: Michigan版 - 真正的希望
rpart小同学真不错,赞一个
m******r
发帖数: 1033
15
其实还是老问题,如何处理categorical variable, 以前以为我学明白了,最近又有些
迷惑(尤其最近学R),所以上来问问。
比如美国54个州,某产品在个州均有销售。那么建模的时候,应该处理state这个变量
? 最简单的办法当然是根据经验(或者用WOE(weight_of_evidence))把一些州合在一起
。 比如纽约新泽西,弗吉尼亚DC, 或者中部几个州,密苏里,iowa, arkansas, 不过
这种方法完全依靠经验,不科学。
one_hot_encoding(就是dummy variable)我看也不科学。 54个州,不管你用one_hot
_encoding生成54个变量, 还是用哑变量生成53个变量, 软件计算的时候, 选变量还
是从54个州里面选一个州。 一个粗糙的办法,我看应该是试验所有可能分组. 比如:
54个州选一个州
54个州选两个州
...
54个州选27个州
这样一来,共有51+1275+20825...+2.9592E+14 = 1.60345E15种组合。
当然, 这是个天文数字。
一个折中方法,就是凭经验,把54个州合并成10个大州,... 阅读全帖
S******y
发帖数: 1123
16
Is it better than rpart, mclust, and other classification algorithms?
Thanks.
jl
发帖数: 398
17
Re ask
h***i
发帖数: 3844
18
rpart 也挺好用的
S******y
发帖数: 1123
19
Do you have to come up with cutting point also for KNN, Neural Net,
RandomForest and rpart prediction?
Isn't it true that if you treat binary response as factor, you can get
predicted 0,1 without making up cutting point?
Thanks.
S******y
发帖数: 1123
20
it is every easy to do it in R.
1) export your data to .csv format
2) use read.csv to read into R
3) use rpart or tree package in R
S******y
发帖数: 1123
21
download R. you can use 'tree' or 'rpart' package.
But the tree plotted in R may not be nice-looking.
d*******o
发帖数: 493
22
来自主题: Statistics版 - WHAT IS CART?
R的rpart 比较经典了,大家都用它。
SAS的Proc Arboretum太贵了,一般人用不起。
f***a
发帖数: 329
23
来自主题: Statistics版 - R classification tree model 请教
If raw dataset is "m",
y <- factor(m$Y)
b <- factor(m$B)
dat <- data.frame(m[, !(names(dat) %in% c("B","Y"))],B=b,Y=y)
dat.rp <- rpart(Y~.,dat,method="class",cp=0.001)
This should work, at least for me.
Please check if you made mistake when transforming "m$Y" "m$B" into
factor. Factor is the most naughty data type in R.

dimensions".
h**t
发帖数: 1678
24
来自主题: Statistics版 - R 里 encoding 提问;包子答谢!
试了最简单linear model lm(): 发现如果用日语数据和用英文数据得出的结果不一样
;两个分别在ja ,en的locale下执行。Intercept,coefficient 都有差距。用rpart()
差距就更大。有人知道为什莫吗?包子答谢!
h**t
发帖数: 1678
25
来自主题: Statistics版 - R 里 encoding 提问;包子答谢!
多谢回复!
所有的variable 本身都是numeric 只有header 或说是column name是日文字母。。。
在执行的时候formula: ~.之前的那个要写成日语/英文,别的无差。。。
检查rpart给出的statistics,日语的话, 91 observation;英语的107 observation ,
(共120个数据行)。。。英语的这个应该是对的;不知道怎莫回事。。。
这个具体怎莫做?
h**t
发帖数: 1678
26
来自主题: Statistics版 - R 里 encoding 提问;包子答谢!
问题找到了。 数据里有一个column是日语字,在计算的时候虽然没有用到,但是它使
read.csv()的读进的结果不一样。。。如果删除这一列lm(), rpart()都的结果都和英
语符合。问题是要保留这一列的话怎莫办?
d*******o
发帖数: 493
27
"统计是计算机最容易实现的部分". I don't think so.
Please find R's counterparts in Java:
rpart for decision tree;
randomForest for random forests;
nnet neural network;
e1071 or kernlab for support vector machines;
e1071 for Naive Bayes;
earth for multivariate adaptive regression splines;
RWeka for boosting
z**********i
发帖数: 88
28
来自主题: Statistics版 - roc curve in R
My boss asked me to get the roc curve in r, I never used R before, so all is
new. All I remember is that he mentioned rpart. I know is SAS I need to
perform logistic regression outcome y(normal=0, abnormal=1) on x(a
continuous variable).Then get the roc curve. But have no idea what to do in
R. Anybody can help? Please and thanks!
data is like this:
y x
1 1
0 2
0 3
0 4
1 5
1 8
0 6
N****n
发帖数: 1208
29
来自主题: Statistics版 - 哪位用R做过CART MODEL
谢谢老兄~~~
大概是这样的
Tree = rpart( response ~ explanatory, method="class")
pred=predict(Tree, newdata=data.frame(explanatory), type="prob")
期中explanatory = [x1 x2 ..... x13] 树模型是用700多个OBS FIT的,想用60多个
TEST DATA 来TEST,
没有ERROR,但WARNING给的是:TEST里有60个,而变量有700个。输出的结果也是700,
但我想要20个PREDICTED VALUE 。。。。。
j******4
发帖数: 6090
30
来自主题: Statistics版 - 哪位用R做过CART MODEL
我也只用过一次cart而已,说的不对不要见笑哈:
你的Tree = ()语句里面没有定义 train data吧?
试试改成这个形式:
Tree<-rpart(response~., method="class", data=explanatory,
parms=list(split="gini"))
pred<-predict(Tree, type="class", test.data)
你的test.data里面不应该含有response这个变量,如果test.data是个matrix的话,应
该去
掉里面response的这一列。
不知道你能看明白不,试试然后继续讨论吧~
N****n
发帖数: 1208
31
来自主题: Statistics版 - 哪位用R做过CART MODEL
Yeah,that's exactly what I'm doing now.
Can you specify how we can predict the 10-th fold output with 9 folds of
data as training? It means use the 10th as the test data. Prediction
function in rpart package never works ......
Going Crazy !
N****n
发帖数: 1208
32
来自主题: Statistics版 - classification 问题 求教!!
我也菜鸟一个。
你试试用R的RPART PACKAGE,FIT一个分类树模型,然后计算错误率。如果太高了,做
一个10-FOLD CROSSVALIDATION。 或者把树给PRUNE了。
还可以用RESAMPLE的方法把POPULATION换了,再FIT。
说得不对请指正。
A*******s
发帖数: 3942
33
来自主题: Statistics版 - [R] ada & rpart packages
版上那位牛人对ada package比较熟悉的?
我最近遇到一个内存管理的问题。当我用ada训练完一个模型之后,返回的ada object
载入内存就已经有接近3 gb了,当我试图用predict()去做scoring的时候无一例外内存
不足。我觉得ada object里面应该不是所有的都和predict()有关吧,能不能只读入有
用的一部分用来scoring呢?
有没有牛人对ada object和predict函数比较熟悉的呢?有没有别的内存解决方法?
先谢了。有包子。
d*******o
发帖数: 493
34
来自主题: Statistics版 - [R] ada & rpart packages
加个内存看看? 精算兄是做树,ada的大牛啊,有空分享下经验好了。
l*********s
发帖数: 5409
35
来自主题: Statistics版 - [R] ada & rpart packages
does SAS have the functionality?
A*******s
发帖数: 3942
36
来自主题: Statistics版 - [R] ada & rpart packages
乱说...我不大懂boosting的...
刚下了个8g内存的单,以前有deal的时候觉得没必要买,这回亏大了...
A*******s
发帖数: 3942
37
来自主题: Statistics版 - [R] ada & rpart packages
没有EM的license, SAS太贵了...
D******n
发帖数: 2836
38
来自主题: Statistics版 - Size of R object for models is so big
為啥在R裏面的model object都那麼大? 譬如lm(),glm(),rpart()等等的object,是不
是因為把modeling的dataframe也帶上了? 真煩人啊。有沒有辦法保存的這些objects
的時候不把modeling data帶上?
承接上面討論R代替SAS,下面我就列出一些R煩人的地方。
1)做一件事很多packages,不統一。各有個各好,可是都不是很好。同時也造成
documentation慘不忍睹。
2) 作為一個高級語言,沒有良好的 pass by reference 機制。
3)很難debug。
4)沒有很好的報表工具。
5)處理大數據還是個問號。
D******n
发帖数: 2836
39
来自主题: Statistics版 - Size of R object for models is so big
我也這樣想的。經過逐個篩選, 貌似對於rpart的可以這樣
attr(rpart_object$terms,'.Environment')<-NULL
a**j
发帖数: 60
40
来自主题: Statistics版 - Clustering algorithm for categorical data
rpart,
partykit
c***z
发帖数: 6348
41
来自主题: Statistics版 - conditional tree questions??
maybe you can email the authors of the package
if I understood it right, the party package splits over the response
variable, while cart algorithm (e.g. rpart) splits over the regressors, this
might be related to your problem...
or, if you trust me, you can email your data and problem to me
d*****y
发帖数: 26
42
用R做CART one tree regression, 10 fold cross validation的结果包括xerror和
xstd. 用xpred.rpart 输出cross validation的具体数值,然后用以下公式计算xerror
,得到的结果和R直接输出的不一样。是我公式用错了吗?正确的公式是什么呢?xstd
又是怎么算的,网上都找不到。多谢!
p****0
发帖数: 1786
43
来自主题: Statistics版 - R有package能做id3 decision tree么?
rpart貌似不是based on id3
难不成得自己写?
c*****l
发帖数: 1493
44
来自主题: Statistics版 - R有package能做id3 decision tree么?
rpart给了这个选择吧
p****0
发帖数: 1786
45
来自主题: Statistics版 - R有package能做id3 decision tree么?
此处有人问,回答说不是 id3或c4.5
http://r.789695.n4.nabble.com/rpart-ID3-or-C4-5-td920273.html
不过此贴比较老,不知道有没有更新。但我没看到哪里能选择。
c*****1
发帖数: 115
46
来自主题: Statistics版 - 问一个关于R 的问题
楼主,我觉得你FUNCTION里问题很多,比如说rpart并不是定义的argument,要改成
model;再有,c(input, target)是不是要写成c(“input”, “target”);goodbad从
何而来;等等。
我建议你先不要用FUNCTION,试着将程序跑顺了再用。
如果你想知道predict给出哪些结果,用str(),如果有需要可以强制用list()改成list
格式。
Z*******n
发帖数: 694
47
来自主题: Statistics版 - 求教一个模型/预测问题
结果出来了!
按照您的意思,我加了一个predictor: Month as a categorical variable.
I re-ran my model scripts.
The rpart() model picks up this new variable -- good news.
But, the result on the 2-month validation set is still the same --
disappointing.
So, either we need to do more than just adding month as a categorical
variable, or ...
p****0
发帖数: 1786
48
【 以下文字转载自 Statistics 讨论区 】
发信人: pn2010 (烟花易冷), 信区: Statistics
标 题: R有package能做id3 decision tree么?
发信站: BBS 未名空间站 (Mon Feb 10 23:49:57 2014, 美东)
rpart貌似不是based on id3
难不成得自己写?
t*****e
发帖数: 364
49
这个自己写一下应该不难吧:
1. boostrap 100-200 datasets from your training set
2. For each of the bootstrapped data, randomly select some features from
those features that are NOT in the important feature list (the number
selected could be a tuning parameter, usually random forest recommend p/3
for regression tree and sqrt(p) for classification tree).
3. Combine features obtained in step2 with the important several features
4. fit a decision tree using rpart (without pruning) and predict your test
set (eithe... 阅读全帖
t*****e
发帖数: 364
50
sorry I mean using the package tree, rpart seems to be only for regression
tree
below is some sample code, 写的太仓促难免有bug, 不过你可以大概看一下logic
require(tree)
A_train = matrix(rnorm(20000),nc=20)
Label = rnorm(nrow(A_train))
df_train = data.frame(A_train,Label)
A_test = matrix(rnorm(20000),nc=20)
Label_test = rnorm(nrow(A_test))
df_test = data.frame(A_test,Label)
Prob_all = NULL
for (k in 1:100) {
index = sample(1:length(Label),length(Label),replace = T)
indF = sample(NonSelected,floor(length(NonSele... 阅读全帖
1 (共1页)