Прежде всего, выберите язык, с которым вы наиболее знакомы. Алгоритмы для обработки этого довольно просты, и должны работать на любом современном языке. (Пока есть некоторая концепция массива и, возможно, матричной библиотеки, у вас все должно быть в порядке.) Я уже реализовал многие из них в C, C ++ и C #, но видел реализации в python, vb.net и т. Д. .
В зависимости от того, что вы пытаетесь сделать, есть несколько вариантов.
То, что вы хотите сделать, зависит от ваших целей. Если вы просто хотите найти наилучшее совпадение, вы можете использовать простые вычисления расстояний (то есть: sqrt суммы квадратов для каждого измерения / свойства в n-мерном массиве), опционально взвешивать каждое расстояние свойств и использовать ближайшую точку.
Если вы хотите сгруппировать людей, вам нужно взглянуть на алгоритмы кластеризации . Для данных, подобных этим, я подозреваю, что некоторая форма кластеризации K-средних или нечеткой кластеризации c-средних будет работать лучше всего.