网格搜索后如何在pivot_table上绘制热图

Edw*_*Lin 3 linear-regression python-3.x pandas scikit-learn grid-search

我使用 ElasticNet 进行了网格搜索,但无法绘制热图以查看 alpha 和 l1 比率之间的关系。我能够到达pivot_table,但我不知道如何使用热图对其进行可视化。有人可以帮忙吗?

我的代码:

from sklearn.datasets import fetch_california_housing
cal=fetch_california_housing()

X = cal.data
y = cal.target 
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

import matplotlib.pyplot as plt
%matplotlib inline

param_grid = {'alpha': np.logspace(-3, -1, 10), 'l1_ratio':[0.01, .1, .9, 
.98, 1]}
print(param_grid)
grid = GridSearchCV(ElasticNet(normalize=True), param_grid, cv=10)
grid.fit(X_train, y_train)
print("Best cross-validation score: {:.2f}".format(grid.best_score_))
print("Best parameters: ", grid.best_params_)

import pandas as pd
pvt = pd.pivot_table(pd.DataFrame(grid.cv_results_),
    values='mean_test_score', index='param_alpha', columns='param_l1_ratio')

pvt
Run Code Online (Sandbox Code Playgroud)

我想实现这样的目标: alpha 和 l1 比率的热图

asi*_*imo 7

     import seaborn as sns       
     ax = sns.heatmap(pvt)
Run Code Online (Sandbox Code Playgroud)