赞
踩
在机器学习中,连续变量的离散化过程,一般用pandas的 qcut或者cut函数来进行分箱。
关于这两个函数的联系和区别,网上有各种说法,典型的有以下几种:
这些说法都是不准确或者不对的,归根结底来说,qcut和cut的区别,是分箱思路的不同。也就是分箱时,你关注的是箱子的容量(即箱子中样本的多少),还是关注箱子的尺寸(即边界值,以及边界值之间的距离)。
如果关注的是箱子的容量,比如希望等频分箱,或者第一个箱子装50%,剩下的平分,那么就用qcut。
如果关注的是箱子的尺寸,比如0-100的装在一个箱子里面,100-200的装另外一个,或者说等距分箱,那么就用cut。
qcut 基于分位数的离散化方法
不仅可以等频分箱,而且可以指定每个箱子的分位数。
out, bins = pandas.qcut(x, q, labels=None, retbins=False, precision=3, duplicates=‘raise’)
参数名 | 取值 | 说明 |
---|---|---|
x | 1d ndarray |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。