寻找最佳的超级参数

时间:2019-12-26 06:19:39

标签: python pandas parameters hyperparameters

我正在使用sklearn libary的RandomsearchCV在MultinomialNB中搜索最佳alpha。当我通过rand_search.best_params_['alpha']寻找最佳Alpha值时,我将获得火车分数的最佳Alpha值。但是我想要的是cvscore最小且train和cv得分之间的差距最小的alpha。 下面是我引用的代码:

rand_search=RandomizedSearchCV(multi_nb,alpha_range,cv=50,scoring='roc_auc',return_train_score=True)
rand_search.fit(final_tf_idf_train,train_y_df)

results=pd.DataFrame(rand_search.cv_results_)
results=results.sort_values(['param_alpha'])

train_auc= results['mean_train_score']
train_auc_std= results['std_train_score']
cv_auc = results['mean_test_score'] 
cv_auc_std= results['std_test_score']
alpha =  results['param_alpha']

plt.grid()
plt.plot(alpha,train_auc,label='Train AUC')
plt.plot(alpha,cv_auc,label='CV AUC')

plt.scatter(alpha,train_auc,label='Train AUC Point')
plt.scatter(alpha,cv_auc,label='CV AUC Points')
plt.legend()
plt.xlabel('Alpha')
plt.ylabel('AUC')
plt.title('Alpha Vs AUC Plot(tf-idf)')
plt.show()

enter image description here

有人可以在以下条件下帮助我找到Alpha:

  • 最低简历得分
  • 简历得分与训练成绩之间的最小差距

感谢您的贡献

0 个答案:

没有答案