机器学习笔记(5) —— 网格搜索

在 sklearn 中的网格搜索

在 sklearn 中的网格搜索非常简单。 我们将用一个例子来说明一下。 假设我们想要训练支持向量机,并且我们想在以下参数之间做出决定:

  • kernel:poly或rbf。
  • C:0.1,1 或 10。

注:这些参数对于你来说,现在可以简单了解一下,我们将在该纳米学位接下来的监督学习部分中详细了解它们。

具体步骤如下所示:

1. 导入 GridSearchCV

fromsklearn.model_selectionimportGridSearchCV

2.选择参数:

现在我们来选择我们想要选择的参数,并形成一个字典。 在这本字典中,键 (keys) 将是参数的名称,值 (values) 将是每个参数可能值的列表。

parameters = {'kernel':['poly','rbf'],'C':[0.1,1,10]}

3.创建一个评分机制 (scorer)

我们需要确认将使用什么指标来为每个候选模型评分。 这里,我们将使用 F1 分数。

fromsklearn.metrics import make_scorer

fromsklearn.metrics import f1_score

scorer = make_scorer(f1_score)

4. 使用参数 (parameter) 和评分机制 (scorer) 创建一个 GridSearch 对象。 使用此对象与数据保持一致 (fit the data) 。

# Create the object.

grid_obj = GridSearchCV(clf, parameters, scoring=scorer)

# Fit the data

grid_fit = grid_obj.fit(X, y)

5. 获得最佳估算器 (estimator)

best_clf = grid_fit.best_estimator_

现在你可以使用这一估算器best_clf来做出预测。

posted @ 2020-06-30 11:22  CQCx64  阅读(236)  评论(0)    收藏  举报