private static void TimelessDenStreamTest() { var filePath = $"{Environment.CurrentDirectory}/Data/Synthesis/DataSteamGenerator/data.synthetic.json"; var dataStream = ContinuousDataReader.ReadSyntheticEuclidean(filePath); var denStream = new TimelessDenStream <EuclideanPoint>( Similarity.EuclideanDistance, Similarity.EuclideanDistance); var terminate = denStream.MaintainClusterMap(); foreach (var p in dataStream) { denStream.Add(p); } Thread.Sleep(2000); foreach (var p in dataStream.TakeLast(110)) { denStream.Remove(p); } var clusters = denStream.Cluster(); terminate(); Console.WriteLine(clusters.Pretty()); Console.WriteLine(clusters.Length); }
private static void DbScanTest() { var filePath = $"{Environment.CurrentDirectory}/Data/Synthesis/DataSteamGenerator/data.synthetic.json"; var dataStream = ContinuousDataReader.ReadSyntheticEuclidean(filePath); var denStream = new TimelessDenStream <EuclideanPoint>( Similarity.EuclideanDistance, Similarity.EuclideanDistance); foreach (var p in dataStream) { denStream.Add(p); } var scClustersAll = new List <dynamic>(); var clusters = denStream.Cluster(); var numClusters = 0; foreach (var cluster in clusters) { var k = numClusters; scClustersAll.AddRange(cluster.Select(p => new { x = p.X, y = p.Y, c = k })); numClusters++; } File.WriteAllText( $"{Environment.CurrentDirectory}/Data/Synthesis/ClusterVisualization/dbscanVisu/dbscan.json", JsonConvert.SerializeObject(scClustersAll)); }
private static void TimelessDenStreamMCTest() { var filePath = $"{Environment.CurrentDirectory}/Data/Synthesis/DataSteamGenerator/data.synthetic.json"; var dataStream = ContinuousDataReader.ReadSyntheticEuclidean(filePath); var denStream = new TimelessDenStream <EuclideanPoint>( Similarity.EuclideanDistance, Similarity.EuclideanDistance); foreach (var p in dataStream) { denStream.Add(p); } denStream.Cluster(); // foreach (var p in dataStream.TakeLast(110)) // { // denStream.Remove(p); // } // // denStream.Cluster(); var mcs = denStream.MicroClusters; var mcPoints = new List <EuclideanPoint>(); mcs.ForEach(mc => mcPoints.AddRange(mc.Points)); File.WriteAllText($"{Environment.CurrentDirectory}/Data/Synthesis/ClusterVisualization/mcs.json", JsonConvert.SerializeObject(mcs)); File.WriteAllText($"{Environment.CurrentDirectory}/Data/Synthesis/ClusterVisualization/mcPoints.json", JsonConvert.SerializeObject(mcPoints)); }
private const bool TEST_ENV = true; //TODO: Remove this when we push to prod, its a quick debug bool public ClusteringController(IHostingEnvironment env, TimelessDenStream <Streamer> denStream) { _env = env; _denStream = denStream; _shrinkageClustering = new ShrinkageClustering <Streamer>(100, 100, Similarity.Cosine); }
public StatefulDenStream(TimelessDenStream <Streamer> denStream) { _denStream = denStream; _shrinkageClustering = new ShrinkageClustering <Streamer>(100, 100, Similarity.Cosine); }