下記のコードでの、 'mean_score','mean_std'でのパラメータの性能評価方法が知りたいです。
'mean_score'の高いパラメーターを選択するでは、だめなのでしょうか。
よろしくお願いいたします。
下記に自分なりの解釈を追加掲載しました。
自分なりの考え:cv(クロスヴァリエーション)セット(今回はcv=3)で、3分割交差検証をしてあり、
各テストデータごとにスコア(これは、予測値と実測値の比較した分類正解率)を算出する。そのスコア
が3通り出るので、その平均値が'mean_score'、また複数のスコア(n=3)の標準偏差が'mean_std'と
いうもの。よって、'mean_score'の高いパラメーターを選択するのが基本となる。
import numpy as np import pandas as pd def get_grid_df(fitted_gs_estimator): res_dict = fitted_gs_estimator.cv_results_ results_df = pd.DataFrame() for key in res_dict.keys(): results_df[key] = res_dict[key] return results_df def group_report(results_df): param_cols = [x for x in results_df.columns if 'param' in x and x is not 'params'] focus_cols = param_cols + ['mean_test_score'] print ("Grid CV Report \n") output_df = pd.DataFrame(columns = ['param_type','param_set', 'mean_score','mean_std']) cc = 0 for param in param_cols: for key,group in results_df.groupby(param): output_df.loc[cc] = (param, key, group['mean_test_score'].mean(), group['mean_test_score'].std()) cc += 1 return output_df results_df = get_grid_df(pre_gs_inst) group_report(results_df)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。