Pyton matplotlib.pyplot.scatter для KNN

Подскажите как нарисовать KNN, у меня дата-фрейм с 17 колонками, везде инфа как создать двух мерный рисунок распределения, мне бы 17ти мерный отобразить, подскажите пожалуйста как. scatter просит х и у но куда еще то 14 разместить для отображения? Или подскажите как вообще можно визуализировать KNN.


Ответы (2 шт):

Автор решения: passant

Ну, во-первых. Вообще-то говоря kNN - это алгоритм. Как можно его нарисовать-визуализировать? Еще раз - "визуализировать алгоритм" ???

Теперь про попытки что-то нарисовать в 17- мерном пространстве. Понятно, что это какая-то мягко говоря странная идея. Всякие квази-многомерные диаграммы, типа радарных - хороши при пол десятка объектов, потом на них что-то понять невозможно. Да и вообще - если вы действительно построили классификатор кNN - он работает вне зависимости от того, нарисовали вы его или нет.

В общем, какой-то кашеообразный вопрос. Попробуйте его переформулировать так, что-бы можно было хотя-бы понять, зачем вам понадобилось делать то, что в принципе сделать нельзя, да еще для задачи, где то, что вы хотите сделать - имеет практически нулевой смысл.

→ Ссылка
Автор решения: MaxU

Если хотите визуализировать точки в более чем 3х-мерном пространстве, то вам придется сначала уменьшить размерность до двух или трехмерного пространства.

Я бы посоветовал попробовать t-SNE алгоритм - он очень хорошо кластеризирует похожие точки в многомерных пространствах и в итоге после работы алгоритма t-SNE получаем кластеры схожих точек.

Итоговый выбор алгоритма для уменьшения размерности будет зависеть от исходных данных и от результата, который вы хотите получить.

Здесь есть неплохое сравнение 6 алгоритмов.

→ Ссылка