ClassifierMeasurements

ClassifierMeasurements[classifier,testset,prop]

classifiertestset について評価される際に,特性 prop に関連する評価測度を与える.

ClassifierMeasurements[classifier,testset]

任意の特性に適用することができる評価測度レポートを与える.

ClassifierMeasurements[data,]

分類器の代りに分類 data を使う.

ClassifierMeasurements[,{prop1,prop2,}]

特性 prop1prop2等を与える.

詳細とオプション

  • 評価測度は,訓練目的(検定集合)で使われたのではないデータに対する分類器のパフォーマンスを決定するために使われる.
  • 使用可能な評価測度には,分類法(正解率,尤度等),可視化(混同行列,ROC曲線等),特定の例(最悪の分類例等)がある.
  • 分類器は,ClassifierFunction,あるいは"Class"デコーダを持つニューラルネット(NetGraphNetChain等)でよい.
  • 次は,ClassifierMeasurements[data,]の分類 data の取り得る形式である.
  • {class1,class2,}分類器(人間,アルゴリズム等)からの分類
    {dist1,dist2,}分類器で入手したクラス分布
    {<|class1p1,|>,<|class1q1,|>,}分類器で入手した分類確率
  • ClassifierMeasurements[,opts]は,検定集合に適用されるときに分類器がオプション opts を使うように指定する.使用可能なオプションはClassifierFunctionで与えられる.
  • ClassifierMeasurements[classifier,testset]は,以下のようなレポートパネルを表示するClassifierMeasurementsObject[]を返す.
  • ClassifierMeasurementsObject[][prop]を使って特性 prop を入手することができる.繰り返し特性を検索する必要がある場合は,毎回ClassifierMeasurementsを使うよりこの方が効率的である.
  • ClassifierMeasurementsObject[][prop,opts]は,検定集合に適用されるときに分類器がオプション opts を使うように指定する.使用可能なオプションはClassifierFunctionで与えられる.
  • ClassifierMeasurementsには,ClassifierFunction[]のオプションに次を加えたものが使える.
  • Weights Automatic検定集合例と関連した重み
    ComputeUncertainty False尺度をその不確実性とともに与えるかどうか
  • ComputeUncertaintyTrueの設定のとき,数値評価測度値はAround[result,err]として与えられる.err は測定結果 result に関連付けられた(68%信頼区間に相当する)標準誤差を表す.
  • 次はWeightsの可能な設定である.
  • Automatic重み1とすべての検定例を関連付ける
    {w1,w2,}重み wii 番目の検定例を関連付ける
  • 検定例の重みを1から2に変更することは,例を重複することに等しい.
  • 重みは評価測度値とその不確定性に影響する.
  • 次は,検定集合について分類能力に関連した単一の数値を返す特性である.
  • "Accuracy"正しく分類された例の割合
    "Accuracy"nトップ n 正解率
    "AccuracyBaseline"最頻クラスを予測する場合の正解率
    "CohenKappa"コーエン(Cohen)のカッパ係数
    "Error"間違って分類された例の割合
    "GeometricMeanProbability"実クラス確率の幾何平均
    "LogLikelihood"検定集合が与えられた場合のモデルの対数尤度
    "MeanCrossEntropy"検定例についての平均クロスエントロピー
    "MeanDecisionUtility"検定例についての平均効用
    "Perplexity"平均クロスエントロピーの指数
    "RejectionRate"Indeterminateとして分類された例の割合
    "ScottPi"スコット(Scott)のパイ係数
  • Indeterminateと分類された検定例は,"Accuracy""Error""MeanCrossEntropy"のような,検定集合についての検定能力に関連した特性を計測する際には破棄される.
  • 次は,混同行列に関連した特性である.
  • "ConfusionMatrix"クラス j として分類されたクラス i の例の数 cij
    "ConfusionMatrixPlot"混同行列のプロット
    "ConfusionMatrixPlot"{c1,c2,}クラス c1c2等に限定された混同行列プロット
    "ConfusionMatrixPlot"n最低の n のクラスの部分集合についての混同行列プロット
    "ConfusionFunction"混同行列の値を与える関数
    "TopConfusions"最も混同されたクラスのペア
    "TopConfusions"n最も混同されたクラスの n 組のペア
  • 次は,時間に関連した特性である.
  • "EvaluationTime"検定集合の1つの例を分類するのにかかった時間
    "BatchEvaluationTime"バッチの1つの例を分類するための限界時間
  • 次は,各検定集合例に対して1つの値を返す特性である.
  • "DecisionUtilities"各例についての効用関数の値
    "Probabilities"各例についての実クラス分類確率
    "SHAPValues"各例についてのシャープレイ加算特徴の説明
  • "SHAPValues"は,さまざまな特徴を削除し次に合成した結果の予測を比較することで特徴の貢献度を評価する.オプションMissingValueSynthesisを使って欠測値を合成する方法が指定できる.SHAPの説明は,事前のクラスの訓練に関するオッズ比乗数として示される."SHAPValues"n を使ってSHAPの説明の数値推定に使われるサンプル数が制御できる.
  • 次は,確率検量に関連した特性である.
  • "CalibrationCurve"ロジットスケールの確率検量線
    "LinearCalibrationCurve"線形スケールの確率検量線
    "CalibrationData"確率検量線データ
  • 次は,グラフィックスを返す特性である.
  • "AccuracyRejectionPlot"棄却率の関数としての正解率のプロット
    "ICEPlots"個別条件付き期待値(ICE)プロット
    "ProbabilityHistogram"実際のクラス確率のヒストグラム
    "Report"主な測定値をレポートするパネル
    "ROCCurve"各クラスの受信者動作特性曲線
    "SHAPPlots"各クラスのシャープレイ加法機能の説明プロット
  • 次は,検定集合からの例を返す特性である.
  • "Examples"すべての検定例
    "Examples"{i,j}クラス j として分類されたクラス i のすべての例
    "BestClassifiedExamples"実クラス確率が最高の例
    "WorstClassifiedExamples"実クラス確率が最低の例
    "CorrectlyClassifiedExamples"正しく分類された例
    "MisclassifiedExamples"誤って分類された例
    "TruePositiveExamples"各クラスの真陽性検定例
    "FalsePositiveExamples"各クラスの偽陽性検定例
    "TrueNegativeExamples"各クラスの真陰性検定例
    "FalseNegativeExamples"各クラスの偽陰性検定例
    "IndeterminateExamples"Indeterminateとして分類された検定例
    "LeastCertainExamples"分布エントロピーが最高の例
    "MostCertainExamples"分布エントロピーが最低の例
  • 例は inputiclassiの形で与えられる.ここで,classiは検定集合からの実際のクラスである.
  • "WorstClassifiedExamples""MostCertainExamples"のような特性は10例まで出力する.ClassifierMeasurementsObject[][propn]を使って出力数を n 例に指定することができる.
  • 次は,各クラスに対して1つの値を返す特性である.
  • "AreaUnderROCCurve"各クラスのROC曲線の下の面積
    "ClassMeanCrossEntropy"各クラスの平均クロスエントロピー
    "ClassRejectionRate"各クラスの棄却率
    "F1Score"各クラスのF1スコア
    "FalseDiscoveryRate"各クラス偽発見率
    "FalseNegativeRate"各クラスの偽陰性率
    "FalsePositiveRate"各クラスの偽陽性率
    "MatthewsCorrelationCoefficient"各クラスのマシュー相関係数
    "NegativePredictiveValue"各クラスについての陰性的中率
    "Precision"各クラスについての分類精度
    "Recall"各クラスの分類の再現率
    "Specificity"各クラスの特殊性
    "TruePositiveNumber"真陽性例の数
    "FalsePositiveNumber"偽陽性例の数
    "TrueNegativeNumber"真陰性例の数
    "FalseNegativeNumber"偽陰性例の数
  • ClassifierMeasurementsObject[][propclass]を使って指定されたクラスに関連付けられた値だけを返すことができる.
  • ClassifierMeasurementsObject[][prop<|class1w1,class2w2,|>]を使って各クラスの値の重み付き平均を返すことができる.
  • ClassifierMeasurementsObject[][propf]を使って関数 f を返されたクラスの値に適用することができる(例:ClassifierMeasurementsObject[][propMean]).
  • "Precision""Recall"等の特性は可能な各「陽性クラス」に対して1つの値を与える.「陰性クラス」は陽性クラスではないすべてのクラスの和集合である.そのような特性については,ClassifierMeasurementsObject[][propaverage]を使って,average が以下である場合に,可能なすべての陽性クラスの値を平均することができる.
  • "MacroAverage"評価測度の平均を取る
    "WeightedMacroAverage"各評価測度値に関連するクラス頻度で重みを付ける
    "MicroAverage"全クラスの真陽性/真陰性等の例を連結して一意的な評価測度を与える
  • 次は,その他の特性である.
  • "ClassifierFunction"測定されているClassifierFunction[]
    "Properties"使用可能な評価測度特性のリスト

例題

すべて開くすべて閉じる

  (4)

分類器を訓練集合で訓練する:

検定集合を定義する:

分類器の正解率を検定集合で測定する:

混同行列を可視化する:

複数の特性を一度に測定する:

分類器を訓練集合で訓練する:

分類器の評価測度オブジェクトを訓練集合について生成する:

使用可能な評価測度特性のリストを得る:

評価測度オブジェクトから正解率を得る:

正解率を検定集合が有限であるための統計的不確かさとともに得る:

いくつかの評価測度値を得る:

分類された例の正解率を直接測定する:

測定レポートを得る:

分類確率から平均交差エントロピーを測定する:

クラス分布から平均交差エントロピーを測定する:

ニューラルネット分類器を定義する:

ニューラルネットを訓練集合で訓練する:

検定集合で分類器ネットの正解率を測定する:

混同行列を可視化する:

スコープ  (7)

決定行列  (3)

分類された例の真のラベルに対する正解率を測定する:

この測定値の統計的不確かさを得る:

正解率を(最も可能性の高い検定集合,この場合は"B" を予測する)ベースラインと比較する:

同じデータについてエラーを測定する:

エラーと正解率の和が1になることを確認する:

最後の2つの例の重みを大きくして正解率を測定する:

MNISTデータについて訓練集合と検定集合を作成する:

モデルを訓練集合で訓練する:

モデルの検定集合に対する正解率を計算する:

検定集合に対する上位3つのモデルの正解率を計算する(真のクラスが確率が最も高い上位3つの予測に含まれている場合,分類は正しいとみなされる):

分類された例のコーエン(Cohen)のカッパ係数を,それらの真のラベルに対して測定する:

同じデータについてスコット(Scott)の π 係数を測定する:

混同行列と例の抽出  (1)

MNISTデータについて訓練集合と検定集合を作成する:

モデルを訓練集合で訓練する:

この検定集合に対するこの分類器についての分類器測定オブジェクトを作成する:

最悪の分類(正しいクラスに対して最低の確率)となった10の検定例を求める:

これらの正しいクラス確率を計算する:

最良の分類となった検定例を10例求める:

これらの正しいクラス確率を計算する:

混同行列を可視化する:

混同行列を抽出する:

検定で"5"に分類された"3"の例の数を取り出す:

最も頻繁に混同される5つのクラスを求める:

混同行列を互いに最も頻繁に混同される3クラスの集合に制限する:

混同行列を混同されることが最も少ない3つのクラスの集合に制限する:

混同行列を"1","4","9"のクラスに制限する:

"9"と混同された"4"の例を取り出す:

確率的評価測度  (1)

フィッシャー(Fisher)の「アヤメ」のデータ集合をロードする:

訓練集合と検定集合を作成する:

属性からアヤメの種を識別するように分類器を訓練する:

検定集合の対数尤度(正しいクラスの対数確率の総数)を測定する:

平均交差エントロピーを測定する:

平均交差エントロピーは負の対数尤度の平均である:

正しいクラスについての確率の幾何平均を測定する:

幾何平均は平均交差エントロピーと関連がある:

確率キャリブレーション  (1)

MNISTデータについての訓練集合と検定集合を作成する:

確率キャリブレーションが非アクティブにされているランダムフォレスト分類器を訓練する:

ロジットスケールで検定集合の分類器の信頼性図(別名検量線)を可視化する:

線形スケールを使って同じ信頼性図を可視化する:

キャリブレーションがアクティブになっているところで分類器を訓練する:

その信頼性図をロジットとスケールで可視化する:

その信頼性図を線形スケールで可視化する:

バイナリ分類評価測度  (1)

フィッシャーの「アヤメ」のデータ集合をロードする:

訓練集合と検定集合を作る:

アヤメの種を属性から識別するように分類器を訓練する:

可能な各「陽性」クラスについてROC曲線を計算する:

これらの曲線の下の面積を計算する:

可能な各「陽性」クラスのF1スコアを測定する:

玉虫色が「陽性」クラスであればF1スコアを測定する:

すべてのF1スコアの平均を出す:

クラスの事前確率に従って各スコアに重みを付ける:

すべてのクラスの真陽性率/真陰性率等の例を結合することでF1スコアを計算し,一意的な測定値を与える:

オプション  (6)

ClassPriors  (1)

"Satellite"データ集合の訓練集合と検定集合をロードする:

訓練集合について分類器を訓練する:

訓練集合について分類器を訓練する:

分類器がClassPriorsの異なる値を持つ場合の混同集合を可視化する:

まずClassifierMeasurementsObjectを生成して,同じ操作を行う:

IndeterminateThreshold  (1)

"Titanic"データ集合の訓練集合と検定集合をロードする:

訓練集合について分類器を訓練する:

検定集合についての分類器の混同行列を可視化する:

分類器が別のIndeterminateThresholdの値を持つ場合に得られる混同行列を可視化する:

IndeterminateThresholdの異なる値について,検定集合についての分類器の正解率を測る:

正解率対棄却の曲線を可視化する:

TargetDevice  (1)

ニューラルネットワークを使って分類器を訓練する:

TargetDeviceのさまざまな設定について,検定集合に対する分類器の正解率を測る:

UtilityFunction  (1)

"Mushroom"データ集合の訓練集合と検定集合をロードする:

訓練集合の一部について,分類器を訓練する:

検定集合についての分類器の混同行列を可視化する:

分類器が別のUtilityFunctionの値を持つ場合に得られる混同行列を可視化する:

まずClassifierMeasurementsObjectを生成し,同じ操作を行う:

ComputeUncertainty  (1)

映画評の断片を"positive""negative"かに分類する分類器を訓練する:

検定集合を使ってClassifierMeasurements[]オブジェクトを生成する:

正解率の評価測度値を不確実性とともに取得する:

他の特性の評価測度値を不確実性とともに取得する:

Weights  (1)

訓練集合についての分類器を作る:

各検定例が持つ重みを指定して,評価測度オブジェクトを生成する:

正解率を計算する:

評価測度オブジェクトを使うときは,重みもまた変更することができる:

不確実性は重みの影響も受ける:

アプリケーション  (2)

フィッシャーの「アヤメ」のデータ集合について分類器を訓練し,4つの測定された特徴から アヤメの種 (setosa, versicolor, virginica) を予測する:

検定集合についての分類器の正解率を測る:

混同行列を生成し,分類器を使って検定集合の実際と予測上の分類を可視化する:

誤って"virginica"に分類されたクラス"versicolor"の例を抽出する:

混同行列を連想の集合として返す:

MNISTデータ集合からのサンプルについて,分類器を訓練する:

MNIST検定集合についての,分類器のClassifierMeasurementsObjectを生成する:

0と混同された9の例を抽出する:

分類が最低の20例を抽出する:

各クラスのFスコアを計算し,どのクラスについて分類器を向上させるべきかを求める:

正解率が95%より高くなるための,棄却閾値の最小値を求める:

混同行列を可視化し,この棄却閾値でFスコアを計算する:

混乱の最も激しい3クラスを可視化する:

Wolfram Research (2014), ClassifierMeasurements, Wolfram言語関数, https://reference.wolfram.com/language/ref/ClassifierMeasurements.html (2021年に更新).

テキスト

Wolfram Research (2014), ClassifierMeasurements, Wolfram言語関数, https://reference.wolfram.com/language/ref/ClassifierMeasurements.html (2021年に更新).

CMS

Wolfram Language. 2014. "ClassifierMeasurements." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ClassifierMeasurements.html.

APA

Wolfram Language. (2014). ClassifierMeasurements. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ClassifierMeasurements.html

BibTeX

@misc{reference.wolfram_2024_classifiermeasurements, author="Wolfram Research", title="{ClassifierMeasurements}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/ClassifierMeasurements.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_classifiermeasurements, organization={Wolfram Research}, title={ClassifierMeasurements}, year={2021}, url={https://reference.wolfram.com/language/ref/ClassifierMeasurements.html}, note=[Accessed: 22-November-2024 ]}