【问题标题】:Is there a Python function to randomly split a deepchem.data.NumpyDataset?是否有 Python 函数可以随机拆分 deepchem.data.NumpyDataset?
【发布时间】:2019-12-05 21:12:47
【问题描述】:

我正在尝试将 deepchem.data.NumpyDataset 随机拆分为大约 5 个 NumpyDataset,以便遵循 Leave One Out 方法来拟合模型。我尝试过的函数的每个选项都会将数据集转换为数组或不同类型的数据集,或者不会随机选择数据。

我仍然是这些模块的初学者,所以如果有人更熟悉 deepchem,我将不胜感激!

谢谢!

【问题讨论】:

    标签: python deep-learning splitter


    【解决方案1】:

    如果您只需要训练、验证和测试拆分,您可以使用deepchem.splits.splitters 中的拆分器之一。例如

    # assume dataset is a deepchem.data.NumpyDataset
    
    from deepchem.splits.splitters import IndexSplitter
    
    train_data, valid_data, test_data = splitter.split(dataset, frac_train=0.7, frac_valid=0.2, frac_test=0.1)
    

    改编自https://github.com/deepchem/deepchem/blob/master/examples/notebooks/Splitters_Tutorial.ipynb

    【讨论】:

    • 感谢您的回复!我正在寻找一种方法,我可以循环通过一个 for 循环来训练模型,例如,使用训练集的 4/5 进行训练,最后 1/5 进行验证,然后再次执行此操作,但使用4/5 和 1/5 的不同选择。我希望这是有道理的。
    • 这很有意义,顺便说一句,这被称为交叉验证。我对deepchem 库不是很熟悉,但是您可以实现的一种方法是多次使用拆分器。 train_data_0, valid_data_0, _ = splitter.split(dataset, frac_train=0.8, frac_valid=0.2, frac_test=0.0) 然后train_data_1, valid_data_1, _ = splitter.split(dataset, frac_train=0.8, frac_valid=0.2, frac_test=0.0) 等等...
    • 这是个好主意,我会看看我能用它做什么!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 2018-08-23
    • 1970-01-01
    • 2015-12-01
    • 2013-01-13
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多