5-мерное построение в Matlab для классификации

Я хочу создать 5-мерное построение в Matlab. У меня есть два файла в моей рабочей области. один - данные (150 * 4). В этом файле у меня 150 данных, каждый из которых имеет 4 функции. Поскольку я хочу их классифицировать, у меня есть еще один файл с надписью «label» (150 * 1), который включает метку для каждой информации в файлах данных. Другими словами, метка является классом данных, и я имею 3 класса: 1,2,3 Я хочу составить эту классификацию, но я не могу ...

ноздря

0
nl ja de
Как именно вы хотите, чтобы пять измерений появлялись, и что делает это невозможным? Если вы получили сообщение об ошибке, укажите сообщение об ошибке, в противном случае попробуйте опубликовать небольшой фрагмент, чтобы отобразить данные, которые вы хотите построить (например, rand (10,2,2,2,2) ).
добавлено автор Dennis Jaheruddin, источник
мои данные находятся в файле excel. каждая строка представляет собой образец с 4 функциями (столбцами). и у меня есть 150 данных (строк).
добавлено автор user1934193, источник
У меня есть еще один файл excel, который имеет 150 строк, и каждая строка показывает метку класса для каждой информации. У меня есть 3 метки (3 класса): 1,2,3. теперь я хочу построить свои данные по точкам для каждого из данных, которые имеют цвет (например: красный. green.blue) Нарис
добавлено автор user1934193, источник

3 ответы

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

figure,hold on
markerList = 'o*+';
for iClass = 1:nClasses
    classIdx = dataClass==iClass;
    scatter3(data(classIdx,1),data(classIdx,2),data(classIdx,3),[],data(classIdx,4),...
       'marker',markerList(iClass));
end

Когда вы используете цвет для представления одной из функций, я предлагаю использовать хороший цветовой код, например pmkmp из файлового обмена Matlab вместо стандартного jet .

В качестве альтернативы вы можете использовать, например. mdscale , чтобы преобразовать ваши высокоразмерные данные в 2D для стандартного построения графика.

1
добавлено
@BenVoigt: да, но вы можете повернуть график, чтобы ваш мозг восстановил третье измерение. Размер маркера может быть сложным для интерпретации.
добавлено автор Jonas, источник
Он по-прежнему идет на двухмерном экране, поэтому вы получаете только 4 измерения. Размер маркера можно добавить как пятый.
добавлено автор Ben Voigt, источник

Вам нужно подумать о том, какой сюжет вы хотите увидеть. 5 измерений трудно визуализировать, если, конечно, ваш гипермерный монитор не работает. Мой не вернулся из ремонтной мастерской. (Это должно научить меня отправлять его.)

Серьезно, 5-мерные данные действительно могут быть трудно визуализироваться. Обычное решение состоит в том, чтобы начертить точки в двухмерном пространстве (например, экранные координаты фигуры. Это то, что по существу имеет смысл). Затем используйте различные атрибуты точек, построенных для отображения других трех измерений. Это то, с чем сталкивается Чернофф для вас. Если у вас есть панель инструментов статистики, то похоже, что glyphplot поможет вам. Или вы можете построить в 3-х, затем использовать два атрибута, чтобы показать другие два измерения.

Другая идея состоит в том, чтобы начертить точки в 2-д, чтобы показать два измерения, затем использовать цвет, чтобы указать другие три измерения. Таким образом, RGB, назначенный этому маркеру, будет определяться тремя другими измерениями. Конечно, это означает, что вы должны иметь возможность визуализировать то, что представляют собой RGB-координаты цвета, поэтому вам нужно понять цвет, как он представлен в пространстве RGB.

1
добавлено

Существует модель под названием SOM ​​(самоорганизующиеся карты), которая строит двумерный образ многомерного пространства.

0
добавлено