基尼指数怎么算,python完整代码
时间: 2024-06-17 12:03:22 浏览: 7
基尼指数(Gini Index)是一种衡量分类变量重要性的方法,用于度量样本集合的不纯度。在决策树算法中,使用基尼指数来选择最优的分裂特征。其计算公式如下:
$Gini(D) = \sum_{k=1}^{|\mathcal{Y}|}\sum_{k'\neq k}p_k p_{k'}=1-\sum_{k=1}^{|\mathcal{Y}|}p_k^2$
其中,$D$表示数据集,$\mathcal{Y}$表示数据集中所有类别,$p_k$表示属于第$k$类的样本在数据集$D$中的比例。
以下是Python代码实现:
```python
import numpy as np
def gini(y):
"""
计算基尼指数
:param y: 类别标签
:return: 基尼指数
"""
# 获取样本总数
total = len(y)
# 获取所有类别
classes = np.unique(y)
# 初始化基尼指数为0
gini_index = 0.0
# 遍历所有类别
for c in classes:
# 计算属于该类别的样本比例
p = np.sum(y == c) / total
# 更新基尼指数
gini_index += p * (1 - p)
return gini_index
# 测试代码
y = np.array([1, 1, 0, 1, 0, 0])
print(gini(y)) # 输出结果为:0.5
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)