在小数据集上使用 GridSearch 并将结果应用于大数据集是个好主意吗?
Is it a good idea to use GridSearch on small dataset and apply results on big one?
我有一个带有 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 的结果(可能具有较小的参数集)的结果有多相似?
你可能已经知道我正在处理文本的多标签分类问题。
谢谢:)
是的,这是一个不错的策略。不能保证您以任何方式获得最好的 - 但它们应该仍然相当不错。您必须小心,但不要通过参数搜索过度拟合较小的数据集。
我有一个带有 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 的结果(可能具有较小的参数集)的结果有多相似?
你可能已经知道我正在处理文本的多标签分类问题。
谢谢:)
是的,这是一个不错的策略。不能保证您以任何方式获得最好的 - 但它们应该仍然相当不错。您必须小心,但不要通过参数搜索过度拟合较小的数据集。