R言語推定異なる分類器の予測誤差

3982 ワード

説明
異なる分類器を比較するために,ipredパケットのerroreset関数を用いて多様な分類アルゴリズムを10折交差検証することにより,集積分類器が単一決定ツリー分類よりも優れているかどうかを実証した.
操作
依然としてtelecom churnのデータセットを入力データソースとして使用して、分類器の誤分率の評価を完了します.baggingモデルの誤分率方法は以下の通りである.
churn.bagging = errorest(churn ~ .,data = trainset,model = bagging)
churn.bagging

Call:
errorest.data.frame(formula = churn ~ ., data = trainset, model = bagging)

     10-fold cross-validation estimator of misclassification error 

Misclassification error:  0.0549 

boostingモデルの誤分率評価方法は以下の通りである.
churn.boosting

Call:
errorest.data.frame(formula = churn ~ ., data = trainset, model = ada)

     10-fold cross-validation estimator of misclassification error 

Misclassification error:  0.0479 

ランダム森林の誤分率を評価する:
churn.randomforest = errorest(churn ~ .,data = trainset,model = randomForest)
churn.randomforest

Call:
errorest.data.frame(formula = churn ~ ., data = trainset, model = randomForest)

     10-fold cross-validation estimator of misclassification error 

Misclassification error:  0.0518 

呼び出しchurn.predictはテストデータセットを分類予測し、単一の決定ツリーの誤分率を評価する.
churn.predict1 = function(object,newdata){predict(object,newdata = newdata,type = "class")}
> churn.tree = errorest(churn ~ .,data = trainset,model = rpart,predict = churn.predict1)
> churn.tree

Call:
errorest.data.frame(formula = churn ~ ., data = trainset, model = rpart, 
    predict = churn.predict1)

     10-fold cross-validation estimator of misclassification error 

Misclassification error:  0.0648 

げんり
このセクションでは、ipredパッケージのerrorest関数を使用して、boosting、bagging、ランダム森林、および単一の決定分類ツリーの4つの分類器の誤分率を評価します.errorest関数は各分類器に対して10回の交差検証を行い,分類モデルの誤分率を計算し,boostingの方法の誤分率が最も低く,次いでランダム森林,baggingの順であり,単一の決定ツリーの性能が最も悪いことが分かった.