<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Density based clustering? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378996#M62876</link>
    <description>&lt;P&gt;Also, the hierarchical single-linkage method worked perfectly on the disjoint rings. Not the 2nd example though.&lt;/P&gt;</description>
    <pubDate>Thu, 22 Apr 2021 13:08:15 GMT</pubDate>
    <dc:creator>Craige_Hales</dc:creator>
    <dc:date>2021-04-22T13:08:15Z</dc:date>
    <item>
      <title>Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378801#M62861</link>
      <description>&lt;P&gt;Is it possible to separate the concentric circles shown in the example table below using any of the clustering methods in JMP?&amp;nbsp; There is already a JMP Wish List request for DBSCAN, or density based spatial clustering of applications with noise, which could do this.&amp;nbsp; Am I missing any existing functionality?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Wish list item:&lt;LI-MESSAGE title="density based clustering" uid="350498" url="https://community.jmp.com/t5/JMP-Wish-List/density-based-clustering/m-p/350498#U350498" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ih_0-1619029996603.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32271i35879C128430E0F9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ih_0-1619029996603.png" alt="ih_0-1619029996603.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Script to create example data table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;New Table( "Cluster Circles",
	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, 1 ) * :random noise * Cos( :random ) )
	),
	New Column( "y",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Formula( If( :actual cluster == 1, 2, 1 ) * :random noise * Sin( :random ) )
	),
	New Column( "random",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Formula( Random Uniform( 0, 2 * Pi() ) )
	),
	New Column( "random noise",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Formula( Random Normal( 1, 0.05 ) )
	),
	New Column( "actual cluster",
		Numeric,
		"Nominal",
		Format( "Best", 12 ),
		Formula( Floor( Random Uniform( 0, 1.99999 ) ) ),
		Set Selected
	)
)&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I know I could train a model to do this if I saw the relationship visually and wanted to just score points against it but I want an unsupervised method to do this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is another example dataset:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ih_1-1619030534930.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32272i8ED66516E262D18C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ih_1-1619030534930.png" alt="ih_1-1619030534930.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;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 ) ) )
	)
)&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 00:32:27 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378801#M62861</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2023-06-09T00:32:27Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378930#M62867</link>
      <description>Hi ih,&lt;BR /&gt;Have considered transforming your data in polar coordinates and then cluster on R and alpha? At least with your example data,  it does a pretty good job.&lt;BR /&gt;Cheers,&lt;BR /&gt;TS</description>
      <pubDate>Thu, 22 Apr 2021 06:39:26 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378930#M62867</guid>
      <dc:creator>Thierry_S</dc:creator>
      <dc:date>2021-04-22T06:39:26Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378987#M62872</link>
      <description>&lt;P&gt;bivariate nonpar density&lt;/P&gt;&lt;P&gt;then select points by density&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture3.PNG" style="width: 632px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32279i5E577E53B5A8E3E9/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture3.PNG" alt="Capture3.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Apr 2021 12:33:56 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378987#M62872</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2021-04-22T12:33:56Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378996#M62876</link>
      <description>&lt;P&gt;Also, the hierarchical single-linkage method worked perfectly on the disjoint rings. Not the 2nd example though.&lt;/P&gt;</description>
      <pubDate>Thu, 22 Apr 2021 13:08:15 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/378996#M62876</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2021-04-22T13:08:15Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379067#M62894</link>
      <description>&lt;P&gt;Hi and thank you&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/11634"&gt;@Thierry_S&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes indeed transforming to polar would give a great separation for both of these datasets. The problem is that only works for this example data set and it really is closer to a supervised method than I'm hoping for.&amp;nbsp; I used the rings because they illustrate my struggle with existing methods, but in fact the real data is messier, in more dimensions, and a simple transformation wouldn't quite do the job.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As a plug to get more folks to vote for the&amp;nbsp;&lt;LI-MESSAGE title="density based clustering" uid="350498" url="https://community.jmp.com/t5/JMP-Wish-List/density-based-clustering/m-p/350498#U350498" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;wish list item, check out how it compares to different methods at the link below. I can attest to seeing similar performance in some situations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://towardsdatascience.com/how-dbscan-works-and-why-should-i-use-it-443b4a191c80" target="_blank"&gt;https://towardsdatascience.com/how-dbscan-works-and-why-should-i-use-it-443b4a191c80&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Apr 2021 18:21:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379067#M62894</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2021-04-22T18:21:21Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379074#M62898</link>
      <description>&lt;P&gt;Good find&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/982"&gt;@Craige_Hales&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was confused how I missed this after trying all methods but now I see there is a bug in the platform so saving the&amp;nbsp;&lt;EM&gt;cluster&amp;nbsp;&lt;/EM&gt;gives a good separation for the rings, but saving the &lt;EM&gt;cluster formula&lt;/EM&gt; shows a different result.&amp;nbsp; As you mentioned, while I will find the useful it doesn't quite work in my actual application.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ih_0-1619115941135.png" style="width: 580px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32287iE3D095F50342EF2A/image-dimensions/580x248?v=v2" width="580" height="248" role="button" title="ih_0-1619115941135.png" alt="ih_0-1619115941135.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 22 Apr 2021 18:26:40 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379074#M62898</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2021-04-22T18:26:40Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379078#M62900</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/982"&gt;@Craige_Hales&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I did not know this feature existed!&amp;nbsp; Unfortunately it seems to select the high density regions of all clusters which, while handy, isn't quite what I am looking for.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 22 Apr 2021 18:33:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379078#M62900</guid>
      <dc:creator>ih</dc:creator>
      <dc:date>2021-04-22T18:33:25Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379290#M62932</link>
      <description>&lt;P&gt;The wikipedia &lt;A href="https://en.wikipedia.org/wiki/DBSCAN" target="_blank" rel="noopener"&gt;code&lt;/A&gt; and JMP's KDTable function look like they could do this. It might be pretty fast since the KDTable lookup would be doing a lot of the work.&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5080"&gt;@DonMcCormack&lt;/a&gt;this could be a good challenge, especially the part where it is turned into an add-in with a proper launch dialog and place in the menu system.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 17:02:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379290#M62932</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2021-04-23T17:02:01Z</dc:date>
    </item>
    <item>
      <title>Re: Density based clustering?</title>
      <link>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379478#M62942</link>
      <description>&lt;P&gt;The wikipedia algorithm seems to work. Not sure why it needs to use weird notation like&lt;/P&gt;&lt;PRE&gt;SeedSet S&amp;nbsp;:= N \ {P} &lt;/PRE&gt;&lt;P&gt;but maybe that's standard set notation for remove P from the set N?&lt;/P&gt;&lt;P&gt;I ran it a bunch of times on random data and got results like this for a ring and 10 randomly placed clusters&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="always using the same eps and minpts, one time the ring separated in half" style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32324iE7C931FF1AAC19CF/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="always using the same eps and minpts, one time the ring separated in half" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;always using the same eps and minpts, one time the ring separated in half&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;It might get too slow around 10,000 points, depending on the data and eps parameter. I'm not sure it qualifies as unsupervised; I spent a fair amount of time picking eps and minpts to get these graphs to work this well.&lt;/P&gt;</description>
      <pubDate>Sat, 24 Apr 2021 15:44:45 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Density-based-clustering/m-p/379478#M62942</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2021-04-24T15:44:45Z</dc:date>
    </item>
  </channel>
</rss>

