gpt4 book ai didi

python - scikit-learn 分割数据集中的随机状态

转载 作者:IT老高 更新时间:2023-10-28 21:17:45 25 4
gpt4 key购买 nike

谁能告诉我为什么我们在拆分训练集和测试集时将随机状态设置为零。

X_train, X_test, y_train, y_test = \
train_test_split(X, y, test_size=0.30, random_state=0)

我见过这样的情况,随机状态设置为 1!

X_train, X_test, y_train, y_test = \
train_test_split(X, y, test_size=0.30, random_state=1)

这种随机状态在交叉验证中的后果是什么?

最佳答案

random_state 是 0 还是 1 或任何其他整数都没有关系。重要的是,如果您想通过多次运行代码来验证您的处理,那么它应该设置为相同的值。顺便说一句,我已经看到 random_state=42 在许多官方的 scikit 示例以及其他地方都使用过。

random_state 顾名思义,用于初始化内部随机数生成器,在您的情况下,它将决定将数据拆分为训练和测试索引。在 documentation ,据说:

If random_state is None or np.random, then a randomly-initialized RandomState object is returned.

If random_state is an integer, then it is used to seed a new RandomState object.

If random_state is a RandomState object, then it is passed through.

这是为了在多次运行代码时检查和验证数据。将 random_state 设置为固定值将保证每次运行代码时都会生成相同的随机数序列。除非过程中存在其他随机性,否则产生的结果将与往常一样。这有助于验证输出。

关于python - scikit-learn 分割数据集中的随机状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191717/

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