【问题标题】:Decision Tree classifier throws KeyError: 'log_loss'决策树分类器抛出 KeyError: \'log_loss\'
【发布时间】:2022-12-29 05:15:52
【问题描述】:
我使用了 sklearn 的决策树,通常有 log_loss
classifier = DecisionTreeClassifier(random_state = 42,class_weight ='balanced' ,criterion='log_loss')
classifier.fit(X_train, y_train)
错误 :
KeyError: 'log_loss'
【问题讨论】:
标签:
machine-learning
scikit-learn
decision-tree
【解决方案1】:
参数criterion的log_loss选项仅在最新的scikit-learnversion 1.1.2中添加:
标准{“基尼”,“熵”,“log_loss”},默认=“基尼”
它不存在于前两个 version 1.0.2 或 version 0.24.2 中:
标准{“基尼”,“熵”},默认=“基尼”
该错误表明您使用的是旧版本;你可以检查你的 scikit-learn 版本
import sklearn
print(sklearn.__version__)
因此,您需要将 scikit-learn 升级到 v1.1.2。
【解决方案2】:
log_loss 标准适用于目标列中有 2 个类的情况。
否则,如果我们有 2 个以上的类别,那么我们可以使用熵作为保持相同杂质度量的标准。