MATLAB Answers


K-means clustering, is it possible to get vertical boundaries?

Asked by John
on 3 Mar 2012


I have performed K-means clustering on some data and formed 3 clusters. Here is a graph

One thing that I notice is that the boundaries between the clusters are horizontal.

In my case, I have a congestion percentage plotted against average velocity. Naturally as the congestion percentage increases the average velocity decrease. However it would be more intuitive if the boundaries were vertical not horizontal.

Is it possible to do this with clustering algorithms?

Sincere thanks



1 Answer

Answer by Tom Lane
on 3 Mar 2012
 Accepted answer

I believe the boundaries are horizontal because the scale of the y variable is much larger. Differences in the y direction dominate the measure of the distance between two points. You could simply cluster on the x variable. You could also experiment with clustering on other matrices that adjust the x and y scale:

[x,y/10]   or   [100*x,y]   or ...

and see if you find any of the results appealing.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!