1
Amy 原创整理|资料核验:2026-10-30
scikit-learn的FunctionTransformer可以把可调用对象包装成转换器,适合无状态变换,例如对频次取对数或自定义缩放。文档特别提醒:如果传入lambda,得到的转换器不能用pickle序列化。
另一个默认值也值得看清:validate=False不会先替你验证输入;设为True时才会尝试把输入转换为二维NumPy数组或稀疏矩阵,无法转换会报错。
Amy建议不要只在交互环境里确认transform跑得通。准备交付时,应按实际保存方式检查能否保存、重新加载并处理一小份样本;可考虑使用模块中可导入的具名函数,并同步保留函数代码及依赖版本。这里的保存建议不意味着任何自定义对象都自动兼容。
官方来源:
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.FunctionTransformer.html