首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:如何在RSSL中输出逻辑回归的预测概率

R:如何在RSSL中输出逻辑回归的预测概率
EN

Stack Overflow用户
提问于 2020-03-01 09:23:52
回答 1查看 37关注 0票数 1
代码语言:javascript
复制
library(RSSL)
set.seed(1)
df <- generateSlicedCookie(1000,expected=FALSE) %>% 
  add_missinglabels_mar(Class~.,0.98)
df_test <- generateSlicedCookie(1000,expected=FALSE)


class_lr <- LogisticRegression(Class~.,df,lambda = 0.01)
class_lr_self <- SelfLearning(Class~., df, method=LogisticRegression)

这里,class_lr是一个逻辑回归模型。要获得它的预测概率,我可以调用(感谢this post的答案):

代码语言:javascript
复制
log(posterior(class_lr, df_test))

第二个模型class_lr_self是一个具有自学习包装器的逻辑回归模型。有没有办法从class_lr_self中输出预测的概率?

运行predict(class_lr_self, newdata = df_test)只会给出标签。

我已经尝试了以下方法,但是没有用于SelfLearningposterior方法,就像LogisticRegression一样。

代码语言:javascript
复制
> log(posterior(class_lr_self, df_test))
Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘posterior’ for signature ‘"SelfLearning"’
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-02 06:33:40

如果选中it,则没有用于此类的方法

代码语言:javascript
复制
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,...))

}

我们只有一个返回后验的新函数:

代码语言:javascript
复制
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,...))
}

你做的就是:

代码语言:javascript
复制
log(func(class_lr_self, df_test))

或者您为此设置一个后验方法:

代码语言:javascript
复制
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))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60471185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档