1、连续属性离散化
? ?离散化 (Discretization) (有些时候叫 量化(quantization) 或 分箱(binning)) ,是将连续特征划分为离散特征值的方法。 离散化可以把具有连续属性的数据集变换成只有名义属性(nominal attributes)的数据集。
2、K-bins 离散化(分箱)
? ?KBinsDiscretizer 类使用k个等宽的bins把特征离散化:默认情况下,输出是被 one-hot 编码到一个稀疏矩阵。(请看类别特征编码)。 而且可以使用参数encode进行配置。对每一个特征, bin的边界以及总数目在 fit过程中被计算出来,它们将用来定义区间。
>>> X = np.array([[ -3., 5., 15 ],
... [ 0., 6., 14 ],
... [ 6., 3., 11 ]])
>>> est = preprocessing.KBinsDiscretizer(n_bins=[3, 2, 2], encode='ordinal').fit(X)
>>> est.transform(X)
array([[ 0., 1., 1.],[ 1., 1., 1.],[ 2., 0., 0.]])
? ?指定不同的分箱策略:KBinsDiscretizer类实现了不同的 binning策略,可以通过参数strategy进行选择。 ‘uniform’ 策略使用固定宽度的bins。 ‘quantile’ 策略在每个特征上使用分位数(quantiles)值以便具有相同填充的bins。 ‘kmeans’ 策略基于在每个特征上独立执行的k-means聚类过程定义bins。