0

そのような2つの列を含むcsvファイル(タブ区切り)があります

5   0
6   0
9   0
8   1
"+5000 lines similar lines"

ROCR を使用して ROC プロットを作成しようとしています。

これは私がこれまでに試したことです:

p<-read.csv(file="forROC.csv", head=TRUE, sep="\t")
pred<-prediction(p[1],p[2])

2 行目にエラーが表示されます。Error in prediction(p[1], p[2]) : Number of classes is not equal to 2. ROCR currently supports only evaluation of binary classification tasks.

エラーの内容がわかりません。CSV ファイルに何か問題がありますか?

4

1 に答える 1

1

私の推測では、配列のインデックス付けが正しく設定されていません。その CSV ファイルを読み込むと、2 列と 5,000 行以上の data.frame (バックグラウンドに応じて行列または 2D 配列と考えてください) が期待されます。

したがって、p[1]orへの現在の呼び出しp[2]は特に意味がありません。おそらく、その data.frameの最初と 2 番目のにアクセスしたいと思うでしょう。これp[,1]は、最初の列とp[,2]2 番目の列の構文を使用して行うことができます。

ただし、発生している特定のエラーは、使用している「真実」変数がバイナリではないという苦情です。ファイルは 1 と 0 の出力を持つように設定されているようです。そのため、配列に適切にアクセスすると、このエラーは解消される可能性があります。ただし、将来これに遭遇した場合は、真実データを使用する前に必ずバイナリ化してください。例えば:

p[,2] <- p[,2] != 0

値がFALSEゼロの場合、およびTRUE列内のゼロ以外のセルごとに値を設定します。

于 2012-12-21T20:12:50.927 に答える