Nehmen wir also an, ich habe ein Array wie dieses:
[1,1,2,3,10,11,13,67,71]
Gibt es eine bequeme Möglichkeit, das Array in so etwas zu partitionieren?
[[1,1,2,3],[10,11,13],[67,71]]
Ich habe ähnliche Fragen durchgesehen, aber die meisten Leute schlugen vor, k-means zu verwenden, um Punkte wie scipy zu gruppieren , was für einen Anfänger wie mich ziemlich verwirrend ist. Ich denke auch, dass k-means besser für zwei oder mehr dimensionale Cluster geeignet ist, oder? Gibt es Möglichkeiten, ein Array von N Zahlen abhängig von den Zahlen in viele Partitionen / Cluster zu unterteilen?
Einige Leute schlagen auch eine starre Bereichspartitionierung vor, aber die Ergebnisse werden nicht immer wie erwartet wiedergegeben
meanshift
oderdbscan
möglicherweise keine guten Ansätze für das Clustering von 1D vorliegen? Siehe scikit-learn.org/stable/modules/clustering.htmlSie können nach diskretisierten Algorithmen suchen. Das 1D-Diskretisierungsproblem ist dem, was Sie fragen, sehr ähnlich. Sie bestimmen die Grenzwerte nach Häufigkeit, Binning-Strategie usw.
weka verwendet in seinem Diskretisierungsprozess die folgenden Algorithmen.
quelle