0

当我在 sklearn 的文档中查找 random -state 参数时,我发现:

random_state : int 或 RandomState 用于随机采样的伪随机数生成器状态。

我不太明白它是什么。

不同分类器的准确度显着变化取决于我在随机状态参数上写的数字。这是为什么?我应该设置哪个数字?

这是我第一次参与机器学习项目。

4

1 回答 1

3

设置该random_state参数可确保每次运行代码时以完全相同的方式拆分数据。当您想比较不同模型的准确性时(例如不同的算法或附加功能,或两者兼而有之),这种做法很重要:如果您在测试新方法时不断以不同的方式洗牌,您如何知道是增加还是减少准确性是由于您对模型所做的更改,而不是由于使用稍微不同的训练和测试数据集?

至于为您的random_state参数选择数字:这取决于您。一些人尝试使用不同的参数值,看看random_state模型在哪个值上表现最好。这实际上取决于您的应用程序:这是您正在开发的生产规模机器学习模型,还是数据科学挑战的模型?在前一种情况下,它应该无关紧要。在后一种情况下,我认识的人会完全调整他们的模型,然后开始尝试不同的random_state参数来提高他们的准确性。我不一定同意这种做法,因为它似乎是另一种形式的过度拟合(在这里查看更多信息。我通常选择100这个数字对我来说很有趣——它背后真的没有逻辑。有些人选择42, 其他1, 等等

在此处查看更详细的示例。

于 2017-03-24T14:01:04.103 回答