Доступ к переменным в e1071 для пользовательского error.fun - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь написать функцию, которая вычисляет F1, чтобы я мог использовать F1 в качестве error.fun в tune.svm с использованием библиотеки e1071. Я нашел базовый код:

                repeat.errors[reps] <- if (!is.null(tunecontrol$error.fun))
                    tunecontrol$error.fun(true.y, pred)
                else if ((is.logical(true.y) || is.factor(true.y)) && (is.logical(pred) || is.factor(pred) || is.character(pred))) ## classification error
                    1 - classAgreement(table(pred, true.y))
                else if (is.numeric(true.y) && is.numeric(pred)) ## mean squared error
                    crossprod(pred - true.y) / length(pred)
                else
                    stop("Dependent variable has wrong type!")

at: https://github.com/cran/e1071/blob/master/R/tune.R

Я хотел бы получить доступ к переменным для прогнозов для отдельных сгибов. Я думаю, что они хранятся в векторах true.y и pred в приведенном выше коде, но я не могу понять, как # 1) просмотреть эти векторы, чтобы я мог увидеть, действительно ли содержат нужные мне значения и # 2) использовать эти значения в моя функция.

Я пытался: toString (true.y) toString (pred) print (true.y) print (pred)

, но ничего из этого не работает. Как я могу получить доступ к этим переменным?

...