基尼不纯度是一种衡量分类模型性能的指标,常用于决策树的剪枝。其计算公式为:
其中, 是每个类别的概率。
标准代码如下
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)