基尼不纯度是一种衡量分类模型性能的指标,常用于决策树的剪枝。其计算公式为:

其中, 是每个类别的概率。

标准代码如下

def gini_impurity(y: list[int]) -> float:
    classes = set(y)
    n = len(y)
    gini_impurity = 0
    for cls in classes:
        gini_impurity += (y.count(cls)/n)**2

    return round(1-gini_impurity,3)