我有一个小数据集,我想尝试使用Multi-layer Perceptron regressor
中的sklearn
来预测相同变量的值。
这就是我在做的事情:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPRegressor
X_train, X_test, y_train, y_test = train_test_split(X, Y)
scaler = StandardScaler()
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
mlp = MLPRegressor(hidden_layer_sizes=(10,10))
mlp = mlp.fit(X_train,y_train)
test_y = mlp.predict(X_test)
现在,训练集由100
个例组成。我想要做的是在75
和25
中将训练集拆分四次,以便使用4
不同的数据集训练相同的模型。
我正在做的事情:
c1 = 0
c2 = 25
for i in range(0,4):
xt = X_train[c1:c2]
yt = np.setdiff1d(X_train, xt)
c1 = c2 + 1
c2 = c2 + 25
mlp = mlp.fit(xt ,yt)
答案 0 :(得分:0)
您应该得到一个错误,因为您在上一次迭代中访问X_train
超出了范围。当然,假设X_train
只有100个样本。
以以下形式myArray[a:b]
访问数组意味着我要检索从a
到但不包括b
的元素。
因此,您需要更改此行:
c1 = c2 + 1
对此:
c1 = c2
看看documentation,了解如何访问numpy数组。
答案 1 :(得分:0)