python - 为大量数据制作 one-hot 向量
问题描述
我的目标是创建一个单热向量。困难在于我的数据包含 1 亿条记录,并且我将它们保存在 PostgreSQL 数据库中。由于数据的大小,我试图避免一次加载所有数据。我的问题是如何有效地为如此大的数据集进行 one-hot 编码。
目前,我正在明确选择所有类别,例如:
select my_param from my_table order by my_param
这给了我 55 个独特类别的列表:['cat1', 'cat2', 'cat3', ..., 'cat55']。
然后我为这个列表创建一个单热向量:
uniq_cat | 一热 |
---|---|
猫1 | 1 0 0 ... |
猫2 | 0 1 0 ... |
猫2 | 0 0 1 ... |
猫55 | 0 0 0 ... 1 |
最后,我将把这个 one-hot 存储为字典,并在动态中使用我的训练数据映射类别,同时为 ML 过程提供数据。即,我将用相应的 one-hot 向量替换每个训练对象的字符串分类参数值。
这个想法可以吗,还是有更合适的方法来解决这个问题?
解决方案
推荐阅读
- python-3.x - 如何使用 xpath 获取 span 中的文本。硒蟒
- c# - 如何设计解决方案来处理 CRM 2016 onPrem 中的大量记录?
- excel - 如何根据在 Excel 中输入的调用单元格地址突出显示表格中的单元格
- stm32 - 2个stm32之间的通信
- javascript - 使用 lodash 转换嵌套对象
- json - 自动推导结构类型的编解码器
- python - Python 未能为 pyalsaaudio 构建轮子
- reference - 当我使用引用而不是拥有的值调用 std::mem::drop 时会发生什么?
- sql-server - 用 SQL Server 中另一个表的列更新表的列
- java - 通过字段“freemarkerConfig”表示的不满足的依赖关系