决策树的Gini不纯度是如何计算的
时间: 2024-04-04 18:29:17 浏览: 30
决策树的Gini不纯度是基于样本的概率分布计算的,它表示从样本集合中随机抽取两个样本,其类别不一致的概率。具体地,对于一个二分类问题,Gini不纯度可以用如下公式计算:
$$Gini(p) = 1 - p_1^2 - (1-p_1)^2$$
其中,$p_1$表示样本集合中属于类别1的样本占比,$1-p_1$表示属于类别2的样本占比。这个公式的意义是,从样本集合中随机抽取两个样本,其类别不一致的概率等于$p_1$与$1-p_1$的乘积加上$(1-p_1)$与$p_1$的乘积,即$2p_1(1-p_1)$。再用1减去这个概率,即可得到Gini不纯度的值。如果将其推广到多分类问题,可以类比信息熵的计算方式,将每个类别的概率作为权重,计算加权平均的Gini不纯度。
相关问题
决策树gini系数代码
决策树的Gini系数是一种衡量数据集纯度的指标,用于选择最佳的划分特征。下面是一个简单的示例代码,用于计算决策树节点的Gini系数:
```python
import numpy as np
def gini_index(groups, classes):
# 计算总样本数量
total_samples = sum(len(group) for group in groups)
# 初始化Gini系数
gini = 0.0
# 遍历每个组
for group in groups:
size = float(len(group))
# 避免除以0的情况
if size == 0:
continue
score = 0.0
# 计算每个类别在当前组中的比例
for class_val in classes:
p = [row[-1] for row in group].count(class_val) / size
score += p * p
# 根据组的大小加权计算Gini系数
gini += (1.0 - score) * (size / total_samples)
return gini
# 示例数据集
dataset = [[2.771244718,1.784783929,0],
[1.728571309,1.169761413,0],
[3.678319846,2.81281357,0],
[3.961043357,2.61995032,0],
[2.999208922,2.209014212,0],
[7.497545867,3.162953546,1],
[9.00220326,3.339047188,1],
[7.444542326,0.476683375,1],
[10.12493903,3.234550982,1],
[6.642287351,3.319983761,1]]
# 示例划分特征和类别
split_feature = 0
split_value = 6.642287351
left_group = [[2.771244718,1.784783929,0],
[1.728571309,1.169761413,0],
[3.678319846,2.81281357,0],
[3.961043357,2.61995032,0],
[2.999208922,2.209014212,0]]
right_group = [[7.497545867,3.162953546,1],
[9.00220326,3.339047188,1],
[7.444542326,0.476683375,1],
[10.12493903,3.234550982,1],
[6.642287351,3.319983761,1]]
# 计算Gini系数
classes = np.unique([row[-1] for row in dataset])
gini = gini_index([left_group, right_group], classes)
print('Gini Index:', gini)
```
sklearn 决策树 gini系数大代表什么
决策树中的gini系数是用来衡量一个特征的纯度的,它的值越大代表着该特征的纯度越低,也就是说该特征的分类效果越差。在决策树算法中,我们会选择gini系数最小的特征作为当前节点的划分特征,以达到最好的分类效果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)