首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Data Analyst

    我对洛伦兹曲线与GINI系数的一点看法

    解读洛伦兹曲线的方法就是利用GINI系数: GINI系数可以用于任何一个表示均衡分配的分析之中,实际在市场的产品均衡度分析中会经常用到GINI系数这个指标。 再例如,在中国鸡精的品牌有太太乐、豪极,他们都属于雀巢,基本可以说中国的鸡精被雀巢所垄断,那么鸡精的GINI系数也非常的高。 如下图,黄蓝线间的面积越小表示收入分配越平均。 A=0时,A/(A+B)=0,则GINI系数为0,收入分配完全平等; B=0时,A/(A+B)=1,则GINI系数为1,收入分配绝对不平等。 所以GINI系数可以取0-1之间的任意数值,一般GINI系数<0.2表示收入绝对平均,0.2<GINI系数<0.3表示比较平均,0.3<GINI系数<0.4表示相对合理,0.4<GINI系数<0.5表示收入差距较大 ,GINI系数>0.6表示收入差距悬殊。

    1.5K10发布于 2019-07-15
  • 来自专栏小小程序员——DATA

    Numpy 实现基尼指数算法的决策树

    特征 A 条件下集合 D 的基尼指数: \operatorname{Gini}(D, A)=\frac{\left|D_{1}\right|}{|D|} \operatorname{Gini}\left probabilities = counts / len(labels) gini = 1 - np.sum(probabilities ** 2) return gini def calculate_gini_index = calculate_gini(left_labels) right_gini = calculate_gini(right_labels) # 计算基尼指数 total_gini ) / len(labels) gini_index = (left_weight * left_gini) + (right_weight * right_gini) return gini_index = calculate_gini_index(data, labels, feature_index, threshold) if gini_index < best_gini_index

    52720编辑于 2023-12-08
  • 来自专栏全栈程序员必看

    python 基尼系数_Python计算

    代码实现 套用公式: def gini(a: int, b: int) -> float: return 1-pow(a/(a+b), 2)-pow(b/(a+b), 2) def gini_total(a: int, b: int, c: int, d: int) -> float: return (a+b)/(a+b+c+d) * gini(a, b) + (c +d)/(a+b+c+d) * gini(c, d) print(gini(13, 98)) print(gini(24, 29)) print(gini_total(13, 98, 24, 29) [i][0]/temp_denominator, 2) - np.power(data_list[i][1]/temp_denominator, 2) total_gini = temp_gini * temp_son / total_sum + total_gini return total_gini 测试结果 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    96620编辑于 2022-09-27
  • 来自专栏生信宝典

    机器学习算法 随机森林学习 之决策树

    Gini Impurity 在数据集中随机选择一个数据点,并随机分配给它一个数据集中存在的标签,分配错误的概率即为Gini impurity。 这是一个完美的决策树,把Gini Impurity为0.5的数据集分类为2个Gini Impurity为0的数据集。Gini Impurity== 0是能获得的最好的分类结果。 <- Gini_impurity(right) total_gini <- left_gini * left_len / total + right_gini * right_len /total is.null(Init_gini_impurity)){ Gini_gain <- Init_gini_impurity - total_gini result = c(variable_column = T } one_split_gini[order(one_split_gini[[colnames(one_split_gini)[5]]], decreasing = decreasing

    61610编辑于 2022-01-19
  • 来自专栏医学和生信笔记

    R语言机器学习caret-10:随机森林的小例子

    2 gini 7 0.8764686 0.17450925 0.9955341 ## 2 gini 9 4 gini 7 0.8777288 0.28763325 0.9886491 ## 4 gini 9 6 gini 7 0.8753984 0.31209279 0.9865402 ## 6 gini 9 8 gini 7 0.8730885 0.32243634 0.9853204 ## 8 gini 9 2 gini 9 1 1 1 ## 2 gini 11 1 1 1

    83721编辑于 2023-08-30
  • 来自专栏学习

    【机器学习】决策树算法

    根据加权方式求和:Gini(工作)=4/10*(Gini(工作,是))+6/10*(Gini(工作,否))=0.27。 根据加权方式求和:Gini(房子)=5/10*(Gini(房子,是))+5/10*(Gini(房子,否))=0.4。 根据加权方式求和:Gini(信誉)=4/10*(Gini(信誉,一般))+2/10*(Gini(信誉,良好))+4/10*(Gini(信誉,很好))=0.45。 我们比较这三个数Gini(工作)=0.27、Gini(房子)=0.4、Gini(信誉)=0.45。我们发现这个三个数字中Gini(工作)=0.27最小,所以我们按照它来建立决策树。 根据加权方式求和:Gini(房子)=2/6*(Gini(房子,是))+4/6*(Gini(房子,否))=0。

    35510编辑于 2024-09-25
  • 来自专栏机器学习初学者精选文章

    【机器学习基础】数学推导+纯Python实现机器学习算法5:决策树之CART算法

    ID3和C4.5分别采用信息增益和信息增益比来选择最优特征,但CART分类树采用Gini指数来进行特征选择。先来看Gini指数的定义。 Gini指数是针对概率分布而言的。 具体到实际的分类计算中,给定样本集合D的Gini指数计算如下 ? 相应的条件Gini指数,也即给定特征A的条件下集合D的Gini指数计算如下 ? 首先定义Gini指数的计算函数: def gini(nums): probs = [nums.count(i)/len(nums) for i in set(nums)] gini = sum([p*(1-p) for p in probs]) return gini 读入数据并计算标签的Gini指数: df = pd.read_csv('. index gini_Di = gini(subset[label].tolist()) # calculating gini

    1.3K20发布于 2020-06-21
  • 来自专栏大数据文摘

    手把手: 如何用R作Polar图等

    head=T) Gini<- ggplot(GiniData, aes(x=paste(GiniIndex,Country),y=GiniIndex,fill=GiniIndex%/%10)) Gini <- Gini +geom_bar(stat="identity",position="dodge")+coord_polar() Gini<- Gina + scale_fill_continuous (high="darkred",low="darkgreen") Gini<- Gini + theme( panel.background=element_rect(fill="white ="China"))) Gini<- Gini + geom_bar(stat="identity",position="dodge")+coord_polar() Gini<- Gini + scale_fill_continuous (high="darkred",low="darkgreen") Gini<- Gini + theme( panel.background=element_rect(fill="white

    81050发布于 2018-05-22
  • 来自专栏学习

    【机器学习】决策树算法

    根据加权方式求和:Gini(工作)=4/10*(Gini(工作,是))+6/10*(Gini(工作,否))=0.27。 根据加权方式求和:Gini(房子)=5/10*(Gini(房子,是))+5/10*(Gini(房子,否))=0.4。 根据加权方式求和:Gini(信誉)=4/10*(Gini(信誉,一般))+2/10*(Gini(信誉,良好))+4/10*(Gini(信誉,很好))=0.45。 我们比较这三个数Gini(工作)=0.27、Gini(房子)=0.4、Gini(信誉)=0.45。我们发现这个三个数字中Gini(工作)=0.27最小,所以我们按照它来建立决策树。 根据加权方式求和:Gini(房子)=2/6*(Gini(房子,是))+4/6*(Gini(房子,否))=0。

    31610编辑于 2025-05-23
  • 来自专栏从流域到海域

    从零开始在Python中实现决策树算法

    ) 在这个例子中,每组的基尼分数计算如下: Gini(group_1) = (1 - (1*1 + 0*0)) * 2/4 Gini(group_1) = 0.0 * 0.5 Gini(group_1) X1 < 2.771 Gini=0.444 X1 < 1.729 Gini=0.500 X1 < 3.678 Gini=0.286 X1 < 3.961 Gini=0.167 X1 < 2.999 Gini =0.375 X1 < 7.498 Gini=0.286 X1 < 9.002 Gini=0.375 X1 < 7.445 Gini=0.167 X1 < 10.125 Gini=0.444 X1 < 6.642 Gini=0.000 X2 < 1.785 Gini=0.500 X2 < 1.170 Gini=0.444 X2 < 2.813 Gini=0.320 X2 < 2.620 Gini=0.417 X2 < 2.209 Gini=0.476 X2 < 3.163 Gini=0.167 X2 < 3.339 Gini=0.444 X2 < 0.477 Gini=0.500 X2 < 3.235 Gini

    3.6K60发布于 2018-02-02
  • 来自专栏从流域到海域

    How To Implement The Decision Tree Algorithm From Scratch In Python (从零开始在Python中实现决策树算法)

    ) 在这个例子中,每组的基尼分数计算如下: Gini(group_1) = (1 - (1*1 + 0*0)) * 2/4 Gini(group_1) = 0.0 * 0.5 Gini(group_1) X1 < 2.771 Gini=0.444 X1 < 1.729 Gini=0.500 X1 < 3.678 Gini=0.286 X1 < 3.961 Gini=0.167 X1 < 2.999 Gini =0.375 X1 < 7.498 Gini=0.286 X1 < 9.002 Gini=0.375 X1 < 7.445 Gini=0.167 X1 < 10.125 Gini=0.444 X1 < 6.642 Gini=0.000 X2 < 1.785 Gini=0.500 X2 < 1.170 Gini=0.444 X2 < 2.813 Gini=0.320 X2 < 2.620 Gini=0.417 X2 < 2.209 Gini=0.476 X2 < 3.163 Gini=0.167 X2 < 3.339 Gini=0.444 X2 < 0.477 Gini=0.500 X2 < 3.235 Gini

    2K90发布于 2018-02-05
  • 来自专栏机器学习/数据可视化

    基于sklearn的决策树实现

    train_test_split 采用不同的指标,基尼系数或者信息熵进行建模,使用的是X_train和y_train 实例化 fit拟合 预测功能:采用上面的两种实例化进行预测y_pred = clf_gini.predict return X, y, X_train, X_test, y_train, y_test # 使用基尼系数进行训练 training with giniIndex def train_using_gini (X_train, y_train): # 先建立实例,再进行fit拟合 clf_gini = DecisionTreeClassifier(criterion="gini" # ("result using gini Index:") y_pred_gini = prediction(X_test, clf_gini) cal_accuracy(y_test, y_pred_gini) print("result using Entropy:") y_pred_entropy = prediction(X_test, clf_entropy)

    54010发布于 2021-03-02
  • 来自专栏blog(为什么会重名,真的醉了)

    分类和回归-决策树算法(ID3、C4.5和CART)

    定义基尼指数: Gini\_index(D,A)=\sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v) 若根据outlook来划分,14天中有5天Sunny(2正3负)、5天 Rain(3正2负)、4天Overcast(4正0负),则: Gini(D_{sunny})=1-(\frac{2}{5}^2+\frac{3}{5}^2)=0.48 Gini(D_{rain})= 1-(\frac{3}{5}^2+\frac{2}{5}^2)=0.48 Gini(D_{overcast})=1-(\frac{4}{4}^2+\frac{0}{4}^2)=0 Gini\_index B)=Gini\_index(D,T_B=5)=0 。 然后决策选择特征A还是特征B作为划分依据: Gini\_index(D,A)>Gini\_index(D,B) 故选择特征B作为划分依据。

    1.3K30编辑于 2022-10-31
  • 来自专栏数据小魔方

    R语言在收入不平等指标测度上的应用~

    ){ library(dplyr) GX<-Gini(Salary_gini_data$Salary) GY< -Gini(Salary_gini_data$aftertax_salary) CT<-Gini(Salary_gini_data$Salary_tax ) CY<-Salary_gini_data%>%arrange(Salary)%>%. [,"aftertax_salary"]%>%Gini_N t <-sum(Salary_gini_data$Salary_tax)/sum(Salary_gini_data$Salary) CXT<-Gini(Salary_gini_data$tax_Salary) P <-CT-GX

    1.3K70发布于 2018-04-11
  • 来自专栏blog(为什么会重名,真的醉了)

    机器学习-决策树算法(ID3、C4.5和CART)

    定义基尼指数: Gini\_index(D,A)=\sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v) 若根据outlook来划分,14天中有5天Sunny(2正3负)、5天 Rain(3正2负)、4天Overcast(4正0负),则: Gini(D_{sunny})=1-(\frac{2}{5}^2+\frac{3}{5}^2)=0.48 Gini(D_{rain})= 1-(\frac{3}{5}^2+\frac{2}{5}^2)=0.48 Gini(D_{overcast})=1-(\frac{4}{4}^2+\frac{0}{4}^2)=0 Gini\_index B)=Gini\_index(D,T_B=5)=0 。 然后决策选择特征A还是特征B作为划分依据: Gini\_index(D,A)>Gini\_index(D,B) 故选择特征B作为划分依据。

    2.1K40编辑于 2023-05-23
  • 来自专栏TechFlow

    机器学习——十大数据挖掘之一的决策树CART算法

    因此Gini指数越小,说明数据集越集中,也就是纯度越高。它的概念等价于信息熵,熵越小说明信息越集中,两者的概念是非常近似的。 所以当我们使用Gini指数来作为划分依据的时候,选择的是切分之后Gini指数尽量小的切分方法,而不是尽量大的。 从上图当中可以看出来,Gini指数和信息熵的效果非常接近,一样可以非常好地反应数据划分的纯度。 我们只需要把之前的信息增益比改成Gini指数即可: from collections import Counter def gini_index(dataset): dataset = np.array (left) + right.shape[0] / n * gini_index(right) 然后选择拆分的函数稍微调整一下,因为Gini指数越小越好,之前的信息增益和信息增益比都是越大越好。

    1.1K10发布于 2020-06-04
  • 来自专栏AI智能体从入门到实践

    构建AI智能体:决策树的核心机制(二):抽丝剥茧简化专业术语推理最佳分裂点

    gini_parent = gini_impurity(y_subset) impurity_reduction = gini_parent - weighted_gini print (f"不纯度减少量(信息增益)值: {impurity_reduction:.6f}, gini_parent: {gini_parent}, weighted_gini: {weighted_gini }") print(f"threshold: {threshold:.2f}, gini_left: {gini_left:.6f}, gini_right: {gini_right:.6f}, 'gini_right': gini_right, 'weighted_gini': weighted_gini, 'impurity_reduction': impurity_reduction : 0.5, weighted_gini: 0.3055555555555555threshold: 1.35, gini_left: 0.000000, gini_right: 0.424383, weighted_gini

    21311编辑于 2025-11-28
  • 来自专栏数据派THU

    7个步骤详解AdaBoost 算法原理和构建流程(附代码)

    ** 2 # Gini index of the right leafe Gini_2 = 1-(n_2_yes/(n_2_yes + n_2_no)) ** 2-(n_2_no/( Gini_attribute = (n_1/n) * Gini_1 + (n_2/n) * Gini_2 Gini_attribute = round(Gini_attribute, 3) print(f'Gini_{attribute} = {Gini_attribute}') return Gini_attribute def find_attribute_that_shows_the_smallest_gini_index attributes = [] gini_indexes = [] for attribute in df.columns[:-1]: # calculate gini (gini_index) # create a data frame using the just calculated gini index for each feature/attribute

    1.3K20编辑于 2022-08-29
  • 来自专栏DeepHub IMBA

    7个步骤详解AdaBoost 算法原理和构建流程

    ) ** 2 # Gini index of the right leafe Gini_2 = 1-(n_2_yes/(n_2_yes + n_2_no)) ** 2-( ) as root node Gini_attribute = (n_1/n) * Gini_1 + (n_2/n) * Gini_2 Gini_attribute = round( Gini_attribute, 3) print(f'Gini_{attribute} = {Gini_attribute}') return Gini_attribute calculate gini index for attribute as root note using the defined function "calc_weighted_gini_index" of the data set:") d_calculated_indexes = {'attribute':attributes,'gini_index':gini_indexes

    55120编辑于 2022-11-11
  • 来自专栏Soul Joy Hub

    【Spark Mllib】决策树,随机森林——预测森林植被类型

    predictionsAndLabels) } val model = DecisionTree.trainClassifier(trainData,7,Map[Int,Int](),"gini ,20,300),0.9319721451536285) ((entropy,20,10),0.9273681094366382) ((gini,20,10),0.9195954644654499) ( (gini,1,10),0.633916339077334) ((gini,1,300),0.6335772755123819) ((entropy,1,300),0.48759922342395684 ,30,300),0.6327390828416625) ((gini,20,300),0.6319645721602997) ((gini,10,256),0.6190078690285227) (( gini,30,256),0.6165724632193483) ((gini,20,256),0.6149373851142489) ((gini,10,300),0.596522963381135)

    1.7K10发布于 2019-02-13
领券