始める無料で始める

混同行列を計算する

動画で見たように、混同行列はモデルの出力を調整し、予測のあらゆる結果(真陽性、真陰性、偽陽性、偽陰性)を確認するのにとても便利なツールです。

混同行列を作成する前に、与えられたしきい値で予測確率を「カット」して、確率をクラス予測の因子に変換する必要があります。ifelse()factor() を次のように組み合わせます。

pos_or_neg <- ifelse(probability_prediction > threshold, positive_class, negative_class)
p_class <- factor(pos_or_neg, levels = levels(test_values))

caretconfusionMatrix() は、ベースRの table() に有用な補助統計を多数加えることで拡張した関数です。予測された結果と実際の結果を使って、混同行列(および関連する統計量)を次のように計算できます。

confusionMatrix(p_class, test_values)

この演習はコースの一部です

Rで学ぶ caret を使った Machine Learning

コースを見る

演習の手順

  • ifelse() を使って、p が 0.5 より大きいときは陽性クラス "M"、それ以外は陰性クラス "R" となる文字ベクトル m_or_r を作成します。
  • m_or_r を、test[["Class"]] と同じ水準を持つ因子 p_class に変換します。
  • confusionMatrix() を使い、p_classtest データセットの "Class" 列を渡して混同行列を作成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# If p exceeds threshold of 0.5, M else R: m_or_r


# Convert to factor: p_class


# Create confusion matrix
コードを編集して実行