我在训练和测试数据中绘制了模型精度曲线,并获得了以下看起来相当不寻常的曲线。这条曲线说明什么?是过拟合还是欠拟合?谁能帮帮我,我哪里出了问题?我正在研究 ABIDE 数据集。我有 871 个样本,我使用 cc400 分割生成了 76636 个特征。
我提供了下面的代码片段:
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
#create model
model = Sequential()
#add model layers
model.add(Dropout(0.2))
initializer_relu = tf.keras.initializers.HeUniform()
model.add(Dense(128, activation='relu',
kernel_initializer=initializer_relu,
kernel_regularizer=tf.keras.regularizers.l1(0.0001), input_shape=
(76636,)))
model.add(Dropout(0.2))
model.add(Dense(64, activation='relu',
kernel_initializer=initializer_relu,
kernel_regularizer=tf.keras.regularizers.l1(0.0001)))
model.add(Dropout(0.2))
initializer_sigmoid = tf.keras.initializers.GlorotUniform()
model.add(Dense(1, activation='sigmoid',
kernel_initializer=initializer_sigmoid))
#compile model using mse as a measure of model performance
model.compile(optimizer='adam', loss='binary_crossentropy',
metrics='accuracy')
from keras.callbacks import EarlyStopping
early_stopping_monitor = EarlyStopping(patience=3)
#train model
history= model.fit(X_train, y_train, validation_data=(X_test, y_test),
batch_size=64 , epochs=20, callbacks=[early_stopping_monitor])
import matplotlib.pyplot as plt
print(history.history.keys())
# summarize history for accuracy
plt.plot(history.history[ 'accuracy' ])
plt.plot(history.history[ 'val_accuracy' ])
plt.title( 'model accuracy' )
plt.ylabel( 'accuracy' )
plt.xlabel( 'epoch' )
plt.legend([ 'train' , 'test' ], loc= 'lower right' )
plt.show()
尚方宝剑之说
相关分类