2017-08-02 4 views
0

現在、ランダムフォレストと一般化されたブーストモデルをベースモデルとして使用して、caretEnsembleパッケージを使用して積み重ねモデルを構築しようとしています。しかし、私はcaretEnsemble機能実行後、次のエラーを受信し続ける:問題のいくつかの研究を行ったGBMとRFエンサムブルキャレット

Error in check_caretList_model_types(list_of_models) : 
Not yet implemented for multiclass problems 

を、私は持っている(モデルが電車()関数を使用して構築されている場合、この機能は最高の作品ということに気づきましたされている)、時にはトレーニングデータのフォーマットに依存します。これは代入の一部なので、データ処理コードを投稿することはありませんが、そのデータへのリンクはありません。LINK

そして、ここで実行しようとしているコードはあります。

training<-read.csv("training.csv") 

control<- trainControl(method="repeatedcv", number=10, repeats=3, 
    savePredictions = TRUE, classProbs = TRUE) 

metric<-"Accuracy" 

set.seed(5937) 

fit1<-caretList(classe~., data=training, trControl=control, metric=metric, 
    methodList = c("rf", "gbm")) 

fit2<-caretEnsemble(fit1) 

あなたは、これはパッケージの技術的な制限であるか、私は互換性のないモデルを結合しようとしていた場合、私が把握助けてもらえますか?これには回避策がありますか、積み上げられたモデルを構築するためのより良い方法はありますか?

多くのおかげで、 カムラン。

UPDATE

ありませんが、これまでに返信するので、私はアップデートを投稿してみましょう。私は、一般化された加算モードを使って、手動で2つのモデルを結合しようとしました。モデルは、ここで見つけることができ、以前のコードと検証セットから同じです - LINK:何らかの理由 混乱マトリックスと統計

Reference 
Prediction 
     A B C D E 
    A 742 55 88 60 46 
    B 304 657 553 543 630 
    C 0 0 0 0 0 
    D 0 0 0 0 0 
    E 0 0 0 0 0 

、私のモデル:

val<-read.csv("validation.csv") 

pred1<- predict(fit1$rf, val) 

pred2<-predict(fit1$gbm, val) 

predDF<- data.frame(pred1, pred2, classe=val$classe) 

fitcomb<-train(classe~., method="gam", data=predDF) 

pred3<- predict(fitcomb, predDF) 

confusionMatrix(pred3, predDF$classe) 

これは私が得た結果はデータの2つのクラスだけが認識されます。

2つのアプローチのいずれかを手助けできますか?また、質問をここに投稿するのは初めてのことです。質問品質を何らかの形で改善できるかどうかを教えてください。

答えて

0

エラーメッセージの状態:

Error in check_caretList_model_types(list_of_models) : 
Not yet implemented for multiclass problems 

そしてこれがまさに問題です。 Github問題#191、マルチクラスモデルのサポートはまだ開いています。この機能は実装されていません。

関連する問題