繁体   English   中英

我如何调用 optbinning 模块获取所有变量分箱的结果

[英]how can i call optbinning module get results of all varible binning

现在我使用 optbinning 模块对所有逻辑回归建模变量进行分箱。 然而 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)

但是出现错误“操作数无法与形状一起广播(52803,602)(52803,)”我得到dataframe包括数百个变量,如果一个一个计算将是一个巨大的工程。 请帮助我,谢谢。

要计算数据集中所有变量的最佳分箱,您可以使用 BinningProcess class。

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM