如何调用optbinning模块以获得所有可变装箱的结果

2024-09-30 05:24:42 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我使用OPTBining模块将所有对数回归建模变量组合在一起。 然而,optbinning模块只需要使用一个变量,例如

variable = "REGION_POPULATION_RELATIVE"
x = df[variable].values
y = df.TARGET.values
from optbinning import OptimalBinning
optb = OptimalBinning(name=variable, dtype="numerical", solver="ls", max_n_prebins=100,
                      min_prebin_size=0.001, time_limit=50)
optb.fit(x, y)

如何使用循环获取所有变量的装箱结果? 我试着编码

variable_names = train_validation_valid_nonstring_nondatetype_categoryencoders.keys()
for i in variable_names:
    optb = OptimalBinning(name=i,dtype="numerical", solver="cp")
    optb.fit(x_category_encoders_target, y_category_encoders)

但get error“操作数无法与形状(52803602)(52803,)一起广播” 我得到的dataframe包含数百个变量,如果逐个计算,这将是一个巨大的项目。 请帮帮我,谢谢


Tags: 模块namedfnamesnumericalvariablefitvalues
1条回答
网友
1楼 · 发布于 2024-09-30 05:24:42

要计算数据集中所有变量的最佳组合,可以使用BinningProcess类

from optbinning import BinningProcess

binning_process = BinningProcess(variable_names=variable_names)
binning_process.fit(df[variable_names], df[target])

然后,可以使用方法get_binned_variable检索每个变量或给定变量列表的信息。例如:

for variable in variable_names:
    optb = binning_process.get_binned_variable(name=variable)
    optb.binning_table.build()
    optb.binning_table.plot()
    optb.binning_table.analysis()

相关问题 更多 >

    热门问题