擅长:python、mysql、java
<p>@elphz-answer是一个很好的介绍如何使用<a href="http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.FeatureUnion.html#sklearn.pipeline.FeatureUnion.fit_transform" rel="nofollow noreferrer">^{<cd1>}</a>和{a2}来完成这一任务,但我认为它可以使用更多的细节。在</p>
<p>首先,我想说您需要定义您的<code>FunctionTransformer</code>函数,以便它们能够正确地处理和返回您的输入数据。在本例中,我假设您只想传递数据帧,但要确保返回一个形状正确的数组以供下游使用。因此,我建议只传递DataFrame并按列名访问。是这样的:</p>
<pre><code>def text(X):
return X.text.values
def title(X):
return X.title.values
pipe_text = Pipeline([('col_text', FunctionTransformer(text, validate=False))])
pipe_title = Pipeline([('col_title', FunctionTransformer(title, validate=False))])
</code></pre>
<p>现在,测试变压器和分类器的变化。我建议使用一个transformer列表和一个分类器列表,并简单地遍历它们,就像一个gridsearch一样。在</p>
^{pr2}$
<p>这是一个简单的示例,但是您可以看到如何以这种方式插入任何种类的转换和分类器。在</p>