请解释scikit-learn中的ColumnTransformer和make_column_transformer之间的区别。另外,说明在什么情况下使用哪一个。
回答:
这两者之间没有重大区别。它们的结果是相同的。如文档中所示,ColumnTransformer
使用一个包含名称的元组列表,而make_column_transformer
只是一个没有名称的元组。给元组命名的做法在使用GridSearchCV
或RandomSearchCV
时很有帮助,这些估计器可以是嵌套的转换器、分类器和回归器的管道,如果我们要为它们提供param_grid
,那么可以使用该元组的名称。你可以在StackOverflow的问题中看到嵌套管道和ColumnTransformer
在GridSearchCV
中的应用,以及命名是如何有帮助的。通常,如果我不需要使用GridSearchCV
,我会使用make_column_transformer
。