gpt4 book ai didi

python - 使用 np.random.rand 划分训练/测试数据

转载 作者:行者123 更新时间:2023-12-02 00:22:50 33 4
gpt4 key购买 nike

我试图理解这行代码:

msk = np.random.rand(len(df)) < 0.8

根据我的理解,numpy.random.rand(len(df)) 返回 [0, 1) 之间的数字数组,这些数字是根据均匀分布生成的。

数组中每个数字代表什么?值是数据的百分位数吗?

之后,我们得到 bool 对象数组,然后创建训练集、测试集。

train = cdf[msk]
test = cdf[~msk]

在这段代码中,对于 cdf 中的每一列,它是否匹配数组 msk 中的每个 bool 对象,如果它是 True,它把那一行放到 train 中?如果 False 进入 test 集?

我想知道我的理解是否正确

最佳答案

np.random.rand(len(df)) 从均匀 (0, 1) 分布中随机抽取 len(df) float 。从此分布中采样生成 0 到 1 之间的数字。

msk 是一个 bool 数组。

msk[i]True 如果第 i 值由 np.random.rand 随机生成> 小于 (<) 0.8

msk[i]False 如果第 i 值由 np.random.rand 随机生成> 大于或等于 (>=) 0.8

~mskTrue 翻转为 False 并将 False 翻转为 True。有了这个, cdf 的值,其中 mskTrue 被分配给数组 train,并且值cdf 其中 mskFalse 被分配给 test

使用此设置,您预计大约 80% 的 cdf 将被划分为 train,其余约 20% 将被划分为 测试

关于python - 使用 np.random.rand 划分训练/测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54811762/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com