我们如何编写for循环到循环参数?

2024-04-19 11:54:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个函数来总结下面的代码。它试图用一个特定的参数建立学习曲线

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)