Является ли евклидово расстояние хорошей метрикой для поиска ближайших соседей? Если нет, какие у меня варианты?
Я бы предложил мягкую подпространственную кластеризацию , довольно распространенный в наше время подход, в котором веса объектов рассчитываются для нахождения наиболее подходящих измерений. Вы можете использовать эти веса, например, при евклидовом расстоянии. См. проклятие размерности для общих проблем, а также эта статья может вас как-то просветить:
Алгоритм кластеризации типа k-средних для подпространственной кластеризации смешанных чисел и
категориальные наборы данных