Следующее является проблемой из задания, которое я пытаюсь решить:
Визуализация матрицы сходства.Представьте каждый образец с четырехмерным вектором (длина чашелистика, ширина чашелистика, длина лепестка, ширина лепестка).Для каждых двух образцов вычислите их попарное сходство.Вы можете сделать это, используя евклидово расстояние или другие метрики.Это приводит к матрице сходства, где элемент (i, j) хранит сходство между выборками i и j.Пожалуйста, сортируйте все образцы так, чтобы образцы из одной категории появлялись вместе.Визуализируйте матрицу, используя функцию imagesc () или любую другую функцию.
Вот код, который я написал до сих пор:
load('iris.mat'); % create a table of the data
iris.Properties.VariableNames = {'Sepal_Length' 'Sepal_Width' 'Petal_Length' 'Petal_Width' 'Class'}; % change the variable names to their actual meaning
iris_copy = iris(1:150,{'Sepal_Length' 'Sepal_Width' 'Petal_Length' 'Petal_Width'}); % make a copy of the (numerical) features of the table
iris_distance = table2array(iris_copy); % convert the table to an array
% pairwise similarity
D = pdist(iris_distance); % calculate the Euclidean distance and store the result in D
W = squareform(D); % convert to squareform
figure()
imagesc(W); % visualize the matrix
Теперь, я думаю, у меня есть в основном кодированиеПраво ответить на вопрос.Моя проблема в том, как отсортировать все сэмплы так, чтобы сэмплы из одной и той же категории появлялись вместе, потому что я избавился от имен при создании копии.Это уже отсортировано путем преобразования в квадратную форму?Другие предложения?Спасибо!