public static void PopulateDataSet(DataSetColumns dataSetColumns) { var cpuCount = new List <double>(); var totalMemory = new List <double>(); var systemUpTime = new List <double>(); var sumTriggers = new List <double>(); using (var reader = new StreamReader(_dataPath)) { reader.ReadLine(); // headers while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(','); cpuCount.Add(double.Parse(values[11])); totalMemory.Add(float.Parse(values[18], System.Globalization.NumberStyles.Float)); systemUpTime.Add(double.Parse(values[4])); sumTriggers.Add(double.Parse(values[19])); } } dataSetColumns.CPUCount = cpuCount.ToArray(); dataSetColumns.TotalMemory = totalMemory.ToArray(); dataSetColumns.SystemUpTime = systemUpTime.ToArray(); dataSetColumns.SumTriggers = sumTriggers.ToArray(); }
static void Main(string[] args) { try { var datasetColumns = new DataSetColumns(); PopulateDataSet(datasetColumns); // Learn about your data UnderstandData(datasetColumns); // Find Correlations //FindCorrelations(datasetColumns); // Train the clustering model //var model = TrainTheModel(); // Evaluate the model //EvaluateModel(model); } catch (Exception e) { Console.WriteLine(e); } Console.WriteLine("Execution Complete -- Press Enter"); Console.ReadLine(); }
public static void FindCorrelations(DataSetColumns dataSetColumns) { var pcc = PearsonCoefficientCalculator.ComputeCoefficient(dataSetColumns.SystemUpTime, dataSetColumns.SumTriggers); Console.WriteLine("Pearson coefficient between SystemUpTime and SumTriggers"); Console.WriteLine(pcc); pcc = PearsonCoefficientCalculator.ComputeCoefficient(dataSetColumns.CPUCount, dataSetColumns.TotalMemory); Console.WriteLine("Pearson coefficient between CPUCount and TotalMemory"); Console.WriteLine(pcc); }
/// <summary> /// This method reads the training data and calculates a variety of statistical data about each column. /// </summary> public static void UnderstandData(DataSetColumns dataSetColumns) { //Calculate and output the statistics for your pleasure var stats = MetricStatistics.CalculateMetricStatisticsAsync(dataSetColumns.CPUCount, DateTime.Now, TimeSpan.FromSeconds(1)).Result; Console.WriteLine("CPUCount Statistics:"); Console.WriteLine(stats.ToString()); stats = MetricStatistics.CalculateMetricStatisticsAsync(dataSetColumns.TotalMemory, DateTime.Now, TimeSpan.FromSeconds(1)).Result; Console.WriteLine("TotalMemory Statistics:"); Console.WriteLine(stats.ToString()); stats = MetricStatistics.CalculateMetricStatisticsAsync(dataSetColumns.SystemUpTime, DateTime.Now, TimeSpan.FromSeconds(1)).Result; Console.WriteLine("SystemUpTime Statistics:"); Console.WriteLine(stats.ToString()); stats = MetricStatistics.CalculateMetricStatisticsAsync(dataSetColumns.SumTriggers, DateTime.Now, TimeSpan.FromSeconds(1)).Result; Console.WriteLine("SumTriggers Statistics:"); Console.WriteLine(stats.ToString()); }