我是该领域的新手,目前我很困。这是我想要的和我做的:
我有一个数据框,它在训练和测试数据集中是单独的。培训功能是Twitter消息,为标签分配了类别。我设置了一个令牌生成器(称为clean_text
),该令牌生成器仅保留相关的单词并将消息剥离为核心信息。该模型包括一个网格搜索,如下所示:
def build_model():
pipeline = Pipeline([
('vectorizer', CountVectorizer(tokenizer=clean_text)),
('tfidf', TfidfTransformer()),
('clf', MultiOutputClassifier(
RandomForestClassifier()
))
])
# parameters to grid search
parameters = { 'vectorizer__max_features' : [50],#, 72, 144, 288, 576, 1152],
'clf__estimator__n_estimators' : [100]}#, 100] }
# initiating GridSearchCV method
model = GridSearchCV(pipeline, param_grid=parameters, cv = 5)
return model
拟合效果很好,评估也不错。我不确定,是否正确设置了模型,功能是否是消息中使用最多的标记(在上述情况下为50),或者是否有错误。
现在的问题是:有没有办法打印出50个功能并查看它们是否正确?
最佳费利克斯
没有示例信息,这是最佳猜测。请检查以下项目是否有效。如果您有样本数据,我们可以为您提供更好的帮助。
print(vectorizer.vocabulary_)
这应该可行,或共享示例数据框
model.estimator.named_steps['vectorizer'].get_feature_names()