将功能添加到Sklearn分类器中



我正在构建一个SGDClassifier,并使用TF IDF变压器。除了TF IDF创建的功能外,我还想添加其他功能,例如文档长度或其他评分。如何将这些功能添加到功能集中?这是分类器在管道中构造的方式:

data = fetch_20newsgroups(subset='train', categories=None)
pipeline = Pipeline([
    ('vect', CountVectorizer()),
    ('tfidf', TfidfTransformer()),
    ('clf', SGDClassifier()),
])
parameters = {
    'vect__max_df': (0.5, 0.75, 1.0),
    'vect__max_features': (None, 5000, 10000, 50000),
    'vect__ngram_range': ((1, 1), (1, 2)),  # unigrams or bigrams
    'tfidf__use_idf': (True, False),
}
grid_search = GridSearchCV(pipeline, parameters, n_jobs=-1, verbose=1)
grid_search.fit(data.data, data.target)
print(grid_search.best_score_)

您可以使用功能联合http://scikit-learn.org/stable/modules/pipeline.html#featureunion-compomposite-feature-feature spaces

文档中有一个很好的示例https://scikit-learn.org/0.18/auto_examples/hetero_feature_union.html我认为这完全适合您的要求。请参阅TextStats变压器。

[更新:示例是Scikit Learn =<0.18]

问:

相关内容

  • 没有找到相关文章

最新更新