我试图写一个函数来总结下面的代码。它试图用一个特定的参数建立学习曲线
eta = np.linspace(0.01,2, num=30)
accuracies = []
for learn_rate in eta:
model = XGBClassifier(n_jobs=4,learning_rate=learn_rate)
predictions = model.fit(train_inputs, train_target).predict(val_inputs)
accuracies.append(accuracy_score(val_target,predictions))
#plot results
plt.plot(eta,accuracies)
plt.gca().set(xlabel = 'learning_Rate', ylabel = 'Accuracy',title ="Learning curve")
plt.show()
然而,我的困惑是如何写learning_rate=learn_rate
?当for循环发生时,元素是来自params_list
的每个值,而不是learning_rate=learn_rate
。我在想像字典这样的数据结构是否可行
def make_learning_curve(params_list,class_model,**params):
accuracies = []
for element in params_list:
model = class_model(n_jobs=4, random_state=42, param_list.key **params)
目前没有回答
相关问题 更多 >
编程相关推荐