пожалуйста, помогите мне в моей проблеме, у меня нет никого, чтобы помочь мне !! это мой код
dataX, dataY = [], []
for i in range(len(dataset) - look_back - 1):
a = dataset[i:(i + look_back), :]
dataX.append(a)
dataY.append(dataset[i + look_back, 7])
return numpy.array(dataX), numpy.array(dataY)
dataframe = pandas.read_csv('datatem1.csv', engine='python')
dataset = dataframe.values
# normalize the dataset
scaler = MinMaxScaler(feature_range=(0, 1))
dataset = scaler.fit_transform(dataset)
train_size = int(len(dataset) * 0.67)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size, :], dataset[train_size:len(dataset), :]
look_back = 1
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
# reshape input to be [samples, time steps, features]
trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 8))
testX = numpy.reshape(testX, (testX.shape[0],look_back, 8))
# create and fit the LSTM network
model1 = tf.keras.Sequential()
model1.add(tf.keras.layers.LSTM(units=50,return_sequences=True, input_shape=(look_back,8)))
model1.add(tf.keras.layers.Dropout(rate=0.2))
model1.add(tf.keras.layers.LSTM(units=50,return_sequences=False))
model1.add(tf.keras.layers.Dropout(rate=0.2))
model1.add(tf.keras.layers.Dense(1,activation="sigmoid"))
model1.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy'])
history1= model1.fit(trainX, trainY,validation_data=(testX, testY), epochs=50, batch_size=30,callbacks=[tf.keras.callbacks.TensorBoard(log_dir="logs\{}".format("LSTM"), histogram_freq=1, profile_batch = 100000000)])
В моем бинарном классификаторе задачи у меня есть данные о сборе данных с датчиков, каждая строка содержит дату, var, var1, var2, var3, var4, var5, var6, var7, выходные данные (которые имеют 0 или 1) В моей модели я хочу предсказать выходной сигнал в момент времени t, но принимая во внимание действительные значения var1, var2, var3, var4, var5, var6, var7 в момент t (не в t-1) (дата и час i удалите его из файла), когда я делаю look_back = 1 (временной шаг), все в порядке val_loss = 13% и точность = 92%, но когда я делаю временной шаг = 5 потерь: 81,84% почему? мой код правильный?
введите описание изображения здесь