0

我有一个带有 TfidVectorizer 和 OneVsRestClassifier(SGDClassifier) 的管道。这是我要执行的 gridSearch 的参数:

parameters = {'tfidf-vect__ngram_range': ((1, 1), (1, 3)),
              'tfidf-vect__stop_words': (None,'english'),
              'tfidf-vect__min_df': (1e-3,1e-6),
              'tfidf-vect__max_features': (1e7,1e4),
              'tfidf-vect__norm': ('l1','l2',None),
              'tfidf-vect__use_idf': (True, False),
              'tfidf-vect__sublinear_tf': (True, False),
              'clf__estimator__alpha': (1e-5, 1e-7),
              'clf__estimator__loss':('hinge', 'log', 'modified_huber'),
              'clf__estimator__penalty':(None, 'l2', 'l1','elasticnet'),
              'clf__estimator__class_weight':("auto", None),
              'clf__estimator__warm_start':(True,False),
              'clf__estimator__average':(True,False,4,8,16)
}

问题:我想知道哪个是最佳的参数组合,但我无法使用我的计算机在 100k 个实例上运行这样的 gridSearch。

问题:在 100k 个实例数据集和假设为 10-20k 个样本的子集上,这种 gridSearch 的结果有多相似(可能参数集更小)?

您可能已经知道我正在处理文本的多标签分类问题。

谢谢 :)

4

1 回答 1

1

是的,这是一个不错的策略。不能保证您以任何方式获得最好的 - 但它们仍然应该是相当好的。您必须小心,但不要通过参数搜索过度拟合较小的数据集。

于 2015-10-07T21:17:05.473 回答