我有一个大型数据集,我计划对其进行逻辑回归。它有很多分类变量,每个变量都有数千个特征,我打算在这些特征上使用一个热编码。我需要小批量处理这些数据。我的问题是如何确保一个热编码在第一次运行时看到每个分类变量的所有特征?
没有办法找出你的分类特征可以取哪些可能的值,这可能意味着为了获得分类变量的唯一值列表,你必须一次完整地浏览你的数据。
之后的问题是将分类变量转换为整数值,并将OneHotEncoder
中的n_values=
kwarg设置为与每个变量可以取的不同值的数量相对应的数组。
您可以读取数据并首先获得分类变量的所有惟一值的列表。然后你可以在你的唯一值列表中放入一个热编码器对象(如sklearn.预处理. categoricalencoder)。
这个方法可以帮助
- 列车测试框架
- 或当你读取数据块
我创建了一个python模块,它可以自己完成所有这些工作。你可以在GitHub存储库中找到它- dummyPy
一个简短的教程-如何在Python中对大型数据集的分类变量进行热编码?