private void binaryReport(Forms.RunningProcess.frmRunningProcessDialog rd)
 {
     KMeansClusterCollection gCol = (KMeansClusterCollection)clusterCollection;
     for (int i = 0; i < gCol.Count; i++)
     {
         KMeansCluster gClust = gCol[i];
         double[] mns = gClust.Mean;
         rd.addMessage("\n\nCluster " + Labels[i] + ":\nMeans: " + String.Join(", ", (from double d in mns select d.ToString()).ToArray()));
     }
 }
        private void kmeansReport(Forms.RunningProcess.frmRunningProcessDialog rd)
        {
            KMeansClusterCollection gCol = kmeans.Clusters;
            for (int i = 0; i < gCol.Count; i++)
            {
                KMeansCluster gClust = gCol[i];
                double[] mns = gClust.Mean;
                double[,] cov = gClust.Covariance;
                double[,] corr = getCorr(cov);
                rd.addMessage("\n\nStratum " + Labels[i] + ":\nMeans: " + String.Join(", ", (from double d in mns select d.ToString()).ToArray()) + "\nCovariance:");
                for (int j = 0; j < VariableFieldNames.Length; j++)
                {
                    string[] covStrArr = new string[VariableFieldNames.Length];
                    for (int l = 0; l < covStrArr.Length; l++)
                    {
                        covStrArr[l] = cov[l, j].ToString();
                    }
                    rd.addMessage("\n" + String.Join(",", covStrArr));
                }
                rd.addMessage("\nCorr:");
                for (int j = 0; j < VariableFieldNames.Length; j++)
                {
                    string[] corrStrArr = new string[VariableFieldNames.Length];
                    for (int l = 0; l < corrStrArr.Length; l++)
                    {
                        corrStrArr[l] = corr[l, j].ToString();
                    }
                    rd.addMessage("\n" + String.Join(",", corrStrArr));
                }

            }
        }
        private static void fillStrataReport(string modelPath, Forms.RunningProcess.frmRunningProcessDialog rp, double proportion, double alpha)
        {
            dataPrepStrata strata = new dataPrepStrata();
            strata.buildModel(modelPath);
            List<string> lbl = strata.Labels;
            rp.addMessage("Samples by strata (Stratum; number of samples)");
            rp.addMessage("-".PadRight(45, '-'));
            int[] samples = sampleSizeMaxStrata(modelPath, proportion, alpha);
            for (int i = 0; i < samples.Length; i++)
            {
                rp.addMessage("\t" + lbl[i] + "; " + samples[i].ToString());

            }
            rp.addMessage("-".PadRight(45, '-'));
            rp.addMessage("Total number of samples = " + samples.Sum().ToString());
        }
 private static void fillPcaReport(string modelPath, Forms.RunningProcess.frmRunningProcessDialog rp, double proportion = 0.1, double alpha = 0.05)
 {
     dataPrepPrincipleComponents pca = new dataPrepPrincipleComponents();
     pca.buildModel(modelPath);
     double[] meanVector = pca.MeanVector;
     double[] std = pca.StdVector;
     int numSamp = sampleSizeMaxMean(meanVector, std, proportion, alpha);
     rp.addMessage("\nTotal Number of Samples = " + numSamp.ToString());
 }
 private static void fillCovCorr(string modelPath, Forms.RunningProcess.frmRunningProcessDialog rp, double proportion = 0.1, double alpha = 0.05)
 {
     dataPrepVarCovCorr covCorr = new dataPrepVarCovCorr();
     covCorr.buildModel(modelPath);
     double[,] covCorrArr = covCorr.CovarianceMatrix;
     double[] means = covCorr.MeanVector;
     string[] varFieldNames = covCorr.VariableFieldNames;
     int[] nAndIndex = sampleSizeMaxMean(covCorrArr,means, proportion, alpha);
     string vName = varFieldNames[nAndIndex[1]];
     double mean = means[nAndIndex[1]];
     double std = covCorr.StdVector[nAndIndex[1]];
     rp.addMessage("\nTotal Number of Samples = " + nAndIndex[0].ToString() + "\n\nMax sample from variable " + vName + "\n\tMean = " + mean.ToString() + "\n\tSTD = " +std.ToString());
 }
        private static void fillCluserReport(string modelPath, Forms.RunningProcess.frmRunningProcessDialog rp, double proportion = 0.1, double alpha = 0.05)
        {
            dataPrepClusterKmean clus = new dataPrepClusterKmean();
            clus.buildModel(modelPath);
            List<string> lbl = clus.Labels;
            rp.addMessage("Samples by class (Cluster; number of samples)");
            rp.addMessage("-".PadRight(45, '-'));
            int[] samples = sampleSizeMaxCluster(modelPath, proportion, alpha);
            for (int i = 0; i < samples.Length; i++)
            {
                rp.addMessage("\t"+lbl[i] + "; " + samples[i].ToString());

            }
            rp.addMessage("-".PadRight(45, '-'));
            rp.addMessage("Total number of samples = " + samples.Sum().ToString());
        }
 private static void fillAaReport(string modelPath,Forms.RunningProcess.frmRunningProcessDialog rp,double proportion=0.1, double alpha=0.05)
 {
     rp.addMessage("\nTotal Number of Samples = " + sampleSizeKappa(modelPath, proportion,alpha).ToString());
 }