Увеличить метри c в Керасе под R - PullRequest
0 голосов
/ 08 мая 2020

Я работаю с Keras Under Rstudio.

Целевой набор данных представляет собой матрицу 1e6 * 1e2 со значениями в {-1,0, + 1}. Записи представляют собой матрицу 1e6 * 1e3, сгенерированную такими функциями косинуса и синуса:

n1<- 1:1e6
i<- 1:1e3
fcos=function(i) cos(i*n1)
fsin=function(i) sin(i*n1)

Я использовал эту метрику c:

K <- backend()
options(tensorflow.extract.one_based = FALSE)
metric_acc <- custom_metric("accu", function(y_true, y_pred) {
  y_pred=k_round(y_pred)
  acc=k_all(k_equal(y_true,y_pred),axis = -1)
  acc=k_cast(acc,'float32')
  acc=k_sum(acc)
  acc=acc/k_cast(k_shape(y_true)[0],'float32')
  return(acc)
})

Он тестирует строку за строкой. Он работает хорошо.

Моя проблема: это показатель c, и он должен быть максимальным для выполнения. Но как metri c, keras минимизирует его.

В Python с sklearn.metri c есть простая функция make_scorer(greater_is_better = TRUE), которая максимизирует, но я не получил ее в R.

Кто-нибудь может помочь мне решить эту проблему?

Спасибо

...