如何从GridSearchCV中绘制网格得分?

12 浏览
0 Comments

如何从GridSearchCV中绘制网格得分?

我正在寻找一种方法来绘制sklearn中GridSearchCV的grid_scores_。在这个例子中,我正在尝试使用SVR算法来进行最佳gamma和C参数的网格搜索。我的代码如下所示:

    C_range = 10.0 ** np.arange(-4, 4)
    gamma_range = 10.0 ** np.arange(-4, 4)
    param_grid = dict(gamma=gamma_range.tolist(), C=C_range.tolist())
    grid = GridSearchCV(SVR(kernel='rbf', gamma=0.1),param_grid, cv=5)
    grid.fit(X_train,y_train)
    print(grid.grid_scores_)

运行代码并打印网格得分后,我得到以下结果:

[均值:-3.28593,标准差:1.69134,参数:{'gamma': 0.0001, 'C': 0.0001},均值:-3.29370,标准差:1.69346,参数:{'gamma': 0.001, 'C': 0.0001},均值:-3.28933,标准差:1.69104,参数:{'gamma': 0.01, 'C': 0.0001},均值:-3.28925,标准差:1.69106,参数:{'gamma': 0.1, 'C': 0.0001},均值:-3.28925,标准差:1.69106,参数:{'gamma': 1.0, 'C': 0.0001},均值:-3.28925,标准差:1.69106,参数:{'gamma': 10.0, 'C': 0.0001},等等]

我想根据gamma和C参数可视化所有得分(均值)。

我想要的图形应该如下所示:

enter image description here

其中x轴是gamma,y轴是均值得分(在这种情况下是均方根误差),不同的线表示不同的C值。

0