Pyton matplotlib.pyplot.scatter для KNN
Подскажите как нарисовать KNN, у меня дата-фрейм с 17 колонками, везде инфа как создать двух мерный рисунок распределения, мне бы 17ти мерный отобразить, подскажите пожалуйста как. scatter просит х и у но куда еще то 14 разместить для отображения? Или подскажите как вообще можно визуализировать KNN.
Ответы (2 шт):
Ну, во-первых. Вообще-то говоря kNN - это алгоритм. Как можно его нарисовать-визуализировать? Еще раз - "визуализировать алгоритм" ???
Теперь про попытки что-то нарисовать в 17- мерном пространстве. Понятно, что это какая-то мягко говоря странная идея. Всякие квази-многомерные диаграммы, типа радарных - хороши при пол десятка объектов, потом на них что-то понять невозможно. Да и вообще - если вы действительно построили классификатор кNN - он работает вне зависимости от того, нарисовали вы его или нет.
В общем, какой-то кашеообразный вопрос. Попробуйте его переформулировать так, что-бы можно было хотя-бы понять, зачем вам понадобилось делать то, что в принципе сделать нельзя, да еще для задачи, где то, что вы хотите сделать - имеет практически нулевой смысл.
Если хотите визуализировать точки в более чем 3х-мерном пространстве, то вам придется сначала уменьшить размерность до двух или трехмерного пространства.
Я бы посоветовал попробовать t-SNE алгоритм - он очень хорошо кластеризирует похожие точки в многомерных пространствах и в итоге после работы алгоритма t-SNE получаем кластеры схожих точек.
Итоговый выбор алгоритма для уменьшения размерности будет зависеть от исходных данных и от результата, который вы хотите получить.