問題タブ [roc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
72565 参照

r - ROCRパッケージを使用したRのROC曲線

ROCRでROC曲線をプロットする方法を教えてください。私は最初に実行する必要があることを知っています:

その後:

予測とラベルの意味がわかりません。ctree と cforest を使用してモデルを作成しましたが、最終的に両方の ROC 曲線を比較したいと考えています。私の場合、クラス属性は y_n で、ラベルに使用する必要があると思います。しかし、予測はどうですか?私がやっていることのステップは次のとおりです(データセット名= bank_part):

最後の行を実行した後、次のエラーが発生します。

前もって感謝します!

別の例を次に示します。トレーニング データセット (bank_training) とテスト データセット (bank_testing) があり、以下のように randomForest を実行しました。

これで、bankrf.pred はラベル c=("0", "1") を持つ因子オブジェクトになります。それでも、ROC をプロットする方法がわかりません。予測の部分に行き詰まってしまうからです。これが私がすることです

しかし、これはまだ正しくありません。エラー メッセージが表示されるためです。

0 投票する
2 に答える
21774 参照

r - knn モデルの ROC 曲線をプロットする方法

ROCR パッケージを使用していますが、R で knn モデルの ROC 曲線をプロットするにはどうすればよいでしょうか? このパッケージですべてをプロットする方法はありますか?

knnに対するROCRの予測機能の使い方がわかりません。これが私の例です。クラス属性の名前を y に変更した UCI リポジトリの isolet データセットを使用しています。

ここで私の質問は、ROC の予測関数に渡す引数は何かということです。機能していない以下の2つの代替案を試しました:

0 投票する
1 に答える
1143 参照

r - R で pROC パッケージを使用して、特定のしきい値から SP および SN の CI を取得する

このpROCパッケージを使用して、特定の SP または SN 値ではなく、特定のしきい値を入力して SP および SN の信頼区間を取得する方法を知っている人はいますか? ci()対応する SN または SP を引数として使用して、SP および SN 値のみを表示するように見えます。0.8 の SN で SP の CI を求めることはできますが、9.0 のしきい値で SP の CI を求めることはできません。

しきい値の SP/SN 値を見つけて、これらを の引数として使用できることは理解していますが、それは扱いにくいci()ようです。もちろん、これはパッケージ開発者にとっての疑問に終わる可能性があります。

ご協力いただきありがとうございます。

0 投票する
2 に答える
2645 参照

machine-learning - ROC曲線の偽陽性率が1.0で終わらない場合でも大丈夫ですか?

次のROC曲線があります。

ROC曲線

そして、たとえば私の予測にはゼロが含まれているため、1.0で終わらない

予測=[0.9、0.1、0.8、0.0]

ROC曲線の場合、最初に{0.9}、次に{0.9、0.8}などの上位k個の予測を使用します。予測に0より大きい値がなくなった場合、kの増加に伴って予測は変化しなくなります。

したがって、ゼロの真の負の値を取得することはできません。また、偽陽性率はfp /(fp + tn)であるため、曲線は1に達する前に終了します。

さて、予測にも人為的にゼロを使用する必要がありますか、それとも曲線がそのように終わっても大丈夫ですか?ゼロを使​​用するのも間違っていると感じます。それとも私は何かが足りないのですか?

0 投票する
1 に答える
16946 参照

r - randomForestから分類するためのROC曲線

randomForest分類タスクにRプラットフォームのパッケージを使用しています。

ここで、kの範囲は0.1から0.9です。

ランダムフォレスト分類子からの出力があり、それをラベルと比較しました。したがって、9つのカットオフポイントについて、精度、MCC、感度、特異度などのパフォーマンス測定値があります。

ここで、ROC曲線をプロットし、ROC曲線の下の領域を取得して、パフォーマンスがどれほど優れているかを確認します。Rのパッケージのほとんど(ROCR、pROCなど)には予測とラベルが必要ですが、感度(TPR)と特異度(1-FPR)があります。

カットオフ方法がROC曲線を作成するのに正しいか信頼できるかどうか、誰かが私に提案できますか?TPRとFPRを使用してROC曲線と曲線下面積を取得する方法を知っていますか?

また、次のコマンドを使用してランダムフォレストをトレーニングしようとしました。このように、予測は継続的であり、RROCRpROCパッケージに受け入れられました。しかし、これが正しい方法であるかどうかはわかりません。誰かがこの方法について私に提案できますか?

私の問題を読んでくれてありがとう!私はこれのために長い間サーフィンをしてきました。あなたの提案/アドバイスをありがとう。

0 投票する
1 に答える
463 参照

perl - Perl モジュールを使用した ROC 曲線?

ROC曲線をプロットできるPerlモジュールはありますか? R プログラミング言語用のものが存在することは知っていますが、Perl 用は見つかりません。アイデアはありますか?

0 投票する
1 に答える
311 参照

svm - 2 つの特徴セットの分類能力を ROC で比較することはできますか?

SVMとROCについて学んでいます。私が知っているように、人々は通常、ROC (受信者動作特性) 曲線を使用して、SVM (サポート ベクター マシン) の分類能力を示すことができます。機能の 2 つのサブセットを比較するために同じ概念を使用できるかどうか疑問に思っています。

サブセット A とサブセット B という 2 つの特徴サブセットがあるとします。それらは、2 つの異なる特徴抽出方法 A と B によって同じトレーニング データから選択されます。LIBSVM を使用して、これら 2 つの特徴サブセットを使用して同じ SVM をトレーニングするとします。 svmtrain() 関数を使用して、両方の ROC 曲線をプロットします。分類能力を AUC 値で比較できますか? したがって、subsetB よりも subsetA の AUC 値が高い場合、メソッド A がメソッド B よりも優れていると結論付けることができますか? 意味がありますか?

どうもありがとうございました、

0 投票する
2 に答える
24670 参照

matlab - ロック曲線の計算方法は?

5 つの人間の行動を分類する分類器 (ガウス混合モデル) を作成します。観測ごとに、分類器はクラスターに属する事後確率を計算します。

0 から 100 までの値のしきい値でパラメーター化されたシステムのパフォーマンスを評価したいと考えています。すべてのしきい値について、すべての観察について、クラスターの 1 つに属する確率がしきい値よりも大きい場合、分類子の結果を受け入れます。それ以外の場合は破棄します。

すべてのしきい値について、真陽性、真陰性、偽陽性、偽陰性の数を計算します。

感度と特異度の 2 つの関数を次のように計算します。

マトラブで:

ROC曲線を持っています。しかし、結果は私が期待するものではありません。

これは、1 つのアクションのしきい値を変化させる、破棄、エラー、修正、感度、および特異性の関数のプロットです。

これは、しきい値を変化させた、破棄、エラー、修正、感度、および特異性の関数のプロットです。

これは、1 つのアクションの ROC 曲線のプロットです。 これはROC曲線のプロットです

これは、同じアクションの ROC 曲線のステムです。 ここに画像の説明を入力

私は間違っていますが、どこにあるのかわかりません。おそらく、特に分類器の結果がしきい値よりも小さい場合に、FP、FN、TP、TN の計算を間違っているため、破棄されます。破棄がある場合、何をインクリメントする必要がありますか?

0 投票する
1 に答える
5482 参照

matlab - MATLABでのKNN分類-混同行列とROC?

異なる分類器(LDA、SVM、KNN)を使用して2つのクラスを含むデータセットを分類しようとしていますが、それらのパフォーマンスを比較したいと思います。事前確率を変更して、LDAのROC曲線を作成しました。

しかし、KNN分類器に対して同じことをどのように行うことができますか?

ドキュメントを検索して、いくつかの関数を見つけました。

  1. Class = knnclassify(Sample, Training, Group, k)
  2. mdl = ClassificationKNN.fit(X,Y,'NumNeighbors',i,'leaveout','On')

(a)を実行し、leave-one-out交差検定を使用して混同行列を取得できますが、ROCを作成するために事前確率を変更することはできませんか?

これまで(b)を試したことはありませんが、これにより、mdl.Priorを変更できるモデルが作成されます。しかし、混同行列を取得する方法がわかりません。

私が見逃したオプションや、ROCを取得するためにそれらの機能を完全に使用する方法を説明できる人はいますか?

0 投票する
2 に答える
7502 参照

matlab - 対角線より下のポイントで ROC 曲線を修正するには?

曲線下面積 (AUC) を使用して分類器を評価する受信者動作特性 (ROC) 曲線を作成しています (詳細は記事の最後にあります)。残念ながら、曲線上の点はしばしば対角線より下になります。たとえば、次のようなグラフになります (青色の ROC 曲線、灰色のアイデンティティ ライン)。

ROC の修正

3 番目の点 (0.3, 0.2) は、対角線の下になります。AUC を計算するには、このような難しい点を修正したいと考えています。

これを行う標準的な方法は、曲線上の点 (fp, tp) を点 (1-fp, 1-tp) に置き換えることです。これは、分類子の予測を交換することと同じです。たとえば、この例では、厄介な点 A (0.3, 0.2) が点 B (0.7, 0.8) になり、上のリンクの画像で赤で示しています。

これは、この問題を扱う際の私の参考文献の範囲です。問題は、新しいポイントを新しい ROC に追加する (そして悪いポイントを削除する) と、次のように非単調 ROC 曲線になることです (赤が新しい ROC 曲線で、青い点線が古い曲線です)。

新しいROC

そして、ここで私は立ち往生しています。この ROC 曲線を修正するにはどうすればよいですか?

この奇妙な動作を考慮して、何らかの方法で変換されたデータまたはクラスで分類器を再実行する必要がありますか? 関連する論文を調べましたが、間違っていなければ、これとは少し異なる問題に取り組んでいるようです。

いくつかの詳細については、元のしきい値、fp 値、および tp 値 (および各データ ポイントの元の分類子の出力、確率推定値である 0 から 1 までの単なるスカラーである出力) がまだすべて残っています。クラスのメンバーシップの)。perfcurve 関数から始めて、Matlab でこれを行っています。