如何在sklearn中获得基尼系数

Min*_*ing 6 python scikit-learn gini

我想在 sklearn 包中,找到一类路径上每个特征的基尼系数,例如在虹膜数据中。如 Iris-virginica 花瓣长度 gini\xef\xbc\x9a0.4 \xef\xbc\x8c花瓣宽度 gini\xef\xbc\x9a0.4。

\n

Mar*_*oma 5

你可以用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())
Run Code Online (Sandbox Code Playgroud)