【问题标题】:How to get the significance of coeficients in logistic regression using `ml_logistic_regression`如何使用“ml逻辑回归”获得逻辑回归中系数的显着性
【发布时间】:2018-05-04 04:41:56
【问题描述】:

我想知道使用 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 

如何获得模型中每个变量的意义

【问题讨论】:

  • 查看模型对象的结构 (str(model)),它看起来不像 ml_logistic_regression 返回与显着性水平、置信区间或方差-协方差矩阵相关的任何信息,所以我'我不确定这是否可能。另一方面,在机器学习中,您通常会尝试最大化预测性能,统计显着性通常并不重要。相反,使用交叉验证根据一些性能标准(如 ROC 曲线下的面积)选择最佳模型。
  • @eipi10 我尝试在 Spark 中手动计算方差-协方差矩阵,但我到了需要计算矩阵逆矩阵的地步,但我不知道如何计算它火花
  • solve(m) 将返回矩阵的逆矩阵m

标签: r apache-spark logistic-regression sparklyr


【解决方案1】:

你只是没有。 Spark 的LogisticRegressionSummary 变体都没有提供特征重要性,因此 不能提供这些(因为eipi10pointed out 不是)。

【讨论】:

    【解决方案2】:

    您可以通过使用族 ==“二项式”的广义线性模型来获得所需的内容。有关详细信息,请参阅 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

    【讨论】:

    • 看起来很有希望,但你能确认这个对象(与逻辑回归对象不同)确实包含可以恢复 p 值的信息吗?虽然stackoverflow.com/questions/48482245/… 也建议这样做...
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 2017-06-14
    • 2018-07-08
    • 2020-11-28
    • 2018-12-09
    • 1970-01-01
    • 2020-01-31
    • 2020-12-22
    • 2019-06-06
    • 1970-01-01
    相关资源
    最近更新 更多