我想将
optbinning.BinningProcess
集成到我的管道中,但在此之前,我需要了解输出。我原本期待 fit_transform 之后的 bin,但我获得的值接近我的目标变量。
有人可以向我解释一下输出吗?或者如果我做错了什么请指出我。
这是一个可重现的示例:
import pandas as pd
from random import choices
from random import uniform
from optbinning import BinningProcess
df = pd.DataFrame({'continuous_feature': choices(range(0,30), k=100),
'cat_feature': choices(['A', 'B', 'C'], k = 100),
'target' : [uniform(15,16) for x in range(0,100)]})
all_features = ["continuous_feature", "cat_feature"]
X = df.loc[:, all_features]
y = df.loc[:, 'target']
BinningProcess(all_features, categorical_variables= ['cat_feature']).fit_transform(X, y)
Nick ODell 提到,对于每个 bin,分箱算法返回的值是“该 bin 目标变量的平均值”。如果您愿意获取垃圾箱,请使用
metric = "bins"
中的 fit.transform(X,y)
选项。