代码之家  ›  专栏  ›  技术社区  ›  Hanzy

在Python中实现引导的内存有效方法?

  •  0
  • Hanzy  · 技术社区  · 5 年前

    resample 默认实现。我使用生成器从内存中的数据集生成一个引导批处理。

    然而,由于每次引导迭代都会创建一个新的数组,因此内存非常大。有没有一种更有效的方法可以从存储在磁盘或内存中的数据实现引导?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Szymon Maszke    5 年前

    只需创建索引,它将分割原始特性和目标,并在每次需要引导数据集时应用这些索引。

    import numpy as np
    from sklearn.datasets import load_boston
    
    
    def get_bootstrap_indices(dataset, datasets: int):
        for _ in range(datasets):
            yield np.random.choice(np.arange(len(dataset)), size=len(dataset), replace=True)
    
    
    dataset = load_boston().data
    print(f"Original dataset shape: {dataset.shape}")
    
    for indices in get_bootstrap_indices(dataset, 10):
        print(dataset[indices].shape)