Gini指数的计算
Gini指数的计算import torchimport numpy as npdef gini_index_single(a,b):single_gini = 1 - ((a/(a+b))**2 + (b/(a+b))**2)return round(single_gini,2)## 是来表示的是对应着他们所对应的纯度的。其中所对应的G## Gini指数越小的话,所对应的纯度就是越高的print(
·
Gini指数的计算
import torch
import numpy as np
def gini_index_single(a,b):
single_gini = 1 - ((a/(a+b))**2 + (b/(a+b))**2)
return round(single_gini,2) ## 是来表示的是对应着他们所对应的纯度的。其中所对应的G
## Gini指数越小的话,所对应的纯度就是越高的
print(gini_index_single(105,39))
def gini_index(a,b,c,d):
zuo = gini_index_single(a,b)
you = gini_index_single(c,d)
## 算出了左边Gini,然后是算出右边的Gini,然后是对应的总的样本数之和,在来进行样本数的加权平均
gini_index = zuo*(a+b)/(a+b+c+d) + you*((c+d)/(a+b+c+d))
return round(gini_index,2)
print(gini_index(105,39,34,125)) ## 这里都是来算出相应的Gini指数
print(gini_index(37,127,100,33)) ## 算出相应的Gini指数
print(gini_index(92,31,45,129)) ## 算出相应的Gini指数,最终,选出一个最小的出来进行分类的过程的。所以我们这里是选用0.36来进行分类的。
## 所以我们这里选择37,127,100,33来进行相应的分类过程的。
# 这里是来对应的第二次分叉
print(gini_index(13,98,24,29)) ## 这里是来存在一种划分的情况的 ,这里是有这种病所对应的情况
## 然后是可以来进行划分 ## 没有得这种病所对应的情况
print(gini_index(24,25,13,102)) ## 0.3 0.29 由于基尼指数变小所以是可以来进行这样的划分的。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)