我想在 sklearn 包中,找到一类路径上每个特征的基尼系数,例如在 iris 数据中。如 Iris-virginica 花瓣长度 gini:0.4 ,花瓣宽度 gini:0.4。
问问题
7672 次
1 回答
3
您可以使用 Python+numpy 计算基尼系数,如下所示:
from typing import List
from itertools import combinations
import numpy as np
def gini(x: List[float]) -> float:
x = np.array(x, dtype=np.float32)
n = len(x)
diffs = sum(abs(i - j) for i, j in combinations(x, r=2))
return diffs / (2 * n**2 * x.mean())
于 2020-01-08T13:10:58.850 回答