如何从GridSearchCV中绘制网格得分?
如何从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参数可视化所有得分(均值)。
我想要的图形应该如下所示:
其中x轴是gamma,y轴是均值得分(在这种情况下是均方根误差),不同的线表示不同的C值。