У меня есть данные в data_2.csv вот так.
a b c d e outcome
2 9 5 10175 3500 10000
1 3 4 23085 35000 34000
2 1 3 NaN 23283.33333 50000
....
Я пытаюсь тренироваться с MLP. Результатом столбца является целевой результат. Это мой код.
df = pd.read_csv('C://data_2.csv')
sc = MinMaxScaler()
X = sc.fit_transform(df.drop('income', axis=1).astype(float))
test= df[['outcome']]
y = sc.fit_transform(test.astype(float))
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=20, test_size=0.1)
model = Sequential()
model.add(Dense(32,input_shape=(5,), activation='relu'))
model.add(Dense(32,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1,activation='softmax'))
model.compile(loss='mean_squared_error', optimizer='adam')
model.summary()
model.fit(X_train, y_train, epochs=200, batch_size=32, verbose=1)
y_pred = model.predict(X_test)
print("##########################################")
print(y_pred)
пока я тренирую данные, они показывают убыток: nan вот так
Epoch 1/200
45000/45000 [==============================] - 2s 48us/step - loss: nan
Epoch 2/200
45000/45000 [==============================] - 2s 38us/step - loss: nan
когда заканчиваете тренировку, он показывает вывод, как этот.
##########################################
[[nan]
[nan]
[nan]
...
[nan]
[nan]
[nan]]
X_train.shape is (45000, 5) y_train.shape is (45000, 1) Все выходные данные NaN. Как это исправить?