composeml.LabelTimes.bin¶
- LabelTimes.bin(bins, quantiles=False, labels=None, right=True, precision=3)[source]¶
将标签分箱到离散区间。
- 参数
bins (int 或 array) – 分箱的标准。如果为整数,则该值可以是等宽分箱或基于分位点分箱的数量。如果
quantiles
为 False,该值被定义为等宽分箱的数量。范围在每侧扩展 .1% 以包含最小值和最大值。如果quantiles
为 True,该值被定义为分位点的数量(例如,10 表示十分位数,4 表示四分位数等)。如果为数组,则该值可以是自定义或基于分位点的边界。如果quantiles
为 False,该值被定义为允许非均匀宽度的分箱边界。不进行扩展。如果quantiles
为 True,该值被定义为使用分位点数组的分箱边界(例如,[0, .25, .5, .75, 1.] 表示四分位数)。quantiles (bool) – 确定是否使用基于分位点的离散化函数。
labels (array) – 指定返回的分箱的标签。必须与结果分箱的长度相同。
right (bool) – 指示分箱是否包含最右边的边界。不适用于基于分位点的分箱。
precision (int) – 存储和显示分箱标签的精度。默认值为 3。
- 返回值
标签实例。
- 返回类型
示例
这些是示例的目标值。
>>> data = [226.93, 47.95, 283.46, 31.54] >>> lt = LabelTimes({'target': data}) >>> lt target 0 226.93 1 47.95 2 283.46 3 31.54
使用等宽分箱。
>>> lt.bin(2) target 0 (157.5, 283.46] 1 (31.288, 157.5] 2 (157.5, 283.46] 3 (31.288, 157.5]
使用自定义宽度分箱。
>>> lt.bin([0, 200, 400]) target 0 (200, 400] 1 (0, 200] 2 (200, 400] 3 (0, 200]
使用无限边界分箱。
>>> lt.bin(['-inf', 100, 'inf']) target 0 (100.0, inf] 1 (-inf, 100.0] 2 (100.0, inf] 3 (-inf, 100.0]
使用四分位数分箱。
>>> lt.bin(4, quantiles=True) target 0 (137.44, 241.062] 1 (43.848, 137.44] 2 (241.062, 283.46] 3 (31.538999999999998, 43.848]
使用自定义分位点并指定精度分箱。
>>> lt.bin([0, .5, 1], quantiles=True, precision=1) target 0 (137.4, 283.5] 1 (31.4, 137.4] 2 (137.4, 283.5] 3 (31.4, 137.4]
为分箱分配标签。
>>> lt.bin(2, labels=['low', 'high']) target 0 high 1 low 2 high 3 low