Для этого класса нет метода, если вы проверите it :
setMethod("predict", signature(object="SelfLearning"), function(object,newdata,...) {
ModelVariables <- PreProcessingPredict(object@modelform,newdata,y=NULL,scaling=object@scaling,intercept=FALSE,classnames=object@classnames)
X<-ModelVariables$X
return(predict(object@model,X,...))
}
У нас просто есть новая функция, которая возвращает апостериор:
func = function(object,newdata,...) {
ModelVariables <- PreProcessingPredict(object@modelform,newdata,y=NULL,scaling=object@scaling,intercept=FALSE,classnames=object@classnames)
X<-ModelVariables$X
return(posterior(object@model,X,...))
}
И вы делаете:
log(func(class_lr_self, df_test))
Или вы задаете для этого задний метод:
setMethod("posterior", signature(object="SelfLearning"), function(object,newdata,...) {
ModelVariables <- PreProcessingPredict(object@modelform,newdata,y=NULL,scaling=object@scaling,intercept=FALSE,classnames=object@classnames)
X<-ModelVariables$X
return(posterior(object@model,X,...))
})
log(posterior(class_lr_self, df_test))