форма фрейма данных при выполнении последовательной регрессии с помощью keras tensorflow

#dataframe #tensorflow #keras #deep-learning

Вопрос:

При попытке выполнить регрессию с помощью глубокого обучения на непоследовательных данных, считываемых пандами из csv, точность всегда равна 0 или с ошибками формы, которые невозможно понять.

мои данные-это обычный csv, с 14 функциями (float64) и 1 целевой меткой (также float64).

Вот код:

 traindf = pd.read_csv(...)
... clean blabla ... 

train_dataset = traindf.sample(frac=0.8, random_state=0)
test_dataset = traindf.drop(train_dataset.index)

train_features = train_dataset.copy()
test_features = test_dataset.copy()

train_labels = train_features.pop('power')
test_labels = test_features.pop('power')

train_features.shape 
#(27967, 14)
test_labels.shape
#(6992,)

train_features = tf.convert_to_tensor(train_features)
test_features = tf.convert_to_tensor(test_features)

train_labels = tf.convert_to_tensor(train_labels)
test_labels = tf.convert_to_tensor(test_labels)
 

и модель такая:

 x_in = L.Input((14))

flat_flatten = L.Flatten()(x_in)
flat_hidden = L.Dense(units=128, activation="sigmoid")(flat_flatten)
flat_out = L.Dense(units=1, activation="softmax")(flat_hidden)

model = K.Model(inputs=x_in , outputs=flat_out)
model.compile(loss="sparse_categorical_crossentropy", optimizer="adam")
model.summary()
model.fit(x=train_features, y=train_labels, validation_data=(test_features, 
     test_labels), epochs=2, callbacks=[K.callbacks.TensorBoard()])
 

Я также попробовал это:

 model = keras.Sequential([
    layers.Dense(64, activation='relu', input_shape=[len(train_features.keys())]),
    layers.Dense(64, activation='relu'),
    layers.Dense(1)])
optimizer = keras.optimizers.RMSprop(0.001)
model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['mae'])
model.fit(train_features, train_labels, epochs=200, validation_split=0.3, verbose=1)
 

и затем, либо я запустил его с точностью всегда 0, либо я получаю ошибки с формой. но как именно я должен изменить обычный массив numpy?