У меня есть такой список (есть несколько других учеников):
> predictions
$xgboost
Prediction: 178 observations
predict.type: prob
threshold: 0=0.50,1=0.50
time: 0.00
id truth prob.1 prob.0 response
4 1 1 0.997812952 0.002187048 1
6 2 0 0.012360513 0.987639487 0
10 3 1 0.972333297 0.027666703 1
15 4 0 0.001351058 0.998648942 0
17 5 0 0.036538243 0.963461757 0
18 6 1 0.160634995 0.839365005 0
... (#rows: 178, #cols: 5)
$ksvm
Prediction: 178 observations
predict.type: prob
threshold: 0=0.50,1=0.50
time: 0.08
id truth prob.0 prob.1 response
4 1 1 0.09893675 0.9010633 1
6 2 0 0.81784007 0.1821599 0
10 3 1 0.06813734 0.9318627 1
15 4 0 0.33309189 0.6669081 1
17 5 0 0.82915097 0.1708490 0
18 6 1 0.81119989 0.1888001 0
... (#rows: 178, #cols: 5)
И такой список с пороговыми значениями:
> threshold
$`1`
$`1`$xgboost
[1] 0.8873576
$`1`$ksvm
[1] 0.7010678
$`0`
$`0`$xgboost
[1] 0.1126424
$`0`$ksvm
[1] 0.2989322
Можно получить доступ к пороговым значениям в predictions
с помощью lapply(predictions, function(x) x[[3]])
, что дает:
> lapply(predictions, function(x) x[[3]])
$xgboost
0 1
0.5 0.5
$ksvm
0 1
0.5 0.5
Вопрос : как я могу заменить predictions
пороговые значения на значения в threshold
?