栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Scikit学习中的随机状态(伪随机数)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scikit学习中的随机状态(伪随机数)

train_test_split将数组或矩阵拆分为随机训练和测试子集。这意味着每次运行时不指定random_state,您都会得到不同的结果,这是预期的行为。例如:

运行1:

>>> a, b = np.arange(10).reshape((5, 2)), range(5)>>> train_test_split(a, b)[array([[6, 7],        [8, 9],        [4, 5]]), array([[2, 3],        [0, 1]]), [3, 4, 2], [1, 0]]

运行2

>>> train_test_split(a, b)[array([[8, 9],        [4, 5],        [0, 1]]), array([[6, 7],        [2, 3]]), [4, 2, 0], [3, 1]]

它改变。另一方面,如果使用random_state=some_number,则可以保证运行1的输出与运行2的输出相等,即,拆分将始终相同。实际的random_state数字是42,0,21,…无关紧要。重要的是,每次使用42时,第一次拆分时总会得到相同的输出。如果您想要可重复的结果(例如在文档中),这将很有用,这样每个人在运行示例时都可以始终看到相同的数字。实际上,我会说,random_state在测试材料时,应将设置为某个固定数字,但是如果确实需要随机(而不是固定)分割,则在生产中将其删除。

关于第二个问题,伪随机数生成器是一个生成几乎真正随机数的数字生成器。为什么它们不是真正随机的,超出了此问题的范围,可能对您而言无关紧要



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652805.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号