python - 如何在 sklearn 中的 RandomForestClassifier 中合并权重
问题描述
我有以下dataframe
import pandas as pd
import numpy as np
dt = pd.DataFrame({'var1': list(np.random.randint(1, 200, 300)), 'var2': list(np.random.randint(1, 200, 300)),
'weight': [1.25]*250 + [6.25]*50,
'target': ['a'] * 20 + ['b'] * 20 + ['c'] * 120 + ['d'] * 140,
'gender': ['M']*250 + ['F']*50})
我想对、target
using和执行分类var1
var2
gender
如您所见,target
变量是不平衡的(类的大小、 和a
变化b
)。c
d
该weight
列包含使样本对总体具有代表性的观察(调查)权重(因为在我的数据集中5/6
是Males
且仅1/6
是Females
,而在现实世界中,比例Males/Females
约为50/50
)
我的问题是,如何在合并weight
列的同时使用 RF 进行分类?
包中的sample_weight
参数sklearn
将考虑到target
我的数据集上变量的不平衡,但我感兴趣的是,RF 是否有办法通过使用“加权基尼指数”之类的方法在决策树中进行拆分" 来计算节点的杂质,而不仅仅是平均地“加权”所有观测值的基尼指数
解决方案
推荐阅读
- python - 切片 URL 准备通过主机名获取 ip
- r - 如何自动引用展开列的名称 - dplyr
- python - 将使用迭代的函数转换为 keras
- javascript - 悬停在子菜单上时突出显示父菜单和子菜单
- r - R:如何将变量转换为 ggplot 数据框中的值
- selenium - 无法为 Selenium 3.5.1 创建 ExtentReport
- php - 在 PHPPresentation 中添加下划线
- python - 谷歌云引擎:输入实例不是 JSON 格式
- angular - Angular 4向服务发送消息但返回未定义
- javascript - 来自另一个元素的 CSS 或 Javascript 百分比,没有加载页面的不良影响