Spark:从管道模型中提取 ML 逻辑回归模型的摘要
Posted
技术标签:
【中文标题】Spark:从管道模型中提取 ML 逻辑回归模型的摘要【英文标题】:Spark: Extracting summary for a ML logistic regression model from a pipeline model 【发布时间】:2018-05-20 23:31:41 【问题描述】:我已经使用管道估计了逻辑回归。
我在拟合逻辑回归之前的最后几行:
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.classification import LogisticRegression
lr = LogisticRegression(featuresCol="lr_features", labelCol = "targetvar")
# create assember to include encoded features
lr_assembler = VectorAssembler(inputCols= numericColumns +
[categoricalCol + "ClassVec" for categoricalCol in categoricalColumns],
outputCol = "lr_features")
from pyspark.ml.classification import LogisticRegression
from pyspark.ml import Pipeline
# Model definition:
lr = LogisticRegression(featuresCol = "lr_features", labelCol = "targetvar")
# Pipeline definition:
lr_pipeline = Pipeline(stages = indexStages + encodeStages +[lr_assembler, lr])
# Fit the logistic regression model:
lrModel = lr_pipeline.fit(train_train)
然后我尝试运行模型的摘要。但是,下面的代码行:
trainingSummary = lrModel.summary
导致:'PipelineModel' 对象没有属性 'summary'
关于如何从管道模型中提取回归模型中通常包含的摘要信息的任何建议?
非常感谢!
【问题讨论】:
【参考方案1】:只需从阶段获取模型:
lrModel.stages[-1].summary
如果模型在管道中较早,则将 -1 替换为其索引。
【讨论】:
以上是关于Spark:从管道模型中提取 ML 逻辑回归模型的摘要的主要内容,如果未能解决你的问题,请参考以下文章
使用 Pyspark 从结构化流数据帧构建 Spark ML 管道模型
如何将从逻辑回归模型获得的系数映射到pyspark中的特征名称