2011-12-07 9 views
1

rfcv機能をrandomForestパッケージで使用しようとしています。次のようなエラーメッセージが表示されます。R rfcvでデータを分割できません

> rfcv1 <- rfcv(x[1:18750,], testClass[1:18750], cv.fold=2) 
Error in cut.default(trainy, c(-Inf, quantile(trainy, 1:4/5), Inf)) : 
    'breaks' are not unique 
> nrow(unique(x[1:18750,])) 
[1] 18719 
> length(unique(testClass[1:18750])) ## just 0's and 1's 
[1] 2 

> head(x) 
     rfPred prediction 
3 0.34776664 0.30138045 
5 0.22345507 0.11159273 
7 0.03478699 0.02156816 
17 0.01008994 0.01071626 
24 0.01738253 0.01546157 
25 0.01143016 0.01278491 

> range(x) 
[1] 0.003907361 0.966005867 

何も表示されません。私はユニークな値が5で割り切れるようにデータを縮小しようとしましたが、同じメッセージを受け取ります。私も様々なcv.fold=値を有効にしてみました。

答えて

1

私はちょうどここに推測しているが、rfcvのコードでは、我々は以下を参照してください

if (classRF) { 
    f <- trainy 
} 
else { 
    f <- cut(trainy, c(-Inf, quantile(trainy, 1:4/5), Inf)) 
} 

あなたが分類をやっている場合、それはちょうどあなたのtrainy引数を使用し、それ以外の場合は、変数をカットしようとします。だから私の推測では、の整数のベクトルを持っていて、それを係数に変換する必要があります。

+0

それは、それの周りにas.factor()を投げただけでした。どうもありがとうございました。 – screechOwl

関連する問題