问题标签 [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.
sql - 如何从不定数量的组中聚合信息
如何从 TSQL 中不定数量的组中聚合信息?例如,我们有一个包含 2 列的表 - 客户和区域。
每个客户端都可以有任意数量的区域。
在下面的示例中:client1 有 4 组区域,第 2 - 1 组,第 3 - 2 组。
我想计算每个客户的基尼杂质,即计算 - 客户区域的差异有多大。
为此,我想对每个客户应用以下公式:
但是区域的数量是不确定的(每个客户可能不同)。
这应该计算:
这是理想的输出:
你能提示我解决问题的方法吗?
r - 哪些预测变量与 R 上 randomForest 的二元结果中的一个具体相关联?
在 R 上使用该importance()
函数时,randomForest
您可以获得最重要的预测变量列表。
我想知道如何判断哪些预测变量与特定二元结果中的 1 个相关联?(即哪些预测因子与疾病结果相关,哪些预测因子与无疾病结果相关)。
这是我获取重要预测变量列表的代码:
例如,如果蛋白 A 是一个强预测因子,我想知道高水平的蛋白 A 是否与疾病相关,或者高水平的蛋白 A 是否与无疾病样本相关。所以我想知道预测因子是与疾病负相关还是与疾病直接相关。
r - 使用嵌套交叉验证的基准实验中的特征重要性
我mlr
在 R 中使用包在二进制分类任务中比较两个学习器,即随机森林和套索分类器。我想提取特征对最佳分类器的重要性,在这种情况下是随机森林,类似于caret::varImp()
. 我遇到了getBMRFeatSelResults()
, getFeatureImportance()
,generateFeatureImportanceData()
但似乎没有一个可以解决问题。这是我使用嵌套重采样执行基准实验的代码。理想情况下,我希望基尼系数平均下降。谢谢你。
machine-learning - 决策树拆分策略
我有一个具有 4 个分类特征(胆固醇、收缩压、舒张压和吸烟率)的数据集。我使用决策树分类器来查找中风的概率。
我正在尝试验证我对 Python Sklearn 完成的拆分过程的理解。
因为它是一棵二叉树,所以有三种可能的方法来分割第一个特征,或者将类别 {0 和 1 分组到一个叶子,2 到另一个叶子} 或 {0 and 2, 1} 或 {0, 1和 2}。我所知道的(请在此处纠正我)是选择的拆分是信息增益最少的拆分(基尼杂质)。
我已经计算了三个分组场景中的每一个的信息增益:
但是,sklearn 的决策树选择了第一个场景而不是第三个场景(请查看图片)。
任何人都可以帮助澄清选择的原因吗?是否存在导致纯节点的拆分的优先级。因此选择这样的场景虽然它的信息增益较少?
sql - 如何使用 SQL 获取 Lorenz 曲线图的点?
我正在使用 BigQuery,我有兴趣绘制洛伦兹曲线(用于不平等,与基尼系数有关)。
如何使用 SQL 为这样的绘图生成数据?
该曲线是显示底层 x% 的人所承担的总收入或财富比例的图表,尽管这对于有限的人口来说并不严格(见下文)。它通常用于表示收入分配,其中显示了最低 x% 的家庭,他们拥有的总收入的百分比 (y%)。家庭百分比绘制在 x 轴上,收入百分比绘制在 y 轴上。它也可以用来显示资产的分布。在这种用途中,许多经济学家认为它是衡量社会不平等的指标。https://en.wikipedia.org/wiki/Lorenz_curve
python - 根据逐行操作添加新的 pandas df 列
我有一个这样的数据框:
我想根据有趣的列对同一类别执行 GINI 索引。之后,我想在新的 pandas 列中添加这样的值。
这是获取基尼指数的函数:
编辑* 抱歉,我的最终所需数据框中有错误。在选择 prob(A) 和 prob(B) 时,是否有趣并不重要,但 Gini 分数将是相同的,因为它将衡量我们将多少杂质归类为有趣或不有趣的歌曲。因此,如果概率在 50/50% 左右,则意味着 Gini 分数将达到最大值(0.5),这是因为同样可能会被错误地选择是否有趣。
所以对于前两行,基尼指数将是:
然后我想得到类似的东西:
r - 面板数据中的基尼系数
我有一个分组数据结构(不同的家庭回答每周的民意调查),我观察他们超过 52 周(在下面的例子中为 4 周)。现在我想用基尼系数来表示一个家庭在给定时间点的价值。在这种情况下,如果该家庭在过去几周内没有参与,那么参与投票的家庭的价值应该更高。因此,一个总是回答民意调查的家庭在给定一周内的基尼系数应该低于每 4 周回答一次的家庭。
数据结构如下:
1 表示参与,0 表示不参与。
python - 具有平均差(基尼)的性能 numpy 与 for 循环
我的目标是找到一种快速解决方案来实现定性数据的平均差 (Gini)。由于某些数组可能有数百万个值,因此我寻找最快的实现。在编程时,我想知道为什么 for 循环比仅使用 numpy 函数的实现要快得多。这与我迄今为止对 Python 和 numpy 的了解完全相反:
版本 1 的结果:每个循环 2.01 秒 ± 61.1 毫秒(平均值 ± 标准偏差。7 次运行,每个循环 1 个)
版本 2 的结果:每个循环 1.96 秒 ± 45.3 毫秒(平均值 ± 标准偏差,7 次运行,每个循环 1 个)
版本 3 的结果:每个循环 166 毫秒 ± 5.06 毫秒(平均值 ± 标准偏差,7 次运行,每个循环 1 个)
我想知道为什么带有 for 循环的版本是迄今为止最快的?
r - 通过事件计算基尼系数的变化
我有一个不同家庭回答每周民意调查的分组数据结构,我观察他们超过 52 周(在下面的示例中为 4 周)。现在我想使用基尼系数来量化给定一周内所有家庭的民意调查答案的(不)平等程度(其中 0 = 所有家庭都回答了相同数量的民意调查;1 = 一个家庭回答了所有民意调查) .
示例数据:
我现在开始计算每周的基尼系数:
现在我想添加第二个变量,通过一周内参与民意调查的家庭来表示基尼系数的变化(家庭 h 在 w 周填写民意调查后的基尼 - 家庭 w 在 w 填写民意调查之前的基尼)。我该如何解决这个问题?