Я пытаюсь спроектировать прогнозную модель выбросов тепловых электростанций, основанную на выработанной энергии и свойствах угля. Я смотрел различные учебные пособия по разработке этого кода, так как это не моя область знаний, но я терплю неудачу каждый раз, когда запускаю ячейку модели. Вот код для стандартизации и предварительной обработки данных :
import numpy as np
from sklearn import preprocessing
raw_data=np.loadtxt('raw_data.csv',delimiter=',',skiprows=1)
unscaled_inputs=raw_data[:,0:30]
targets=raw_data[:,30:110]
scaled_inputs = preprocessing.scale(unscaled_inputs)
samples_count=scaled_inputs.shape[0]
train_samples_count=int(0.8*samples_count)
validation_samples_count=int(0.1*samples_count)
test_samples_count=samples_count-train_samples_count-validation_samples_count
train_inputs=scaled_inputs[:train_samples_count]
train_targets=targets[:train_samples_count]
validation_inputs=scaled_inputs[train_samples_count:train_samples_count+validation_samples_count] validation_targets=targets[train_samples_count:train_samples_count+validation_samples_count]
test_inputs=scaled_inputs[train_samples_count+validation_samples_count:]
test_targets=targets[train_samples_count+validation_samples_count:]
np.savez('coal_data_train', inputs=train_inputs, targets=train_targets)
np.savez('coal_data_validation', inputs=validation_inputs, targets=validation_targets)
np.savez('coal_data_test', inputs=test_inputs, targets=test_targets)
Вот код, используемый для модели :
import numpy as np
import tensorflow as tf
npz=np.load('coal_data_train.npz')
train_inputs = npz['inputs'].astype(np.float)
train_targets = npz['targets'].astype(np.int)
npz = np.load('coal_data_validation.npz')
validation_inputs, validation_targets = npz['inputs'].astype(np.float), npz['targets'].astype(np.int)
npz = np.load('coal_data_test.npz')
test_inputs, test_targets = npz['inputs'].astype(np.float), npz['targets'].astype(np.int)
input_size = 30
output_size = 81
hidden_layer_size = 61
model = tf.keras.Sequential([
tf.keras.layers.Dense(hidden_layer_size, activation='relu'),
tf.keras.layers.Dense(hidden_layer_size, activation='relu'),
tf.keras.layers.Dense(output_size, activation='linear')
])
model.compile(optimizer='adam', loss='mean_absolute_error', metrics=['accuracy'])
batch_size = 10
max_epochs = 50
early_stopping = tf.keras.callbacks.EarlyStopping(patience=2)
model.fit(train_inputs,
train_targets,
batch_size=10,
epochs=max_epochs,
verbose=2,
callbacks=[early_stopping],
validation_data=(validation_inputs, validation_targets),
)
Возвращает ошибку : введите описание изображения здесь
Есть предложения?