Clustering with dbscan in 3d
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hello community
i am trying to cluster a 3d binary matrix (size: 150x131x134) because there are separeted groups of data structure. i used kmeans(X) before and in some cases there is a good output, but only for data sets which contain less than 4 cluster structures. my matrix will contain up to 8 separate data structures and the kmeans is unefficient then because there is a high dependence on inital conditions in some cases it cuts a data structure in half. now i found another cluster algorithm: dbscan; but i couldnt find any implementation which works in 3d in matlab too.
any idea where i can get a good dbscan algorithm implementation in matlab?
5 Kommentare
Antworten (1)
Walter Roberson
am 6 Jun. 2017
You need to convert your data to vector or to 2D with one "point" per row. The "distance" measure used expects each row to be a separate sample, and is not able to find distances for 3D.
3 Kommentare
Walter Roberson
am 6 Jun. 2017
You have not really indicated what you want to cluster on. Each of your values is either 0 or 1, so if you cluster on the value you would be obtaining at most two clusters. Are you looking for rows that have some relationship, or columns that have some relationship, or pages that have some relationship?
My suspicion is that you should be considering bwconncomp to find the parts that are contiguous.
Siehe auch
Kategorien
Mehr zu Statistics and Machine Learning Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!