我一直在努力设计一个变压器
sklearn Pipeline
在管道过程中实际过滤和删除符合某些标准的记录的体系结构-a WHERE
条款,如果你愿意的话。我发现这个答案是这样的:“任何丢弃或添加样本的转换器,在现有版本的scikit learn中,都不符合api”,但这是7年前的结果。事情变了吗?如果没有,什么是好的陈述 Pipeline
解释为什么删除记录不符合其概念的哲学(我当然明白为什么添加示例没有意义,我想我也明白为什么删除示例可能没有意义,但我想阅读官方的理由,以便更好地理解api的思想。)
1条答案
按热度按时间r8uurelv1#
此声明截至今天仍然有效。
我不知道该文件中有任何“官方”声明
scikit-learn
解决此问题或证明此设计选择合理的。然而,我认为这一点没有得到支持的主要原因是:Pipeline
仅对象变换X
. 至少在这方面,有一个来源:管道仅转换观测数据(
X
).因此,如果您要在
X
,样本数量将与y
. 我认为这是选择这种设计的最可能的原因。话虽如此,管道的实施
imblearn
事实上,它允许改变样本大小的转换,因为它允许在管道中包含重采样器(请参见此处)。但是,这仅限于符合imblearn
仅api方法。