2017-06-27 16 views
1

私はこの混乱行列アプリケーションに苦しんでいます:あなたは、コードを実行した後に結果を見ることができるの下には基本的に混乱行列R

lvs <- c("normal", "abnormal") 
truth <- factor(rep(lvs, times = c(86, 258)), 
levels = rev(lvs)) 
pred <- factor(
c(
rep(lvs, times = c(54, 32)), 
rep(lvs, times = c(27, 231))), 
levels = rev(lvs)) 
xtab <- table(pred, truth) 

は、私は、行番号2、6および7と混乱しています。しかし、私はまだ括弧に入れなければならないものは混乱しています。もちろん、私は値が単なる例であることを知っていますが、チュートリアルではこれらの値の意味を説明しませんでした。

https://artax.karlin.mff.cuni.cz/r-help/library/caret/html/confusionMatrix.html

truth 
pred abnormal normal 
abnormal 231  32 
normal  27  54 

あなたの助けをありがとう!

答えて

1

私はあなたがconfusionMatrixよりもデータセットを作成する方法についてもっと混乱していると思います。だから私はこれらの行をステップバイステップで説明しようとします。

ここでは、後でデータ生成に使用するレベル名を作成するだけです。

lvs <- c("normal", "abnormal") 

今、彼は真ラベルテストセットのとして使用するベクトルを生成する、彼は関数の引数に特定の回数を設定し、各レベルのために、repとレベル名を複製します。その後、ベクトルをfactorに変換し、レベル名の逆順にレベルを割り当てます。逆の順序は、tableがデータを出力するように機能する順序を整理することです。ここで

truth <- factor(rep(lvs, times = c(86, 258)),levels = rev(lvs)) 

彼はただデータをメッシーするとの予測から応答をシミュレートするために、2つのrepの機能を結合することによって、それは、上記と同じプロセスです。最後に

pred <- factor(c(rep(lvs, times = c(54, 32)), 
        rep(lvs, times = c(27, 231))), 
        levels = rev(lvs)) 

、あなたは混同行列を作成するために、table機能を使用しており、このテーブルで、あなたは全体の精度、感性、特異性など多くの指標を分析することができます。これらの指標は、すでにcaret::confusionMatrixで計算されています。

xtab <- table(pred, truth) 
caret::confusionMatrix(pred, truth) 

陽性クラスとして割り当てクラスは、ファクターインスタンス内レベルのベクトルの最初の名前です。