gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 04:58:19 24 4
gpt4 key购买 nike

Sklearn 管道:http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html

数据帧映射器:https://github.com/paulgb/sklearn-pandas

它们之间有什么区别?

在我看来,sklearn 管 Prop 有更多功能,但 DataFrameMapper 更适合我使用。

最佳答案

编辑:请参阅有关可能更好的评论讨论 ColumnTransformer方法。可以找到可能感兴趣的比较表 Here .

基本上,DataFrameMapper (以及整个 sklearn-pandas 包)旨在结合 pandas 的优点 DataFrame具有 sklearn 机器学习包功能的对象。
sklearn.Pipeline描述了对矩阵格式执行的转换的有序列表(由 numpy 和 scipy 包提供)。这些转换将按顺序在整个矩阵上一个接一个地执行,并将从头到尾对整个训练和预测过程进行编码。
管道转换(又名步骤)元组的第一部分是它的名称,它对过程没有实际影响,它只是为了可读性。
一个 DataFrameMapper另一方面,对由 pandas 包创建的 DataFrame 对象进行操作,并且可以将转换应用于数据帧的某些部分(不一定在整个数据集上)。 DataFrames 类似于 numpy 和 scipy 矩阵,在跟踪行和列标签和元数据方面有一个明显的区别。 DataFrames 操作将确保可以使用逻辑标识而不是索引来访问、操作和读取行和列。DataFrameMapper第一部分转换元组描述了哪些列应该通过转换运行。
三个大的区别是:

  • 一个 DataFrameMapper是一个更灵活的工具,它可以让你在不同的列上执行不同的转换,并且更倾向于转换复杂的数据结构,而 sklearn.Pipeline更倾向于在同构数据集上执行机器学习相关的转换。
  • 一个 DataFrameMapper将让您保留分配给 Pandas 的注释和标签 DataFrame对象,而 sklearn.Pipeline将任何结果“减少”为 numpy/scipy 数组/矩阵。
  • sklearn.Pipeline是更稳定和众所周知的软件包的一部分,因此如果稳定性和维护等考虑因素很重要,则可能是“更安全”的选择。
  • 关于scikit-learn - sklearn Pipeline 和 DataFrameMapper 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40352176/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com