0

我试图找出训练测试拆分和 MLP 回归器中的随机状态之间的区别。如果我在 MLP 回归器中更改它,我运行的所有试验都非常好。但是,如果我在火车测试拆分中更改它,我会得到广泛的结果。我读到两者都是随机种子,但我不明白它们对我的 MLP 的影响有何不同,具体取决于我更改它的位置。

感谢您的帮助!

4

1 回答 1

0

我假设您有一些代码,例如 scikit-example 中的代码

X_train, X_test, y_train, y_test = train_test_split(X, y,random_state=1)
regr = MLPRegressor(random_state=1, max_iter=500).fit(X_train, y_train)

首先在train_test_split中更改随机状态,然后在 MLPRegressor 中更改它进行比较。

在 train_test_split 方法中更改 random_state 时,它​​会根据您的 random_state 对您的数据进行稍微不同的洗牌,因此您的训练和测试数据看起来不同。(文档

在更改 MLPRegressor 的 random_state 时,它​​不仅使用该种子在 train_test_split 方法中打乱您的数据,还生成权重、初始化偏差并确定批量采样。(文档

因此,更改 MLPRegressor 中的随机状态需要进行更多更改,而不仅仅是更改 train_test_split 随机状态。希望我正确理解了您的问题并可以帮助您。

于 2020-08-13T10:33:18.447 回答