PySpark中的分布式scikit-learn元估计器
sk-dist是一个用于机器学习的Python模块,构建于scikit-learn之上,并在Apache2.0软件许可下发布。sk-dist模块可以被认为是“分布式scikit-learn”,因为它的核心功能是将scikit-learn内置的joblib并行化的meta-estimator训练扩展到spark。
主要特点
分布式训练- sk-dist使用PySpark将scikit-learn元估计器的训练并行化。这允许对这些估计器进行分布式训练,而不对任何一台机器的物理资源进行任何限制。在所有情况下,火花伪像会自动从拟合估算器中剥离。然后可以对这些估计器进行酸洗和未腌制以用于预测任务,在预测时间对他们的scikit-learn对应物进行相同的操作。支持的任务是:网格搜索:分配超参数优化技术,特别是GridSearchCV和RandomizedSeachCV,使得每个参数集候选被并行训练。多类策略:分布多类分类策略,特别是OneVsRestClassifier和OneVsOneClassifier,使得每个二进制问题都是并行训练的。树集合:分布和回归的决策树集合,特别是RandomForest和ExtraTrees,是分布式的,以便每个树都是并行训练的。分布式预测- sk-dist提供了一个预测模块,该模块使用拟合的scikit-learn估算器为PySparkDataFrames构建矢量化UDF。这分配了scikit-learn估计器的predict和predict_proba方法,通过scikit-learn实现大规模预测。特征编码- sk-dist提供了一个名为Encoderizer的灵活的特征编码实用程序,它使用默认行为或用户定义的可自定义设置对混合类型的特征空间进行编码。它特别针对文本功能,但它还处理数字和字典类型的功能空间。
评论