这个库将帮助您轻松地为所有类型的数据转换并行化python代码。

mlmr的Python项目详细描述


MLMR

PyPI versionDownloadsLicense: MIT

这个库将帮助您轻松地为所有类型的数据转换并行化python代码。 核心功能建立在Map-Reduce范式之上。在这个库中,映射部分使用本机进行并行化 pythonmultiprocessing模块。在

安装

pip install mlmr

使用

为了了解库API规范和高级用法,我建议您从以下简短教程开始:

  1. Functional API tutorial
  2. Sklearn integration tutorial

在这里,我将发布几个真实的mlmrAPI应用程序。在

MapReduce时尚示例中的平方和

^{pr2}$

Pandas在MapReduce时尚示例中应用并行化

在这个示例中,函数对df执行并行数据转换(pd数据帧, pd系列). 根据n_jobs参数,计算要并行运行的进程数。数据平均分为数 进程切片。然后将our_transform_func并行地应用到每个片上(每个进程都有自己的片)。 计算完成后,所有的变换结果都被展平。返回展平结果。在

frommlmr.functionimporttransform_concatdefcomutation_costly_transformation(*_):passdefour_transform_func(df):returndf.apply(cosly_computation_func)df_transformed=transform_concat(df,transform_func=our_transform_func,n_jobs=-1)

Sklearn MapReduce变压器集成到管道

fromsklearn.pipelineimportPipelinefromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.ensembleimportRandomForestClassifierfrommlmr.transformersimportBaseMapReduceTransformerdefcomutation_costly_text_transformation(df):passclassTextPreprocessor(BaseMapReduceTransformer):deftransform_part(self,X):returncomutation_costly_text_transformation(X)n_jobs=4text_classification_pipeline=Pipeline([('text_preprocessor',TextPreprocessor(n_jobs=n_jobs)),('vectorizer',TfidfVectorizer(analyzer="word",max_features=10000)),('classifier',RandomForestClassifier(n_estimators=100,n_jobs=n_jobs))])

替代实施:

importpandasaspdfromsklearn.pipelineimportPipelinefromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.ensembleimportRandomForestClassifierfrommlmr.transformersimportFunctionMapReduceTransformerdefget_split_data_func(n_slices):# wrapper function of split data functiondefsplit_data(data):returnnp.array_split(data,n_slices)returnsplit_datadefcomutation_costly_text_transformation(df):passn_jobs=4text_classification_pipeline=Pipeline([('text_preprocessor',FunctionMapReduceTransformer(map_func=comutation_costly_text_transformation,reduce_func=pd.concat,data_split_func=get_split_data_func(n_jobs),n_jobs=n_jobs)),('vectorizer',TfidfVectorizer(analyzer="word",max_features=10000)),('classifier',RandomForestClassifier(n_estimators=100,n_jobs=n_jobs))])

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是否存在这样一种场景:Java7的Hashmap实现优于Java8的实现   java如何打印这些完整的数组?   java BuildException:未能执行aapt   java如何使用类。未知类型的集合返回的cast()   java准备语句返回错误的值   webview 安卓中的java显示身份验证对话框   java如何重命名列名JPA Hibernate   java查询从特定用户和特定时间段的Oracle表(通过比较原始表和备份表)中选择修改的行   java Youtube视频仅在三星S6设备上加载时自动暂停   未调用java RecyclerView getItemViewType   使用JSch setCommand执行带有源选项的java Shell ping命令时失败   java Hibernate:无法删除|删除分离的实例   Java Spring@MappedSuperclass字段作为子类中的@Id字段   java Android:确定单击了哪个按钮,因为该按钮未在xml中定义   如何计算java阵列内存使用率   使用Java查找按字母顺序排列的第一个字符串   javascript注销功能刷新页面,但页面仍已登录   当接口作为参数提供时,java依赖项注入不起作用   java中带原语的字符串扭曲