【发布时间】:2017-06-30 17:02:45
【问题描述】:
谁能告诉我为什么我们在拆分训练集和测试集时将随机状态设置为零。
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)
这种随机状态在交叉验证中的后果是什么?
【问题讨论】:
-
@Scott Hunter 它来自 sklearn.cross_validation。但是随机状态为 0 和 1 对训练和测试拆分有何影响?
-
train_test_split的文档是怎么说的? -
@Scott Hunter scikit-learn.org/stable/modules/generated/…
-
这只是为了确保每次运行脚本时都获得相同的拆分。阅读一些关于 Pseudo-random-number-generators 的内容。 (像 32525352 这样的数字将与 0 或 1 具有相同的效果;它只是一个映射到某个内部状态的常量)如果您不这样做,它会根据时间播种,从而在大多数运行中产生不同的结果.
标签: python random machine-learning scikit-learn