我试图找出训练测试拆分和 MLP 回归器中的随机状态之间的区别。如果我在 MLP 回归器中更改它,我运行的所有试验都非常好。但是,如果我在火车测试拆分中更改它,我会得到广泛的结果。我读到两者都是随机种子,但我不明白它们对我的 MLP 的影响有何不同,具体取决于我更改它的位置。
感谢您的帮助!
我试图找出训练测试拆分和 MLP 回归器中的随机状态之间的区别。如果我在 MLP 回归器中更改它,我运行的所有试验都非常好。但是,如果我在火车测试拆分中更改它,我会得到广泛的结果。我读到两者都是随机种子,但我不明白它们对我的 MLP 的影响有何不同,具体取决于我更改它的位置。
感谢您的帮助!
我假设您有一些代码,例如 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 随机状态。希望我正确理解了您的问题并可以帮助您。