gpt4 book ai didi

python - 为 DecisionTreeClassifier 传递参数时出错

转载 作者:太空宇宙 更新时间:2023-11-03 14:51:04 24 4
gpt4 key购买 nike

我正在尝试使用字符串中的参数的 DecisionTreeClassifier。

 print d    # d= 'max_depth=100'
clf = DecisionTreeClassifier(d)
clf.fit(X[:3000,], labels[:3000])

对于这种情况,我收到以下错误。如果我使用 clf = DecisionTreeClassifier(max_depth=100) 它工作正常。

Traceback (most recent call last):
File "train.py", line 120, in <module>
grid_search_generalized(X, labels, {"max_depth":[i for i in range(100, 200)]})
File "train.py", line 51, in grid_search_generalized
clf.fit(X[:3000,], labels[:3000])
File "/usr/local/lib/python2.7/dist-packages/sklearn/tree/tree.py", line 790, in fit
X_idx_sorted=X_idx_sorted)
File "/usr/local/lib/python2.7/dist-packages/sklearn/tree/tree.py", line 326, in fit
criterion = CRITERIA_CLF[self.criterion](self.n_outputs_,
KeyError: 'max_depth=100'

最佳答案

您将参数作为字符串对象传递,而不是作为可选参数传递。
如果您确实必须使用此字符串调用构造函数,则可以使用以下代码:

 arg = dict([d.split("=")])
clf = DecisionTreeClassifier(**arg)

您可以在此链接中阅读有关参数解包的更多信息
Passing a dictionary to a function in python as keyword parameters

关于python - 为 DecisionTreeClassifier 传递参数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45898858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com