私は非常に大きなデータセット(ds
)を持っています。列の1つがPopularity
で、タイプがfactor
( '高'/'低')です。統計モデルの評価R
トレーニングセット(ds_tr
)とテストセット(ds_te
)を作成するために、データを70%と30%に分割しました。
:
mdl <- glm(formula = popularity ~ . -url , family= "binomial", data = ds_tr)
その後、私はpredict
オブジェクトを作成した(ds_te
のために再びそれを行います)
y_hat = predict(mdl, data = ds_tr - url , type = 'response')
私は精度の値を見つけたいですこれは0.5のカットオフ閾値に対応し、0.5のカットオフ閾値に対応するリコール値を見つけるので、私はした:
library(ROCR)
pred <- prediction(y_hat, ds_tr$popularity)
perf <- performance(pred, "prec", "rec")
結果は、多くの値Iが0.5のカットオフ閾値に対応する特定の精度と再現率の値を見つけるにはどうすればよい
str(perf)
Formal class 'performance' [package "ROCR"] with 6 slots
[email protected] x.name : chr "Recall"
[email protected] y.name : chr "Precision"
[email protected] alpha.name : chr "Cutoff"
[email protected] x.values :List of 1
.. ..$ : num [1:27779] 0.00 7.71e-05 7.71e-05 1.54e-04 2.31e-04 ...
[email protected] y.values :List of 1
.. ..$ : num [1:27779] NaN 1 0.5 0.667 0.75 ...
[email protected] alpha.values:List of 1
.. ..$ : num [1:27779] Inf 0.97 0.895 0.89 0.887 ...
のテーブルですか?
probab.cuts <- data.frame([email protected][[1]], [email protected][[1]], [email protected][[1]])
あなたはすべて関連した値
を表示することができます。
は説明を改善し、要求された値を入手する方法について説明します。 – PereG