【问题标题】:Spark The Definitive Guide: Chapter 25 - Preprocessing and Feature EngineeringSpark 权威指南:第 25 章 - 预处理和特征工程
【发布时间】:2021-05-24 08:01:01
【问题描述】:

我不明白什么时候同时使用“fit”和“transform”,什么时候只使用“transform”。

以下转换器同时使用 fit 和 transform:

  • 公式
  • QuantileDiscretizer
  • 标准缩放器
  • MinMaxScaler
  • MaxAbsScaler
  • 字符串索引器
  • 矢量索引器
  • CountVectorizer
  • 主成分分析
  • ChiSqSelector

以下转换器仅使用转换:

  • SQLTransformer
  • 向量汇编器
  • 分桶器
  • ElementWiseProduct
  • 规范化器
  • IndexToString
  • OneHotEncoder
  • 分词器
  • RegexTokenizer
  • StopWordsRemover
  • Ngram

我无法直观地理解何时同时使用 fit 和 transform 以及何时仅使用 transform。

请解释一下。谢谢。

【问题讨论】:

    标签: apache-spark pyspark transformer


    【解决方案1】:

    最终,所有这些组件都用于“转换”数据、索引/缩放/分桶等。其中一些不需要了解任何有关数据的信息即可完成工作。例如,StopWordsRemover 只是应用要删除的停用词列表,而不考虑数据。

    某些组件确实需要了解它们正在操作的数据才能正确转换它。例如 MinMaxScaler 需要知道数据的最小值/最大值才能执行缩放。

    所以,所有这些都公开了一个 transform() 方法,但只有一些需要先对数据进行 fit()。

    【讨论】:

    • 谢谢。感谢您的清晰回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2010-11-13
    • 2012-02-02
    • 1970-01-01
    相关资源
    最近更新 更多