Rを使用してコードを学習するようになり、C5.0による分類を試みました。しかし、私はいくつかの問題に遭遇し、私は理解していません。私は感謝の援助を求めています。if(!n.cat [i]){:引数の長さがゼロのエラー
:require(C50)
data.resultc50 <- c()
prematrixc50 <- c()
for(i in 3863:3993)
{
needdata$class <- as.factor(needdata$class)
trainc50 <- C5.0(class ~ ., needdata[1:3612,], trials=5, control=C5.0Control(noGlobalPruning = TRUE, CF = 0.25))
predc50 <- predict(trainc50, newdata=testdata[i, -1], trials=5, type="class")
data.resultc50[i-3862] <- sum(predc50==testdata$class[i])/length(predc50)
prematrixc50[i-3862] <- as.character.factor(predc50)
}
belowsのは、私は、それぞれ自分の頭の部分と、上記のコードで使用される2つのオブジェクトneeddata
& testdata
ある:以下は私が誰かから学んだと私は自分のデータを実行するためにそれを使用しようとしたコードがあります
class Volume MA20 MA10 MA120 MA40 MA340 MA24 BIAS10
1 1 2800 8032.00 8190.9 7801.867 7902.325 7367.976 1751 7.96
2 1 2854 8071.40 8290.3 7812.225 7936.550 7373.624 1766 6.27
3 0 2501 8117.45 8389.3 7824.350 7973.250 7379.444 1811 5.49
4 1 2409 8165.40 8488.1 7835.600 8007.900 7385.294 1825 4.02
# the above is "needdata" and actually has 15 variables with 3862 obs.
class Volume MA20 MA10 MA120 MA40 MA340 MA24 BIAS10
1 1 2800 8032.00 8190.9 7801.867 7902.325 7367.976 1751 7.96
2 1 2854 8071.40 8290.3 7812.225 7936.550 7373.624 1766 6.27
3 0 2501 8117.45 8389.3 7824.350 7973.250 7379.444 1811 5.49
4 1 2409 8165.40 8488.1 7835.600 8007.900 7385.294 1825 4.02
# the above is "testdata" and has 15 variables with 4112 obs.
上記のデータには、0
& 1
の値を持つ係数class
が含まれています。 predict.C5.0で
(trainc50、NEWDATA =テストデータ[I、-1]、裁判= 5、...:: '試験は' = 1 <である必要があり、私はそれを実行した後、私は以下の警告を得ました。このオブジェクトのための予測は1件の試験
を使用して を生成し、私が作成したオブジェクトtrainc50
を見しようとしたとき、私は以下に示すように反復を高めるの数が原因の早期停止に1です気づい:
# trainc50
Call:
C5.0.formula(formula = class ~ ., data = needdata[1:3612, ],
trials = 5, control = C5.0Control(noGlobalPruning = TRUE,
CF = 0.25), earlyStopping = FALSE)
Classification Tree
Number of samples: 3612
Number of predictors: 15
Number of boosting iterations: 5 requested; 1 used due to early stopping
Non-standard options: attempt to group attributes, no global pruning
私も試しました引数には、さらに長さがゼロ は次のとおりです:で :警告メッセージO決定木をプロットし、私は以下のようにエラーが発生しました:
plot(trainc50)
エラーの場合における{(n.cat [i]が!)数式には2つの要素があります:最初に使用されたもののみ
C5.0を実行している間に私のコードがあまりにも悪いことを意味しますか?なにが問題ですか?誰かがなぜ私は早期停止に遭遇するのか、そしてエラーと警告メッセージはどういう意味ですか?どうすれば修正できますか?誰かが私を助けることができれば、私はとても感謝しています。
そして、私も何をするか分からないと「1では: which(out == "Decision tree:") "mean ... – Wang