如何成功地在Keras训练测试拆分以训练模型

时间:2020-07-20 07:43:05

标签: python tensorflow keras model

我对keras来说还很陌生,所以我一直在努力思考我应该如何训练-测试拆分数据。

所以我的计划是进行情感分析,这是我的数据:

df1
Columns: Sentence , Emotion, BackendSum
         bla1...    0-6      tensor(float32)
         bla2...    0-6      tensor(float32)

情感0-6是我转化为数字的情感(恐惧,愤怒等)。

我还有另一个包含文本和后端​​总和的数据集,我想对其进行分类:

df2
Columns: Sentence, BackendSum
         fla1...   tensor(float32)
         fla2...   tensor(float32)

inputs = keras.Input(shape=(300,))
x = layers.Dense(100, activation="relu", name="dense_1")(inputs)
x = layers.Dense(200, activation="relu", name="dense_2")(x)
outputs = layers.Dense(6, activation="sigmoid", name="predictions")(x)
model = keras.Model(inputs=inputs, outputs=outputs)




model.fit(xtrain, ytrain,
         validation_data=(xtest,ytest),
         epochs = 200,
         batch_size=50)

适合我的模型的正确方法是什么?并拆分数据,以便可以在df1上进行训练并在df2上进行测试

1 个答案:

答案 0 :(得分:1)

您可以使用sklearn。

  x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(x, y, test_size=0.1)

x是要素的第2个ndarray,y是标签的第2个ndarray,而test_size是要拆分的数据大小(以百分比(0.1 = 10%))。