что вы можете сделать, это ->
from pandas import plotting as pdplt
pdplt.scatter_matrix(dataframe, pass the remaining required parameters)
, тем самым вы получите матрицу графиков (в вашем случае это 6X6), которая точно покажет, как каждый столбец в вашем фрейме данных связан с другими столбцамии вы можете четко визуализировать, какая функция доминирует в результате, а также как эти функции соотносятся друг с другом.Если вы спросите меня, это первое, что я использовал для решения проблем такого типа, а затем удалил все коррелированные объекты и выбрал объекты, которые наилучшим образом приближаются к выходу.
Но так как вам нужно построить 2d график иПри описанном выше подходе вы можете получить больше, чем одну особенность, которая доминирует на выходе, тогда вы можете создать чудо по имени PCA.Если вы спросите меня, PCA - одна из самых красивых вещей в машинном обучении.Что он будет делать, так это каким-то образом объединит всех ваших поклонников в каком-то волшебном соотношении, что сгенерирует принципиальные компоненты для ваших данных.Основными компонентами являются те компоненты, которые определяют / вносят основной вклад в вашу модель.Вы применяете pca, просто импортируя из sklearn, а затем выбираете первый принципиальный компонент (так как вам нужен двухмерный график) или можете выбрать два базовых компонента и построить трехмерный график.Но всегда помните, что эти ценовые компоненты не являются реальными особенностями вашей модели, но они представляют собой некое волшебное сочетание, и то, как PCA сделал это, очень и очень интересно (с использованием таких понятий, как собственные значения и векторы), и вы также можете создавать свои собственные.
Помимо всего этого вы можете применить разложение по сингулярному значению (SVD) к вашей модели, которая является сущностью всей линейной алгебры, которая является типом разложения матрицы, существующего для всей матрицы.Для этого нужно разложить вашу матрицу на три матрицы, из которых диагональная матрица, состоящая из сингулярных значений (масштабный коэффициент) в порядке убывания, и что вам нужно сделать, это выбрать верхние значения единственного числа (в вашем случае только первоес наибольшей величиной) и построить обратно матрицу объектов из 5 столбцов в 1 столбец, а затем построить это.Вы можете сделать SVD, используя numpy.linalg
После того, как вы применили любой из этих методов, вы можете узнать свою гипотезу только с помощью одной наиболее важной выбранной функции и, наконец, построить график.Но учтите, что для построения двумерного графа следует избегать других важных функций, поскольку, возможно, у вас есть 3 главных компонента, каждый из которых имеет почти одинаковый вклад, и пусть три верхних единичных значения очень близки друг к другу.Поэтому примите мои слова и учтите все важные функции, и если вам нужна визуализация этих важных функций, используйте матрицу разброса
Summary ->
Все, что я хочу упомянуть, - это то, что вы можете сделатьтот же процесс со всеми этими вещами, а также может придумать вашу собственную статистическую или математическую модель для сжатия вашего пространства признаков.Но для меня я предпочитаю использовать PCA, и в таких случаях я даже сначала строю матрицу рассеяния, чтобы получить визуальную интуицию к данным.А также PCA и SVD помогают устранить избыточность и, следовательно, переоснащение.
Подробнее об остальном см. В документах.
Счастливое машинное обучение ...