什么是分箱?

简单点说就是将不同的东西,按照特定的条件放到一个指定容器里,比如水果 把绿色的放一个篮子里,红色一个篮子等等,这个篮子就是箱,而水果就是数据 颜色就是条件

什么样式的数据要进行分箱

数据主要分为连续变量和分类变量,分箱的操作主要针对于连续变量。

为什么要对数据进行分箱操作

稳定性,时间复杂度,看的舒服,提高准确度 等等

分箱分为 有监督和无监督

先说有监督,意思就是 个人确定范围区间

例如,给了一堆年龄数据,你现在自己要把年龄分为[0-20,20-40,40-60-60-80,80-1000000]

这个是根据你个人意愿来划分区间

python 中主要使用cut方法

pandas.cut:pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)参数:x,类array对象,且必须为一维,待切割的原形式
bins, 整数、序列尺度、或间隔索引。如果bins是一个整数,它定义了x宽度范围内的等宽面元数量,但是在这种情况下,x的范围在每个边上被延长1%,以保证包括x的最小值或最大值。如果bin是序列,它定义了允许非均匀in宽度的bin边缘。在这种情况下没有x的范围的扩展。
right,布尔值。是否是左开右闭区间
labels,用作结果箱的标签。必须与结果箱相同长度。如果FALSE,只返回整数指标面元。
retbins,布尔值。是否返回面元
precision,整数。返回面元的小数点几位
include_lowest,布尔值。第一个区间的左端点是否包含
t/cc_jjj/article/details/78878878
import pandas as pdages = [20, 22, 25, 27, 21, 23, 37, 31, 61, 45, 41, 32]
# 有一组人员年龄数据,希望将这些数据划分为“18到25”,“26到35”,“36到60”,“60以上”几个面元
bins = [18, 25, 35, 60, 100]
# 返回的是一个特殊的Categorical对象 → 一组表示面元名称的字符串cats = pd.cut(ages, bins)
print(cats)
group_names = ['Youth', 'YoungAdult', 'MiddleAged', 'Senior']###打上标签
cats1 = pd.cut(ages, bins, labels=group_names)
print(cats1)
aa = pd.value_counts(cats)  # 按照区间计数
print(aa)

下面介绍下让代码自己划分组 -无监督 使用的是qcut方法

data = np.random.randn(1000)
s = pd.Series(data)
cats = pd.qcut(s, 4)  # 按四分位数进行切割
a = pd.value_counts(cats)
print(a)

qcut() 方法第一个参数是数据,第二个参数定义区间的分割方法,比如上面 将数据按四分位数进行分割,你也可以按照自己比例进行分割例如[0, 0.5, 1] 相遇55分,四分位还可学成这样 [0, 0.25, 0.5, 0.75, 1] ,也可以不是均分,比如 [0, 0.1, 0.2, 0.3, 1] ,这就就会按照 1:1:1:7 进行分布

上面这两种是简单的使用内置函数进行分箱。

下面介绍CART算法-最优分箱法

python 数据处理之分箱操作相关推荐

  1. 【Python】使用Pandas对数值进行分箱操作的4种方法

    使用Pandas对数值进行分箱操作的4种方法 方法1:between & loc 方法2:cut 方法3:qcut 方法4:value_counts 补充材料 分箱是一种常见的数据预处理技术, ...

  2. python 卡方分箱算法_特征工程 - 分箱

    卡方分箱 python自帶分箱函數  --  無法實現對分類型數據的分箱,可借助卡方分箱算法實現 import numpy as np import pandas as pd data = np.ra ...

  3. python 等深分箱 等宽分箱结合二分箱的数据分析

    python 等深分箱 等宽分箱结合二分箱的数据分析 等深分箱等宽分箱概述 Python里可以通过pcut(等深分箱即每箱的样本量基本一致)和cut(等宽分箱即样本量之间有相同的宽度)对样本进行分箱. ...

  4. python woe分箱_python数据处理--WOE分箱

    数据分箱的重要性离散特征的增加和减少都很容易,易于模型的快速迭代: 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展: 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1 ...

  5. python分箱处理_python数据处理--WOE分箱

    数据分箱的重要性离散特征的增加和减少都很容易,易于模型的快速迭代: 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展: 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1 ...

  6. python最优分箱计算iv值_Python计算woe和iv值

    计算逻辑 先计算WOE值,再计算IV值. 其中Y或N分别是YES,NO,反应在因变量中,就是1和0. Yi是第i组中1的个数,YT是所有(Total)为1的个数. Ni是第i组中0的个数,NT是所有( ...

  7. python 卡方分箱算法_python实现二分类的卡方分箱示例

    解决的问题: 1.实现了二分类的卡方分箱: 2.实现了最大分组限定停止条件,和最小阈值限定停止条件: 问题,还不太清楚,后续补充. 1.自由度k,如何来确定,卡方阈值的自由度为 分箱数-1,显著性水平 ...

  8. Pandas 对数值进行分箱操作的4种方法总结对比

    分箱是一种常见的数据预处理技术有时也被称为分桶或离散化,他可用于将连续数据的间隔分组到"箱"或"桶"中.在本文中,我们将讨论使用 python Pandas 库 ...

  9. python卡方分箱_Python评分卡建模—卡方分箱

    为服从自由度为k的卡方分布,记作: 或者记作 . 二.卡方检验 χ2检验是以χ2分布为基础的一种假设检验方法,主要用于分类变量之间的独立性检验. 其基本思想是根据样本数据推断总体的分布与期望分布是否有 ...

最新文章

  1. channel rabbitmq 配置_「喵咪MQ(2)」RabbitMQ单机模式使用
  2. 级联下拉框效果,动态加载图片
  3. LeetCode 1360. 日期之间隔几天(闰年判断)
  4. C语言 main函数
  5. C#中的ref关键字
  6. 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
  7. C# GDI+ 时钟表盘
  8. 2022-2028全球与中国紫外线点固化系统市场现状及未来发展趋势
  9. 常用图片格式JPG\PNG\SVG该如何选择?
  10. Linux放行单个8080端口和放行8000-9000端口区间
  11. 用 typescript 做一个贪吃蛇小游戏
  12. 华为TechWave峰会上主推的分布式云到底什么来头?
  13. 变形金刚2 昨日上映 汽车人提前降临地球
  14. Type-C与Type-A、Type-B接口
  15. 《KVM虚拟化技术实战和原理解析》读书笔记(三)
  16. 日记侠:你的朋友圈能引流,你还不知道?
  17. ASCII字符代码表,python 生成字母a到z字母,生产倒序列表
  18. 基于WSL2+NVIDIA Docker的开发环境最佳实践
  19. 06注解驱动的入门案例
  20. 一个女中医的保养之道

热门文章

  1. 美摄科技获数千万元Pre-A 轮融资,深创投投资
  2. 什么蓝牙耳机音质好又耐用?南卡和华为蓝牙耳机对比测评
  3. 腾讯娱乐讯 由葫芦兄弟改编的现代神话剧《金刚葫芦侠》第
  4. 演讲稿丨胡郁 从“能听会说”到“能理解会思考”——以语音和语言为入口的认知革命...
  5. 基于matlab编程实现SAR图像多视处理
  6. 【HDU】5267 pog loves szh IV【动态点分治】
  7. img标签访问图片403(http referrer),直接访问图片链接可以打开
  8. python executable_Python sys.executable为空
  9. 贴图、纹理、材质的区别是什么
  10. 【ECharts】百度图表插件ECharts使用