Re: Dichtebasiertes Clustering?Der Wikipedia-Algorithmus scheint zu funktionieren. Ich bin mir nicht sicher, warum es eine seltsame Notation wie verwenden muss
SeedSet S := N \ {P} aber vielleicht ist das die Standard-Set-Notation für das Entfernen von P aus dem Set N?
Ich habe es ein paar Mal mit Zufallsdaten ausgeführt und Ergebnisse wie dieses für einen Ring und 10 zufällig platzierte Cluster erhalten
always using the same eps and minpts, one time the ring separated in halfalways using the same eps and minpts, one time the ring separated in halfalways using the same eps and minpts, one time the ring separated in halfalways using the same eps and minpts, one time the ring separated in halfalways using the same eps and minpts, one time the ring separated in halfalways using the same eps and minpts, one time the ring separated in halfalways using the same eps and minpts, one time the ring separated in halfimmer die gleichen eps und minpts verwenden, einmal wurde der Ring in zwei Hälften geteilt
Bei etwa 10.000 Punkten könnte es je nach Daten- und EPS-Parameter zu langsam werden. Ich bin mir nicht sicher, ob es als unbeaufsichtigt gilt; Ich habe ziemlich viel Zeit damit verbracht, Eps und Minpts auszuwählen, damit diese Diagramme so gut funktionieren.
Re: Dichtebasiertes Clustering?Die Wikipedia Code und die KDTable-Funktion von JMP sehen so aus, als könnten sie dies tun. Es könnte ziemlich schnell gehen, da die KDTable-Suche einen Großteil der Arbeit erledigen würde.
@DonMcCormack Dies könnte eine gute Herausforderung sein, insbesondere der Teil, in dem es in ein Add-In mit einem geeigneten Startdialog und Platz im Menüsystem umgewandelt wird.
Re: Dichtebasiertes Clustering?Hallo @Craige_Hales
Ich wusste nicht, dass es diese Funktion gibt!Leider scheint es die Regionen mit hoher Dichte aller Cluster auszuwählen, was zwar praktisch ist, aber nicht ganz das ist, wonach ich suche.
Danke!
Re: Dichtebasiertes Clustering?Guter Fund @Craige_Hales ,
Ich war verwirrt, wie ich das verpasst habe, nachdem ich alle Methoden ausprobiert hatte, aber jetzt sehe ich, dass es einen Fehler in der Plattform gibt, also speichere ich die Cluster gibt eine gute Trennung für die Ringe, spart aber die Cluster-Formel zeigt ein anderes Ergebnis.Wie Sie bereits erwähnt haben, finde ich das zwar nützlich, funktioniert aber in meiner eigentlichen Anwendung nicht ganz.

Danke schön!
Re: Dichtebasiertes Clustering?Hallo und danke @Thierry_S ,
Ja, die Umwandlung in Polar würde in der Tat eine große Trennung für diese beiden Datensätze ergeben. Das Problem ist, dass es nur für diesen Beispieldatensatz funktioniert und es wirklich näher an einer überwachten Methode liegt, als ich erhofft habe.Ich habe die Ringe verwendet, weil sie meinen Kampf mit bestehenden Methoden veranschaulichen, aber tatsächlich sind die echten Daten chaotischer, in mehr Dimensionen, und eine einfache Transformation würde nicht ganz ausreichen.
Als Plug, um mehr Leute dazu zu bringen, für die zu stimmen Dichtebasiertes Clustering Artikel auf der Wunschliste finden Sie unter dem folgenden Link im Vergleich zu anderen Methoden. Ich kann bestätigen, dass ich in einigen Situationen eine ähnliche Leistung sehe.
https://towardsdatascience.com/how-dbscan-works-and-why-should-i-use-it-443b4a191c80
Re: Dichtebasiertes Clustering?Auch die hierarchische Single-Linkage-Methode funktionierte perfekt auf den disjunkten Ringen. Allerdings nicht das zweite Beispiel.
Re: Dichtebasiertes Clustering?bivariate Nonpar-Dichte
Wählen Sie dann Punkte nach Dichte aus

Re: Dichtebasiertes Clustering?Hallo eh,
Haben Sie darüber nachgedacht, Ihre Daten in Polarkoordinaten umzuwandeln und dann auf R und Alpha zu gruppieren? Zumindest mit Ihren Beispieldaten macht es einen ziemlich guten Job.
Beifall,
TSDichtebasiertes Clustering?Ist es möglich, die in der Beispieltabelle unten gezeigten konzentrischen Kreise mithilfe einer der Clustering-Methoden in JMP zu trennen?Es gibt bereits eine JMP-Wunschliste-Anfrage für DBSCAN oder dichtebasiertes räumliches Clustering von Anwendungen mit Rauschen, das dies ermöglichen könnte.Vermisse ich eine vorhandene Funktionalität?
Wunschzettel-Artikel: Dichtebasiertes Clustering

Skript zum Erstellen einer Beispieldatentabelle:
Mehr sehen...
Ich weiß, dass ich einem Modell beibringen könnte, dies zu tun, wenn ich die Beziehung visuell sehen würde und nur Punkte dagegen sammeln wollte, aber ich möchte eine unbeaufsichtigte Methode, um dies zu tun.
Hier ist ein weiterer Beispieldatensatz:

Mehr sehen...
New Table( "Cluster Circles 2",
Add Rows( 500 ),
New Script(
"x by y",
Graph Builder(
Size( 527, 456 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ), Color( :actual cluster ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)
),
New Column( "x",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( :actual cluster == 1,
2 * :random noise * Cos( :random ),
1 * :random noise * Cos( :random / 2 ) + 0.1
)
)
),
New Column( "y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( :actual cluster == 1,
2 * :random noise * Sin( :random ),
1 * :random noise * Sin( :random / 2 ) + 0.1
)
),
Set Selected
),
New Column( "random",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Uniform( 0, 0.8 * Pi() ) )
),
New Column( "random noise",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Normal( 1, 0.1 ) )
),
New Column( "actual cluster",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( Floor( Random Uniform( 0, 1.99999 ) ) )
)
)
Neue Tabelle( „Cluster Circles 2“, Zeilen hinzufügen( 500), Neues Skript( „x by y“, Graph Builder( Size( 527, 456), Show Control Panel( 0), Variablen( X( :x ), Y ( :y ), Farbe( :aktueller Cluster ) ), Elemente( Punkte( X, Y, Legend( 5 ) ) ) ) ), Neue Spalte( „x“, Numerisch, „Kontinuierlich“, Format( „Best“, 12 ), Formel( If( :tatsächlicher Cluster == 1, 2 * :zufälliges Rauschen * Cos( :zufällig ), 1 * :zufälliges Rauschen * Cos( :zufällig / 2 ) + 0,1 ) ) ), Neue Spalte( "y" , Numerisch, „Kontinuierlich“, Format( „Best“, 12 ), Formel( If( :tatsächlicher Cluster == 1, 2 * :zufälliges Rauschen * Sin( :zufällig ), 1 * :zufälliges Rauschen * Sin( :zufällig / 2 ) + 0,1 ) ), Ausgewählte festlegen ), Neue Spalte( „zufällig“, Numerisch, „Kontinuierlich“, Format( „Best“, 12 ), Formel( Random Uniform( 0, 0.8 * Pi() ) ) ), Neu Spalte( „zufälliges Rauschen“, Numerisch, „Kontinuierlich“, Format( „Best“, 12 ), Formel( Zufälliges Normal( 1, 0,1 ) ) ), Neue Spalte( „tatsächlicher Cluster“, Numerisch, „Nominal“, Format( „Best“, 12 ), Formula( Floor( Random Uniform( 0, 1.99999 ) ) ) )
Erweiterte statistische ModellierungVerbraucher- und MarktforschungQualitäts- und Verfahrenstechnik