获取数据集随机排序的映射



我正在使用scikit-learn的shuffle函数来洗牌数据集。但是,我想知道洗牌的映射。例如,给定一个数据集D并假设我对其进行了洗牌,那么我想知道实例的旧索引是什么。有没有快速的方法可以做到这一点?想提供一个将当前索引映射到旧索引的字典吗?

我对scikit-learn不是很熟悉,但我认为你可以洗牌数据集索引列表(即包含数字0..len(dataset)-1的列表),然后使用洗牌列表重新索引数据集。希望这是有道理的。

像这样:

from random import shuffle
dataset = ["1", "2", "3"]
indices = range(len(dataset))
shuffle(indices)
shuffled_dataset = [dataset[i] for i in indices]

执行此代码后,索引列表将新索引映射到旧索引。 例如,如果 index[0] = 2,则shuffled_dataset中的元素 0 是数据集中的元素 2。

提供的代码不使用scikit-learn,

但应该可以使用scikit-learn的方法和类来应用相同的想法。

相关内容

  • 没有找到相关文章

最新更新