SampleApp.MainForm.btnGenerateRandom_Click C# (CSharp) Method

btnGenerateRandom_Click() private method

Creates the initial scatter plot graphs containing some random data. This data is generated by sampling Gaussian distributions.
private btnGenerateRandom_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void btnGenerateRandom_Click(object sender, EventArgs e)
        {
            k = (int)numClusters.Value;

            // Generate data with n Gaussian distributions
            double[][][] data = new double[k][][];

            for (int i = 0; i < k; i++)
            {
                // Create random centroid to place the Gaussian distribution
                double[] mean = Vector.Random(2, -6.0, +6.0);

                // Create random covariance matrix for the distribution
                double[,] covariance = Accord.Statistics.Tools.RandomCovariance(2, -5, 5);

                // Create the Gaussian distribution
                var gaussian = new MultivariateNormalDistribution(mean, covariance);

                int samples = Accord.Math.Random.Generator.Random.Next(150, 250);
                data[i] = gaussian.Generate(samples);
            }

            // Join the generated data
            observations = Matrix.Stack(data);

            // Update the scatter plot
            CreateScatterplot(graph, observations, k);

            // Forget previous initialization
            kmeans = null;
        }
MainForm