非常に大きなデータ セット ( ds
) があります。その列の 1 つはPopularity
、タイプfactor
('High' / 'Low') です。
ds_tr
トレーニング セット ( ) とテスト セット ( )を作成するために、データを 70% と 30% に分割しますds_te
。
ロジスティック回帰を使用して次のモデルを作成しました。
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")
結果は多くの値のテーブルです
str(perf)
Formal class 'performance' [package "ROCR"] with 6 slots
..@ x.name : chr "Recall"
..@ y.name : chr "Precision"
..@ alpha.name : chr "Cutoff"
..@ x.values :List of 1
.. ..$ : num [1:27779] 0.00 7.71e-05 7.71e-05 1.54e-04 2.31e-04 ...
..@ y.values :List of 1
.. ..$ : num [1:27779] NaN 1 0.5 0.667 0.75 ...
..@ alpha.values:List of 1
.. ..$ : num [1:27779] Inf 0.97 0.895 0.89 0.887 ...
0.5 のカットオフしきい値に対応する特定の適合率と再現率の値を見つけるにはどうすればよいですか?