1. Классификация и регрессия - это разные задачи. В принципе, можно организовать так, как вы описали, но в этом случае результаты регрессии будут эдаким бутылочным горлышком для классификации. Зачем ограничивать объем доступной информации для классификатора?
2. Топология сети обычно сильно сложнее, чем один скрытый слой, как изображено у вас на картинке и зависит от характера входных данных. Являются ли данные последовательностью или разовым "снимком" состояния среды? Однородны ли они или приходят из разных источников? И так далее. Проще просто по постановке задачи подсказать.
3. Python проще использовать для машинного обучения. CatBoost - это библиотека для градиентного бустинга (совсем другой алгоритм и другая архитектура, нежели нейронные сети). На Python одна из самых удобных и простых библиотек для обучения нейронных сетей - это keras. Есть еще sklearn, где реализовано несколько других, более "простых" алгоритмов.