gpt4 book ai didi

python - 如何惩罚错误分类某个类别的决策树?

转载 作者:太空宇宙 更新时间:2023-11-04 04:47:50 25 4
gpt4 key购买 nike

您只需复制/粘贴代码即可在您的环境中运行。

我找到的科学术语是成本最小化,而该算法应用精度最大化。那就是算法的目标是在准确率上获得最高分,而我不关心准确率,我关心的是不对某个类进行错误分类。

我知道以下将 CART 算法用于决策树,我如何更改它以强调误分类错误比误分类正例更危险。我知道术语是成本最小化,但我不确定如何应用它或在哪些书籍中搜索。

import numpy as np
import pandas as pd
from sklearn.datasets import make_classification
from sklearn.tree import DecisionTreeClassifier

X, y = make_classification(n_samples=1000,
n_features=6,
n_informative=3,
n_classes=2,
random_state=0,
shuffle=False)

# Creating a dataFrame
df = pd.DataFrame({'Feature 1':X[:,0],
'Feature 2':X[:,1],
'Feature 3':X[:,2],
'Feature 4':X[:,3],
'Feature 5':X[:,4],
'Feature 6':X[:,5],
'Class':y})


y_train = df['Class']
X_train = df.drop('Class',axis = 1)


dt = DecisionTreeClassifier(random_state=42)
dt.fit(X_train, y_train)

最佳答案

我只能想到两个选择:

增加Positive类的权重

DecisionTreeClassifier有一个参数可以让你改变每个类的默认权重。默认值是平衡的,这意味着所有类的权重都为 1。为了最大程度地减少假阴性,您可以为正类标记数据赋予更大的权重。

创建您的评分函数以尽量减少漏报

该算法计算每个类别的概率。如果你有两类分类问题,那么如果一个样本的概率>=0.5,那么它被打成1分,如果它<0.5,它被打成0分。

这些概率与经过训练的模型一起返回,您可以通过 dt.predict_proba 获取它们。因此,与其获取模型返回的评分标签,不如使用预测概率创建评分函数,以最大限度地减少成本矩阵上的假阴性。

关于python - 如何惩罚错误分类某个类别的决策树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49131151/

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