Classifiying the data points

조회 수: 3 (최근 30일)
Mehmet Volkan Ozdogan
Mehmet Volkan Ozdogan 2019년 7월 2일
댓글: Image Analyst 2019년 7월 4일
Hi i have a data set such as;
[x y z d], (100x4) matrices
x,y and z are coordinates and the d is the measure of a distance.Every d is corresponding with one point (x, y, z)
I want to create 10 classes from d and colorize the points (x,y,z) according to this classes and plot it
is anyone have idea?
Thank you

채택된 답변

Image Analyst
Image Analyst 2019년 7월 2일
Try kmeans with 10 classes, and operating on the d values:
data = rand(100, 4)
x = data(:, 1);
y = data(:, 2)
z = data(:, 3);
d = data(:, 4);
numClasses = 10
% Find classes based on 4th column.
indexes = kmeans(d, numClasses);
% Make up a colormap with 10 colors
cmap = jet(10);
% Assign a color to each data point based on it's class
markerColors = zeros(10, 3); % 10 colors.
for k = 1 : size(data, 1)
thisClassNumber = indexes(k)
markerColors(k, :) = cmap(thisClassNumber, :);
end
scatter3(x, y, z, 50, markerColors, 'filled');
fontSize = 20;
xlabel('X', 'FontSize', fontSize);
ylabel('Y', 'FontSize', fontSize);
zlabel('Z', 'FontSize', fontSize);
0000 Screenshot.png
There is a marker at each (x,y,z) location and its color depends on which of the 10 classes that point's "d" value got classified into.
  댓글 수: 10
Mehmet Volkan Ozdogan
Mehmet Volkan Ozdogan 2019년 7월 4일
Thank you for the answer. the problem was space. Now it is working. I have one more question, is it possible to add a legend abour classification...
thank you again for your helps
Image Analyst
Image Analyst 2019년 7월 4일
I think you'd have to do it manually with text().

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Classification에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by