R 从族的PipeLineModel中获取系数的替代方法;二项式;

R 从族的PipeLineModel中获取系数的替代方法;二项式;,r,apache-spark,logistic-regression,summary,R,Apache Spark,Logistic Regression,Summary,环境 R:3.2.2“消防安全” 火花:1.5.2 > obj <- glm(response ~ . , family = "binomial", data = df ) > class(df) [1] "DataFrame" attr(,"package") [1] "SparkR" > class(obj) [1] "PipelineModel" attr(,"package") [1] "SparkR" > summary(model) >obj

环境

R:3.2.2“消防安全” 火花:1.5.2

> obj <- glm(response ~ . , family = "binomial", data = df )

> class(df)

[1] "DataFrame"
attr(,"package")
[1] "SparkR"

> class(obj)

[1] "PipelineModel"
attr(,"package")
[1] "SparkR"

> summary(model)
>obj类(df)
[1] “数据帧”
属性(,“包”)
[1] “斯巴克”
>类别(obj)
[1] “管道模型”
属性(,“包”)
[1] “斯巴克”
>摘要(模型)
java.lang.UnsupportedOperationException:没有可用于LogisticRegressionModel的功能名称


所以我知道如果PipelineModel是一个二项族(逻辑回归模型),summary(PipelineModel)将不起作用,但是我需要这个模型的系数。尽管如此,predict(PipelineModel,data=df)将用于二项式族的PipelineModel。有人有从二项式家族的管道模型中提取系数的替代方法吗

丑陋的解决方法是使用内部API
SparkR:::callJStatic(“org.apache.spark.ml.API.r.SparkRWrappers”,“getModelWeights”,x@model)
其中
x
是您的型号。否则,您必须等待解析,但看起来您已经知道了。我的spark数据框中有81列,所有分类变量在存储到数据框之前都转换为虚拟变量(数据最初存储在textFile中)。数据帧是正确构建的,当我收集(df)数据时,数据就在那里。当我构建家庭二项式的glm对象时,该对象已构建。但是当我调用sparkrapi函数callJStatic时,返回的错误是。java.lang.UnsupportedOperationException:LogisticRegressionModel没有可用的权重这是模型的奇异性问题吗?我有所有虚拟变量的基线@zero323,我不这么认为。Spark
glm
不会尝试解析地解决问题,因此在最坏的情况下,权重应该完全关闭。你能提供你使用的确切代码吗?我能给你发短信或电子邮件吗@感谢您的帮助,所以我将我的glm对象更改为高斯型,这是线性的。从技术上讲,我不能只做总结(glm_guassian_object)并使用这些系数,因为它们对于二项式(logistic)应该是相同的,但我只需要在1/(1-e^-t)中插入系数,其中t相当于线性模型。顺便说一句,总结(glm_guassian_作品)和返回系数@解决方法是使用内部API
SparkR:::callJStatic(“org.apache.spark.ml.API.r.SparkRWrappers”,“getModelWeights”,x@model)
其中
x
是您的型号。否则,您必须等待解析,但看起来您已经知道了。我的spark数据框中有81列,所有分类变量在存储到数据框之前都转换为虚拟变量(数据最初存储在textFile中)。数据帧是正确构建的,当我收集(df)数据时,数据就在那里。当我构建家庭二项式的glm对象时,该对象已构建。但是当我调用sparkrapi函数callJStatic时,返回的错误是。java.lang.UnsupportedOperationException:LogisticRegressionModel没有可用的权重这是模型的奇异性问题吗?我有所有虚拟变量的基线@zero323,我不这么认为。Spark
glm
不会尝试解析地解决问题,因此在最坏的情况下,权重应该完全关闭。你能提供你使用的确切代码吗?我能给你发短信或电子邮件吗@感谢您的帮助,所以我将我的glm对象更改为高斯型,这是线性的。从技术上讲,我不能只做总结(glm_guassian_object)并使用这些系数,因为它们对于二项式(logistic)应该是相同的,但我只需要在1/(1-e^-t)中插入系数,其中t相当于线性模型。顺便说一句,总结(glm_guassian_作品)和返回系数@零323