PySpark中的特征选择

Tus*_*hta 1 python machine-learning feature-selection pyspark google-cloud-dataproc

我正在研究一种机器学习形状模型1,456,354 X 53.我想为我的数据集做功能选择.我知道如何python使用以下代码进行功能选择.

from sklearn.feature_selection import RFECV,RFE

logreg = LogisticRegression()
rfe = RFE(logreg, step=1, n_features_to_select=28)
rfe = rfe.fit(df.values,arrythmia.values)
features_bool = np.array(rfe.support_)
features = np.array(df.columns)
result = features[features_bool]
print(result)
Run Code Online (Sandbox Code Playgroud)

但是,我找不到任何可以显示如何执行递归特征选择的文章pyspark.

我试图sklearn在pyspark中导入库,但是它找不到错误的sklearn模块.我正在google dataproc集群上运行pyspark.

可以请有人帮助我在pyspark实现这个目标

小智 7

你有几个选择这样做.

  • 如果您需要的模型是用Spark MLlib或spark-sklearn`实现的,那么您可以调整代码以使用相应的库.

  • 如果您可以在本地训练模型并且只想部署它以进行预测,则可以使用用户定义函数(UDFs)或vectorized UDFs在Spark上运行训练模型.这是一篇很好的帖子,讨论如何做到这一点.

  • 如果需要sklearn在Spark 上运行不受spark-sklearn支持的模型,则需要在集群中的每个工作节点上为Spark提供sklearn.您可以通过在Spark集群中的每个节点上手动安装sklearn来实现此目的(确保安装到Spark正在使用的Python环境中).

  • 或者,您可以使用Pyspark作业打包和分发sklearn库.简而言之,您可以pip install sklearn进入脚本附近的本地目录,然后压缩sklearn安装目录并使用--py-files标志spark-submit将压缩的sklearn与脚本一起发送给所有工作人员.本文全面概述了如何完成此任务.