タグ付けされた質問 「precision-recall」

P&Rは、取得したインスタンスのセットの関連性を測定する方法です。精度は、取得されたすべてのインスタンスのうちの正しいインスタンスの割合です。関連性は、取得された実際のインスタンスの割合です。P&Rの調和平均はF1スコアです。P&Rは、データマイニングで分類子を評価するために使用されます。

1
精度/再現率/ F1に基づく有意性検定
精度/再現/ F1スコアのみに基づいて有意性検定を行うことは可能ですか? たとえば、P / R / F1のみが報告されている論文(同じデータセットなど)で2つのシステムに遭遇した場合、統計的有意性検定を実行できますか?はいの場合、それはどのように行われますか?

1
相互検証を使用する場合の精度と再現率の平均化
2クラスのラベル付きデータに対して複数の分類子を使用して分類を実行し、5分割交差検証を使用しました。フォールドごとに、tp、tn、fp、およびfnを計算しました。次に、各テストの精度、精度、再現率、Fスコアを計算しました。私の質問は、結果を平均化したいとき、精度の平均を取ったが、精度、再現率、Fスコアも平均化できるか?それとも数学的に間違っているのでしょうか?PS各フォールドで使用されるデータセットは、クラスあたりのインスタンス数の点でバランスが取れています。 ありがとう。

3
「良い」分類子は私の精密再現率曲線を破壊しました。どうした?
私は不均衡なデータを処理しています。そこでは、すべてのclass = 1に対して約40のclass = 0ケースがあります。個々の機能を使用してクラスを合理的に区別することができ、6つの機能でナイーブベイズとSVM分類器をトレーニングし、データのバランスをとることで、より良い識別が得られました(以下のROC曲線)。 それは結構です、そして私はうまくやっていると思いました。ただし、この特定の問題の慣例は、通常50%から90%の間の精度レベルでヒットを予測することです。例:「90%の精度でいくつかのヒットを検出しました。」これを試したところ、分類子から得られる最大精度は約25%でした(黒い線、下のPR曲線)。 PR曲線は不均衡に敏感でROC曲線はそうではないので、これをクラスの不均衡問題として理解できました。ただし、不均衡は個々の機能に影響を与えていないようです。個々の機能(青とシアン)を使用すると、かなり高い精度を得ることができます。 何が起こっているのかわかりません。結局のところ、データが非常に不均衡であるため、PRスペースですべてがうまく機能していなければ、それを理解できました。分類子がROC と PRの領域で見た目が悪い場合にも、それを理解できました。しかし、ROCによって判断されると分類子をより良くするために何が起こっているのですか? 編集:TPR /リコールの低い領域(TPRが0から0.35の間)では、個々の機能がROC曲線とPR曲線の両方の分類子を常に上回っていることに気付きました。多分私の混乱は、ROC曲線が高いTPR領域(分類器がうまく機能している場合)を「強調」し、PR曲線が低いTPR(分類器が悪い場合)を強調しているためです。 編集2:バランスの取れていないデータ、つまり生データと同じ不均衡でのトレーニングにより、PR曲線が復活しました(以下を参照)。私の問題は分類子の不適切なトレーニングだったと思いますが、何が起こったのか完全には理解できません。

5
なぜfベータスコアはそのようにベータを定義するのですか?
これはFベータスコアです: Fβ= (1 + β2)⋅ P R E 、C 、I S I O N ⋅ R E C A L L(β2⋅ P R E 、C 、I S I O N)+ R E C A L LFβ=(1+β2)⋅precision⋅recall(β2⋅precision)+recallF_\beta = (1 + \beta^2) \cdot \frac{\mathrm{precision} \cdot \mathrm{recall}}{(\beta^2 \cdot \mathrm{precision}) + \mathrm{recall}} ウィキペディアの記事には、ます。FβFβF_\beta "measures …

1
PR曲線の下の領域の解釈
私は現在3つの方法を比較していますが、測定基準として精度、auROC、auPRがあります。そして、私は次の結果を持っています: 方法A-acc:0.75、auROC:0.75、auPR:0.45 方法B-acc:0.65、auROC:0.55、auPR:0.40 方法C-acc:0.55、auROC:0.70、auPR:0.65 私は正確さとauROCをよく理解しています(よく覚えておくために、「auROC =陽性クラスを予測する能力を特徴づける」などの文を考えようとすることがよくありますが、正確に正確ではないので覚えておくのに役立ちます)。私はこれまでにauPRデータを取得したことがなく、それがどのように構築されているかを理解している間は、その背後に「感覚」を得ることができません。 実際、メソッドCがauPRのスコアが非常に高いのに、精度とauPRが悪い/平均的である理由を理解できません。 誰かが私を理解するのを手伝ってくれれば、本当に素晴らしい簡単な説明でそれをより良く理解できます。ありがとうございました。


1
複数のクラスがある場合、分類子の確率しきい値をどのように調整できますか?[重複]
この質問にはすでにここで答えがあります: 混同行列を取得するためにマルチクラス確率予測をしきい値処理する方法は? (1つの答え) 3か月前に閉鎖。 上記は、いくつかの確率に基づいて、バイナリクラスのケースの確率分類子出力が0または1の非常に単純な例です。 さらに、しきい値を変更する方法は簡単です。しきい値を50%より高くまたは低く設定して、精度/再現率のバランスを変更し、独自の状況に合わせて最適化します。 ただし、マルチクラスシナリオで同じ考え方をしようとすると、下の図に示すように3つのクラスでも(これらは確率であると想像してください) どのようにして、しきい値をシフトする方法を考え始めますか? デフォルトでは、最も確率の高いクラスを使用します(ここではクラス3)。 このバランスを取りたい場合(精度/再現率に影響を与えるため)、何ができますか? 最初の最も支配的なクラスをそれらを再正規化し、これらの2つの間にしきい値を設定することを検討することもできますが、これは洗練されたソリューションのようには聞こえません。 従うべき確かな方法論はありますか?

3
高い再現率-不均衡なデータセットの精度が低い
現在、サポートベクターマシンでツイートデータセットを分析しているときに問題が発生しています。問題は、バランスの取れていないバイナリクラストレーニングセット(5:2)があることです。これは実際のクラス分布に比例すると予想されます。予測すると、検証セットの少数派クラスの精度が低くなります(0.47)。再現率は0.88です。実際のクラス分布を反映するために検証セットも不均衡であるため、精度を向上させなかった(トレーニングセットで実行される)いくつかのオーバーサンプリングおよびアンダーサンプリングメソッドを使用しようとしました。また、サポートベクターマシンにさまざまなコストを実装しました。もうパフォーマンスが上がらないようです。 私の想起を損なうことなく精度を向上させるために私ができることについて、何かアドバイスはありますか?さらに、なぜ私が偽陰性より陽性の方がはるかに多いのか誰かに手掛かりがありますか(陽性は少数派クラスです)?

1
RandomForest-sklearnの分類しきい値
1)sklearnのRandomForestで分類しきい値(デフォルトでは0.5だと思います)を変更するにはどうすればよいですか? 2)sklearnでアンダーサンプリングするにはどうすればよいですか? 3)RandomForest分類器から次の結果が得られました:[[1635 1297] [520 3624]] precision recall f1-score support class 0 0.76 0.56 0.64 2932 class 1 0.74 0.87 0.80 4144 平均/合計0.75 0.74 0.73 7076 最初に、データは不均衡です(クラス0から30%、クラス1から70%)。したがって、分類子はクラス1に偏っている可能性が高いと思います。つまり、一部をクラス0からクラス1に移動します(クラス0には1297の誤分類がありますが、クラス1には520の誤分類があります)。どうすれば修正できますか?ダウンサンプリングが役立つ場合?または分類しきい値を変更しますか? 更新:クラス0は人口の40%、クラス1は60%です。ただし、クラス0からクラス1(1297)へのドリフトは高く、これは低くなります。

4
オブジェクト検出の平均精度
APやmAPの値をどのように計算できるかについてはかなり混乱しています。特に、オブジェクト検出のためにAP / mAP値を取得したいと考えています。 私が確実に知っているのは、 リコール= TP /(TP + FN)、精度= TP /(TP + FP) たとえば、評価するクラスが1つだけで、500のテスト画像があるとします。各テスト画像には異なる数の予測(境界ボックス提案)が含まれる場合がありますが、各画像には1つのグラウンドトゥルース境界ボックスしかありません。 画像1:[クラス、確率、x1、y1、x2、y2]、[クラス、確率、x3、y3、x4、y4]、[クラス、確率、x5、y5、x6、y6]、[クラス、確率、 x7、y7、x8、y8]、... 画像2:[クラス、確率、x1、y1、x2、y2]、[クラス、確率、x3、y3、x4、y4]、... 。。。(等々) *ほんの一例で、私はこれを作りました TPを取得するには、各予測のIOUを見つけて、選択したしきい値(0.5など)を超えるものをカウントする必要があることを知っています(しきい値を超えるIOUを持つ複数の予測がある場合、1回だけカウントして他を処理しますか? FPとして?) これは私を困惑させるところです: TP + FP =各画像に対して行われた予測の数でしょうか? すべてのテスト画像にネガがないため、TP + FN = 500? 画像ごと、またはクラスごとに計算されますか? 私の例に基づいてAP / mAPを取得するためのステップバイステップガイドを誰かに教えてもらえますか?最も曖昧な部分は、画像ごとに行うのか、クラスごとに行うのか(つまり、一度に500枚の画像を処理する場合)です。 私が見つけたほとんどのガイド/論文は、情報検索を対象としています。これでいくつかの助けをいただければ幸いです。 *注:一部のカスタムデータセットでテストしています。PASCAL VOCにはそれを行うためのコードがいくつかあることは知っていますが、自分のデータに合わせてカスタマイズしたコードを自分で記述したいと思っています。

2
Rでの精度と再現率の計算
私が誰かが結婚しているか独身かを予測するロジスティック回帰分類器を構築しているとしましょう。(1 =結婚、0 =単一)少なくとも75%の精度が得られる精度-再現率曲線上の点を選択したいので、しきい値およびt 2を選択して、次のようにします。t1t1t_1t2t2t_2 分類子の出力がより大きい場合、「結婚」を出力します。t1t1t_1 出力が未満の場合、「単一」を出力します。t2t2t_2 出力が間にある場合は、「わからない」と出力します。 いくつかの質問: 精度の標準的な定義の下では、精度は結婚したクラスの精度のみを測定することになると思います(つまり、精度=結婚を正しく予測する#回/結婚を予測する合計#回)。ただし、私が本当にやりたいことは、全体の精度を測定することです(つまり、結婚または独身を正しく予測した合計#回/結婚または独身を予測した合計#回)。これは大丈夫ですか?そうでない場合、私は何をすべきですか? Rでこの「全体的な」精度/再現率曲線を計算する方法はありますか(たとえば、ROCRパッケージまたは他のライブラリを使用して)?現在ROCRパッケージを使用していますが、一度に1つのクラスの精度/リコールしか得られないようです。

2
レコメンダーシステムでリコールを測定することは意味がありますか?
私は、(映画のランキングや多くのユーザーの何であれ)ユーザーが視聴する10のおすすめの映画のリストを作成する推奨システムを構築していると仮定します。私がいくつかの大きな映画アイテムのプールと、ユーザーが実際に視聴することに決めた映画と一緒にユーザーの評価のログがあるとします。したがって、このデータセットを使用してシステムを評価したいと思います。 これらの「いくつかの良いアイテムを提案する」タスクは通常、精度、再現率、F1スコアを使用して評価されることを文献で確認しました(たとえば[1]を参照)。特に「10での精度」に興味があると思います。しかし、私が上記のシナリオでこれらの測定値をどのように計算するか(またはそれらが意味をなすかどうか)はよくわかりません。 どうやら、好ましいのは、サンプルを「トレーニング」と「テスト」の部分にランダムに分割することです。次に、トレーニングデータをアルゴリズムにフィードして、10個の予測のリストを作成できるようにします。 正確な並べ替えが意味をなすようになったので、10個の予測から、テストデータでユーザーが見た映画に実際にどれだけあるかを確認できます。 ただし、思い出してください。ユーザーがテストデータで多数の映画を視聴した場合、たとえば50程度です。「良い」リコールスコアを取得する方法はありません。これは、私のシステムが10本の映画しか制作しないように制限されており、最大で1/5 = 0.2のリコールしか得られないためです。 または、ユーザーの「次に視聴した10本の」映画を推測するためだけにテストを制限すると(「完全な再現」が得られる可能性があるため)、精度と再現は常にまったく同じ数になります(推奨数とユーザーに関連する数は同じで、精度と再現率も常に同じです)。 私は何か間違ったことをしていますか?または、これらのメトリックは、検討中のシナリオではあまり意味がありませんか?

1
外れ値の検出:精度再現率曲線の下の領域
外れ値検出アルゴリズムを比較したいと思います。rocの下の領域または精度再現率曲線の下の領域が、使用する尺度であるかどうかはわかりません。 matlabでのクイックテストで奇妙な結果が得られます。完璧な分類のためにROCとPRの値を取得しようとします。 % true labels outlier = 1; normal = 0; % 99% normal data 1% outlier label = normal*ones(1000,1); label(1:10) = outlier; % scores of the algorithm % assume the prediction is perfect score = label; [~,~,~,AUC] = perfcurve(label,score,outlier) % AUC = 1 [~,~,~,PR] = perfcurve(label,score,outlier, 'xCrit', 'reca', 'yCrit', …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.