【发布时间】:2018-03-29 04:12:23
【问题描述】:
我是机器学习的新手。
我有一个连续的数据集。我正在尝试使用多个功能对目标标签进行建模。我利用 train_test_split 函数将训练数据和测试数据分开。我正在使用以下代码训练和测试模型:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = Sequential()
model.add(Dense(128, input_dim=X.shape[1], kernel_initializer = 'normal', activation='relu'))
model.add(Dense(1, kernel_initializer = 'normal'))
hist = model.fit(X_train.values, y_train.values, validation_data=(X_test.values,y_test.values), epochs=200, batch_size=64, verbose=1)
当我使用 X_test 和 y_test 进行验证数据时,我可以得到很好的结果:
https://drive.google.com/open?id=0B-9aw4q1sDcgNWt5TDhBNVZjWmc
但是,当我使用这个模型来预测另一个数据 (X_real, y_real) 时(它们与 X_test 和 y_test 没有太大区别,只是它们不是由 train_test_split 随机选择的)我得到了不好的结果:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = Sequential()
model.add(Dense(128, input_dim=X.shape[1], kernel_initializer = 'normal', activation='relu'))
model.add(Dense(1, kernel_initializer = 'normal'))
hist = model.fit(X_train.values, y_train.values, validation_data=(X_real.values,y_real.values), epochs=200, batch_size=64, verbose=1)
https://drive.google.com/open?id=0B-9aw4q1sDcgYWFZRU9EYzVKRFk
这是过拟合的问题吗?如果是这样,为什么我的模型可以与 train_test_split 生成的 X_test 和 y_test 一起工作?
【问题讨论】:
标签: python machine-learning neural-network regression train-test-split