夜分遅くにすいません
ハイパワーパラーメータチューニングの選出法について悩んでいます。
例えばBaggingClassifier()において
from sklearn.ensemble import BaggingClassifier from sklearn.datasets import load_breast_cancer from sklearn.model_selection = train_test_split cancer = load_breast_cancer() x_train, x_test, y_train,y_test = train_test_split(cancer.data,cancer.target) param_grid = { 'max_features':[1,2,3,4,5], 'max_samples':[1,2,3,4,5], 'n_estimators':[2,5,10,20,50,100], }
というような3つのハイパーパラメータをチューニングする場合
gs = GridSearchCV( estimator = BaggingClassifier(), param_grid = param_grid, cv=5 ) gs.fit(x_train,y_train) gs.best_params_ >> {'max_features': 2, 'max_samples': 5, 'n_estimators': 100}
というように一番スコアがよかったハイパラのセットは抽出できたのですが、ベストだけではなく、その前後なども含めて段階的にみるためにヒートマップにプロットしようとしました。
import itertools import seaborn as sns params = [k for k in gs.cv_results_.keys() if k.startswith('param_')] params for ele1, ele2 in itertools.combinations(params,2): print(ele1,',',ele2) index = ele1 columns = ele2 values= 'mean_test_score' # {ele} params_dict = {k: gs.cv_results_[k] for k in {index, columns, values}} params_df = pd.DataFrame(params_dict) params_pivot = params_df.pivot(index=index,columns=columns,values=values) sns.heatmap(params_pivot)
しかしヒートマップは2軸対応らしくて
>> ValueError: Index contains duplicate entries, cannot reshape
というエラーがでました。
3や5つなどなどのハイパーパラメータも試したいのですがどのように視覚化して確かめるのがよいでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。