问题标签 [gini]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R:根据列值将函数应用于子集
我有一个名为income.df 的数据框,看起来像这样:
我想使用Gini函数来计算每个区域的 Gini 系数。如果我想为整个数据帧计算它,而不考虑区域,我会执行以下操作:
有没有办法为数据框中的每个区域执行此操作?那么在这种情况下“rot”、“utr”和“ams”呢?请注意,Gini 函数还需要其中向量的长度(三个区域分别为 4、3 和 3)。我怀疑像 lapply 这样的东西可以做到这一点,但我不知道如何在函数中自动传递这些长度(我的实际数据框要大得多,所以手动不是一个选项)。
r - R中的基尼系数计算
我在 R 中使用包 Ineq 来计算基尼系数。通过检查源代码(如下),它在计算 Gini 之前首先对向量 x 进行排序。
示例数据:
ineq 包中的 Gini 函数源代码:
我正在为我的信用评分模型执行此操作,并且我已将数据分成相同频率的分数范围,然后按分数排序(从小到大)。
使用 ineq 包中的 Gini 函数将给出0.16。考虑到这种情况并且 ineq 包中的 Gini 函数在计算之前重新排序向量,这是正确的吗?如果不是,那么正确的基尼系数应该是多少?
r - randomForest 包中每个特征的 MeanGiniDecrease 是如何计算的?
根据我的理解,可以通过从父节点中减去子节点的 Gini 杂质以直接的方式计算 Gini 减少,那么如何在整个森林中按特征聚合所有计算?
例如,我看到许多 MeanGiniDecrease 图显示某些特征的值超过 100。对于给定的树,将与给定特征相关的节点上的所有减少(所有值在 0 和 1 之间)求和会产生如此大的数字,这似乎是不现实的(或者可能不是??)。
任何帮助将不胜感激!
r - R中信用评分数据的基尼系数和洛伦兹曲线
我在计算基尼系数和在 R 中为信用评分数据绘制洛伦兹曲线时遇到了问题。
我的原始数据位于以下列中:客户编号 (Col A)、得分点 (Col B)、坏/好(0 - 好或 1 - 坏)(Col C)。
我应该使用哪个包以及如何计算基尼指数并为我的数据绘制洛伦兹曲线?
先感谢您。
r - 如何解释 MeanDecreaseGini,刻度上的数字是什么意思?
我必须通过谈论 randomForest 中的 MeanDecreaseGini 来解释最重要的变量。例如,我有变量 x,其值为 250。你如何解释 250?250是什么意思?
r - 在 GBM 的超参数调整中进行网格搜索后,如何获得 Gini 指数以获取 tweedie 损失函数?
我正在为 H2o 中的 gbm 模型进行超参数调整,由于我的损失函数是 Tweedie,我不想将 mse 作为我的模型选择标准。
在 H2o 文档中,它说可以为回归模型和分类模型计算基尼指数,但是当我尝试为我的 Tweedie 回归模型获取它时,它返回 null。以下是我如何获得最佳模型并在测试集上对其进行评分。
当我尝试下面的代码时,出现以下错误:
这仅适用于伯努利分布吗?
r - 为什么随机森林中的平均减少基尼系数取决于人口规模?
我正在使用 R 包 randomForest 并且要了解变量的重要性,我们可以研究 varImpPlot ,它显示平均降低基尼系数。我已经详细研究了随机森林,并且非常了解该模型的详细工作原理,关于如何计算平均下降基尼系数,或者更确切地说为什么它取决于人口规模,我无法完全理解。
当我们计算出 Gini 指数时,我们可以通过以下公式(除以树的数量)来汇总平均下降 Gini:
我知道当人口较多时,每棵树中的分裂数量会更多,但这些分裂平均不应该在基尼指数上有很小的下降吗?
这是显示我的意思的示例代码(正如预期的那样,树的数量不会影响平均基尼系数的下降,但人口有很大的影响,并且似乎或多或少与人口规模呈线性关系):
产生以下这些图,我们看到 x 轴随着人口的每次增加而增加大约 10 倍:
我的猜测是,在进行的每个拆分中都有一个基于人数的权重,也就是说,在第一个节点中进行的拆分,拆分 1000 人的权重比在树下进行的拆分更重,比如 10 人,我尽管在任何文献中都找不到这一点,因为似乎所有计算都是通过考虑人口的比例而不是绝对数字来进行的。
我错过了什么?
r - 计算数据框的月收益
我被要求用 2000 年以来的历史数据计算 18 个行业 ETF 的基尼系数(分配权重的分散)。以下是摘录:
如果您知道比我的尝试更简单的方法,我会很高兴听到它!
我的尝试
其中E是所研究的所有统计变量对的所有绝对值偏差的平均值:
M是平均收入:
然而,在计算portfolio_monthly_returns
, M的平均值时,我有这个错误:argument is not numeric or logical: returning NA
.
根据我创建的朋友的想法portfolio_monthly_returns
:
我没有得到这段代码,它看起来确实很奇怪:
数据
数据文件在这里。
为了得到df
:
评论
我不知道为什么它不涉及权重:
python - 如何计算聚类的基尼系数
我有 5000 个观察值,它们聚集成 10 个集群。每个集群有 1000 个真实观察值。每个集群中的真实观察值是 1000。然而,在我运行了我的聚类算法之后,它看起来像这样:
换句话说,集群 0 应该有 1000 个成员,但其中只有 435 个被我的算法正确添加到该集群中。5000 与集群中的差值被放置在错误的集群中。
我想计算基尼系数,并找到以下代码:
它似乎在我尝试过的测试中运行良好。但是,我发现没有一个数据集看起来像我的。
所以我的问题是如何计算基尼系数?
如果我执行以下操作,我将获得每个集群的这些基尼系数:
这是每个集群的正确基尼系数吗?
并得到平均基尼系数;这只是平均值: (0.49155+0.3584+0.2782+0.4525+0)/5 吗?
group-by - SAS:一次按组对所有变量进行频率处理?
我使用 Proc freq 来计算因变量(对数薪水)和自变量(crhits、crhome 等)之间的 Somers' D
有没有办法在一个 proc freq 语句中获得所有结果?
我目前使用的代码是
我希望在一个表中为每个变量 crhits、crhome 等获取输出“somersd”,并在一个过程中完成所有这些,这可能吗?