private static void MakePrediction() { Logger.Log("Making prediction", Logger.TabChange.Increase); Logger.Log("Building predictor", Logger.TabChange.Increase); var predictor = new Predictor(); Logger.Log("Predictor built", Logger.TabChange.Decrease); Logger.Log("Predicting unknown values", Logger.TabChange.Increase); var predictions = predictor.Predict(); Logger.Log("Unknown values predicted", Logger.TabChange.Decrease); Logger.Log("Outputting prediction", Logger.TabChange.Increase); File.WriteAllLines("Prediction.csv", new[] { "Prediction" }.Concat(Enumerable.Range(0, 5).SelectMany(t => predictions.Select(p => p[t].ToString())))); Logger.Log("Prediction outputted", Logger.TabChange.Decrease); Logger.Log("Prediction made", Logger.TabChange.Decrease); }
private static void EstimateScore() { Logger.Log("Estimating score", Logger.TabChange.Increase); Logger.Log("Building predictor", Logger.TabChange.Increase); var predictor = new Predictor(); Logger.Log("Predictor built", Logger.TabChange.Decrease); Logger.Log("Loading actual values", Logger.TabChange.Increase); var actual = Enumerable.Range(10, 5).SelectMany(t => InputData.Paths.Select(p => predictor.IsOptimumPath(predictor.ToPath(p), t) ? 1.0 : 0.0)).ToList(); Logger.Log("Actual values loaded", Logger.TabChange.Decrease); Logger.Log("Predicting known values", Logger.TabChange.Increase); var predictions = predictor.Predict(0, 9, 10, 14).SelectMany(tp => tp).ToList(); Logger.Log("Known values predicted", Logger.TabChange.Decrease); Logger.Log("Calculating score", Logger.TabChange.Increase); double score = Kaggle.Auc(actual, predictions); Logger.Log("Score calculated", Logger.TabChange.Decrease); Logger.Log("Score estimated to be: " + score, Logger.TabChange.Decrease); }