如何在scikit学习中为SVC估计器选择超参数?

时间:2015-01-16 06:36:55

标签: python machine-learning nlp scikit-learn

我正在使用SVC对一些文本进行分类,我想运行网格搜索,所以我按照documentation提供的示例进行了操作。在示例中,他们使用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),
    #'tfidf__norm': ('l1', 'l2'),
    'clf__alpha': (0.00001, 0.000001),
    'clf__penalty': ('l2', 'elasticnet'),
    #'clf__n_iter': (10, 50, 80),
}

我的问题是,我应该为SVC分类器,tfidf,散列矢量器和CountVectorizer尝试什么样的参数?如果这是多类分类问题,我应该如何选择这些参数?

1 个答案:

答案 0 :(得分:2)

您应该阅读这些参数的含义并自行决定。

我优化了以下内容: SVC:gamma和C. TFIDF:max_features,max_df,min_df

这实际上取决于您的数据和模型。如果您不知道在许多参数和许多可能的值上进行非常广泛的优化以缩小范围。 这非常耗时,因此您可能需要对数据进行二次采样。