首页 > 解决方案 > 是否有计划在 Spark 的 MLLIB 软件包中实施复杂的调查设计?

问题描述

我正在努力在 Pyspark 中实现逻辑回归,该回归目前是使用 SAS 编写的proc surveylogistic。SAS 实施能够解释涉及集群/分层/样本权重的复杂调查设计。

至少有一些途径可以将模型导入 Python:例如,我能够使用Github 上这个研究项目中statsmodels的包获得系数和标准误差的紧密匹配

但是,我的数据很大,所以我想通过 MLLIB 包利用 Spark 的分布式功能。例如,在 Spark 中运行 logit 的当前设置是:

import pyspark.ml.feature as ft
featuresCreator = ft.VectorAssembler(
                  inputCols = X_features_list,
                  outputCol = "features")

glm_binomial = GeneralizedLinearRegression(family="binomial", link="logit",  maxIter=25, regParam = 0,                                   
    labelCol='df',
    weightCol='wgt_panel')

from pyspark.ml import Pipeline
pipeline = Pipeline(stages=[featuresCreator, glm_binomial])
model = pipeline.fit(encoded_df_nonan)

“weightcol”仅适用于简单的样本权重,但我想知道是否有人知道在 Spark 中实施更复杂的加权方案的方法(请注意,上面将匹配 proc 逻辑,而不是 proc 调查逻辑)。为了比较,在surveylogistic中用于计算协方差矩阵的方法是here

标签: pysparksasapache-spark-mllibsurvey

解决方案


推荐阅读