所以,我有一个太大的数据集,无法一次全部加载到内存中。因此,我想使用生成器来加载批量数据进行训练。
在这种情况下,如何使用来自 scikitlearn 的 LabelEncoder + StandardScaler 执行特征缩放?
更多上下文:
我在数据库中有超过 1000 万个具有 23 个特征和 1 个标签列的数据样本。
我的设置曾经是(当它是大约 300 万个样本时)使用 sql 加载 pandas,执行更多特征提取,在某些特征上使用 LabelEncoder,进行训练/测试拆分,然后在训练特征上使用 StandardScaler。然后适合我的 keras 模型。
但是,由于数据量大,这个工作流程在我的机器上不再可行。(内存错误。)
我正在研究使用 keras.utils.Sequence 来加载批量数据而不是一次加载内存中的所有内容,这样我只需要拥有完整的索引列表,并且一次在内存中加载一个完整的批次。
但是,我将如何进行 LabelEncoding,更重要的是:在这种情况下,我将如何进行特征缩放?鉴于上下文,这是一种正确的方法吗?