Scikit学习功能合并步骤中步骤的预期输出

时间:2018-07-13 18:25:29

标签: python scikit-learn

我有一个Scikit学习管道,其中包括一个要素联合

None

要素联合中的两个过程中的每个过程都是我自己编写的类。其中第一个是基于Gensim Doc2Vec模型的自写矢量化程序。完整代码here

如果我正确理解功能部件联合文档,它将并行运行每个步骤,并将输出向量连接到单个向量中,该向量将传递到下一步(在本例中为CLF管道)。

我编写了每个类以返回单个numpy数组,但是以上代码触发了错误。

states = []
for (i1, i2) in permutations((0,1,2), 2):
    for n1 in range(4):
        for n2 in range(4-n1):
            states.append((None,)*n1 + (i1,) + (None,)*n2 + (i2,) + (None,)*(3-n1-n2))

如果我正确理解了错误(?),则表明Doc2vec类未输出适当的功能?

Doc2vec类输出单个numpy数组,其中每个输入的文本序列包含100个矢量数组。我天真地假设它将把它简单地连接到I_counter输出,并且所有工作都愉快地进行。

有人可以强调我的逻辑错在哪里吗?

- 编辑,更多代码

from sklearn.pipeline import Pipeline, FeatureUnion
pipeline = Pipeline([
    ('feats', FeatureUnion([
        #
        ('Vec', Doc2vec()),
        ('Counter', I_counter()),
    ])),
    ('clf', LogisticRegression())  # classifier
])

0 个答案:

没有答案