有没有用 1000 个 parquet 文件训练二元分类的最佳方法?

问题描述 投票:0回答:1

我正在使用镶木地板格式的巨大数据集训练二元分类模型。但是,它有很多,我无法将所有数据填充到内存中。目前,我正在这样做,但我面临内存不足的问题。

files = sorted(glob.glob('data/*.parquet'))

@delayed
def load_chunk(path):
    return ParquetFile(path).to_pandas()

df = dd.from_delayed([load_chunk(f) for f in chunk])
df = df.compute()

X = df.drop(['label'], axis=1)
y = df['label']
# Split the data into training and testing sets

有没有内存不足的最佳方法?

python scikit-learn artificial-intelligence random-forest fastparquet
1个回答
0
投票

您不需要一次加载所有数据。取决于你使用的分类算法是否支持增量训练。在 scikit learn 中,所有实现partial_fit API 的估计器都是候选者,例如 SGDClassifier。如果您使用的是tensorflow,则可以使用 tfio.experimental.IODataset 将 parquet 流式传输到您正在训练的 DNN。

© www.soinside.com 2019 - 2024. All rights reserved.