加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

scikit-learn – sklearn Pipeline和DataFrameMapper有什么区别

发布时间:2020-12-14 05:01:58 所属栏目:百科 来源:网络整理
导读:Sklearn管道: http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html DataFrameMapper:https://github.com/paulgb/sklearn-pandas 他们之间有什么区别? 在我看来,sklearn管道具有更多功能,但DataFrameMapper对我来说更加干净
Sklearn管道: http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html

DataFrameMapper:https://github.com/paulgb/sklearn-pandas

他们之间有什么区别?

在我看来,sklearn管道具有更多功能,但DataFrameMapper对我来说更加干净.

解决方法

基本上,DataFrameMapper(以及整个sklearn-pandas包)旨在将pandas DataFrame对象的优点与sklearn机器学习包的强大功能相结合.

sklearn.Pipeline描述了要对矩阵格式执行的转换的有序列表(由numpy和scipy包提供).这些转换将在序列中一个接一个地在整个矩阵上执行,并将从头到尾编码整个训练和预测过程.

管道转换(又称步骤)元组的第一部分是它的名称,它对该过程没有实际影响,它只是用于可读性.

另一方面,DataFrameMapper对由pandas包创建的DataFrame对象进行操作,并且可以将转换应用于数据帧的某些部分(不一定在整个数据集上). DataFrame类似于numpy和scipy矩阵,跟踪行和列标签和元数据有一个明显的区别. DataFrames操作将确保可以使用逻辑标识而不是索引来访问,操作和读取行和列.

DataFrameMapper转换元组的第一部分描述了应该通过转换运行哪些列.

三大差异是:

> DataFrameMapper是一个更灵活的工具,它允许您在不同的列上执行不同的转换,更倾向于转换复杂的数据结构,而sklearn.Pipeline更倾向于在同类数据集上执行机器学习相关的转换.> DataFrameMapper将允许您保留已分配给pandas DataFrame对象的注释和标签,而sklearn.Pipeline将“减少”任何结果为numpy / scipy数组/矩阵.> sklearn.Pipeline是一个更稳定和众所周知的软件包的一部分,因此如果稳定性和维护等考虑因素很重要,则可能是“更安全”的选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读