如何 select scikit learn 中 SVC 估计器的超参数?
How to select hyper parameters for SVC estimator in scikit learn?
我正在 class使用 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 classifier、tfidf、哈希向量化器和 CountVectorizer 尝试什么样的参数?如果这是一个多 class class 化问题,我应该如何 select 这个参数?
您应该阅读这些参数的含义并自行决定。
我优化了以下内容:
SVC:伽马和 C
TFIDF:max_features、max_df、min_df
这真的取决于您的数据和模型。如果您不知道 运行 对许多参数和许多可能值进行非常广泛的优化以缩小范围。
这很耗时,因此您可能需要对数据进行子采样。
我正在 class使用 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 classifier、tfidf、哈希向量化器和 CountVectorizer 尝试什么样的参数?如果这是一个多 class class 化问题,我应该如何 select 这个参数?
您应该阅读这些参数的含义并自行决定。
我优化了以下内容: SVC:伽马和 C TFIDF:max_features、max_df、min_df
这真的取决于您的数据和模型。如果您不知道 运行 对许多参数和许多可能值进行非常广泛的优化以缩小范围。 这很耗时,因此您可能需要对数据进行子采样。