如何使用`ml_logistic_regression`获得系数在logistic回归中的重要性

时间:2017-11-20 20:54:50

标签: r apache-spark logistic-regression sparklyr

我想知道使用spark函数ml_logistic_regression的逻辑回归模型的每个系数的重要性。代码如下:

# data in R
library(MASS)
data(birthwt) 
str(birthwt)
detach("package:MASS", unload=TRUE)

# Connection to Spark
library(sparklyr)
library(dplyr)
sc = spark_connect(master = "local")

# copy the data to Spark
birth_sc = copy_to(sc, birthwt, "birth_sc", overwrite = TRUE)

# Model
# create dummy variables for race (race_1, race_2, race_3)
birth_sc = ml_create_dummy_variables(birth_sc, "race")
model = ml_logistic_regression(birth_sc, low ~ lwt + race_2 + race_3)

我得到的模型如下:

> model
Call: low ~ lwt + race_2 + race_3

Coefficients:
(Intercept)         lwt      race_2      race_3 
 0.80575496 -0.01522311  1.08106617  0.48060322 

在R模型中,你使用summary它会给你系数的重要性,但如果我在这个模型中使用它,我会得到相同的结果:

> summary(model)
Call: ml_logistic_regression(birth_sc, low ~ lwt + race_2 + race_3)

Coefficients:
  (Intercept)         lwt      race_2      race_3 
0.80575496 -0.01522311  1.08106617  0.48060322 

如何获得模型中每个变量的重要性

2 个答案:

答案 0 :(得分:2)

你没有。 Spark的LogisticRegressionSummary变体都没有提供要素重要性,因此pointed out不能提供这些变体(eipi10 除外)。

答案 1 :(得分:1)

使用family ==“ Binomial”的广义线性模型,您也许可以找到所需的内容。有关更多信息,请参见http://spark.rstudio.com/reference/ml_generalized_linear_regression/和Spark参考:https://spark.apache.org/docs/2.1.0/ml-classification-regression.html#generalized-linear-regression