У меня проблема с многослойной классификацией, я использовал следующий код, но точность проверки в первые эпохи возросла до 99%. Весь мой ввод 1245x1024, поэтому каждая строка означает один спектр (так что есть 1245 примеров спектра). Таким образом, один спектр (1x1024). Результатом являются мои метки. У меня есть 245 различных классов (здесь элементы). Один спектр содержит один или два элемента. один вывод для одного прогноза: (1x245)
x = pd.read_csv('spectrum_max2proSpund245.csv')
y1 = pd.read_csv('nuclides_max2proSpund245.csv', delimiter=';')
num_features = 1024
model = Sequential()
model.add(Dense(230, kernel_initializer='normal', input_shape=(num_features,),
activation='tanh'))
model.add(Dropout(0.25))
model.add(Dense(245, kernel_initializer='normal', activation='sigmoid'))
model.summary()
X_train, X_test, y_train, y_test = train_test_split(x, y, random_state=42, test_size=0.2)
, вот как я собираю свою модель
model.compile(loss='binary_crossentropy',optimizer='Adam',metrics=['accuracy'])
, и вот как я подхожу и оцениваю
model.fit(X_train, y_train, epochs=20, validation_data=(X_test, y_test), batch_size=60)
model.evaluate(X_test, y_test, batch_size=60)
модель оценка и подбор модели дают одинаковые результаты, но когда я смотрю вручную в своем прогнозе, возможно, только 19% правильных прогнозов. что не так в моем коде?