我的 ML 课程让我在决策树中找到错误值最小的叶子。叶子和错误值存储在字典中(输出下方)
{5: 35044.51299744237, 25: 29016.41319191076, 50: 27405.930473214907, 100: 27282.50803885739, 250: 27893.822225701646, 500: 29454.18598068598}
现在,这本词典中的最优解应该是 100,因为它的错误率最低。
代码片段如下:
candidate_max_leaf_nodes = [5, 25, 50, 100, 250, 500]
for i in candidate_max_leaf_nodes:
#stores key,value pair of leaf_nodes, and their error values
mydict[i] = get_mae(i,train_X,val_X,train_y,val_y)
print(mydict)
# Find the best value of max_leaf_nodes (it will be either 5, 25, 50, 100, 250 or 500)
我尝试最小值的代码如下:
tmp = min(mydict.values())
best_tree_size = [key for key in mydict if mydict[key] == tmp]
但是,我不断收到TypeError : 'int' object is not callable。有人可以解释我哪里出错了吗?我可以以更优化的方式找到最小值吗?
陪伴而非守候
白衣非少年
千巷猫影
相关分类