Я думаю, вы должны сделать из него одну большую матрицу возможностей. Предположим, у вас есть таблицы
Менеджер по продажам (id attr_1 ... attr_m)
Клиент (идентификатор attr_1 ... attr_n sales_manager_id)
Заказ (id product_id_1 ... product_id_l customer_id)
Тогда, скорее всего, разумно создать матрицу в следующем виде
Матрица:
product_id order_attr_1 ... order_attr_l customer_attr_1 ... customer_attr_n ... manager_attr_1 ... manager_attr_m
Теперь у вас есть 20 * l матрица строк со всеми атрибутами, которые заданы для определенного порядка.
В простейшей форме вы можете использовать следующую матрицу для классификации. В случае слишком большого количества атрибутов может быть целесообразно сначала использовать PCA. Может быть, вам стоит попробовать использовать Weka и посмотреть, что получится.
Учитывая ваш вопрос об иерархических отношениях, тогда алгоритмы классификации не поймут их явно.
Я бы порекомендовал эту книгу здесь: Введение в интеллектуальный анализ данных , так как она отвечает на большинство ваших вопросов.