> 437 бинарных признаков. Есть обучающая выборка на ~400 случаев.
Это означает, что нейросеть у вас будет переобучена. Для любого машинного обучения число строк обучения должно быть намного больше числа колонок. Если будете сокращать число колонок, это (по моему) в данном случае ничего кардинально не изменит.
В нейросети лучше минимум один скрытый слой, если есть возможность то увеличивайте число скрытых слоев. Пробуйте различные конфигурации слоев ("бочка", "рюмка", "прямоугольник"). Выходной слой можно пробовать дискретное число (номер класса), а можно пробовать в выходном слое число выходов = числу классов (все нули, кроме одной единицы напротив нужного класса).