python – Scikit中的随机状态(伪随机数)学习
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Scikit中的随机状态(伪随机数)学习,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1136字,纯文字阅读大概需要2分钟。
内容图文
![python – Scikit中的随机状态(伪随机数)学习](/upload/InfoBanner/zyjiaocheng/711/5a1ac20f2c0144b5bdaed1cec244ac88.jpg)
我想在scikit学习中实现一个机器学习算法,但我不明白这个参数random_state的作用是什么?我为什么要用它?
我也无法理解什么是伪随机数.
解决方法:
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,则可以保证Run 1的输出将等于Run 2的输出,即您的split将始终相同.
实际的random_state数字是42,0,21 ……并不重要.重要的是每次使用42时,在第一次进行拆分时总会获得相同的输出.
如果您想要可重复的结果(例如在文档中),这非常有用,这样每个人在运行示例时都可以始终看到相同的数字.
在实践中我会说,你应该在测试东西时将random_state设置为某个固定数字,但是如果你真的需要一个随机(而不是固定的)分割,那么就在生产中删除它.
关于第二个问题,伪随机数生成器是一个生成几乎真正随机数的数字生成器.为什么它们不是真正随机的超出了这个问题的范围,在您的情况下可能无关紧要,您可以查看here表格更多细节.
内容总结
以上是互联网集市为您收集整理的python – Scikit中的随机状态(伪随机数)学习全部内容,希望文章能够帮你解决python – Scikit中的随机状态(伪随机数)学习所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。