static List <Song> GetPreparedTrainingData() { SongsReader songsReader = new SongsReader($"{ResourcesRoot}/top10s.csv", ','); songsReader.ReadSongs(); List <Song> songs = songsReader.Songs; // Console.WriteLine("Read songs:"); // ConsoleHelper.ShowReadSongs(songs); OriginalSongsAnalyzer analyzer = new OriginalSongsAnalyzer(songs); analyzer.Analyze(); // ConsoleHelper.ShowAnalyzerResults(analyzer); SongsNormalizer normalizer = new SongsNormalizer(songs, true); normalizer.Normalize(); songs = normalizer.NormalizedSongs; // Console.WriteLine("Normalized songs:"); // ConsoleHelper.ShowReadSongs(songs); return(songs); }
static void ShowSongsByYear(OriginalSongsAnalyzer analyzer) { Console.WriteLine(); Console.WriteLine("Songs by year:"); List <int> years = analyzer.SongsByYear.Keys.ToList(); years.Sort(); foreach (int year in analyzer.SongsByYear.Keys) { Console.WriteLine($"{year}-----{analyzer.SongsByYear[year].Count}"); } }
static void ShowSongsByGenre(OriginalSongsAnalyzer analyzer) { Console.WriteLine(); Console.WriteLine("Songs by genre:"); List <string> genres = analyzer.SongsByGenre.Keys.ToList(); genres.Sort((left, right) => analyzer.SongsByGenre[left].Count .CompareTo(analyzer.SongsByGenre[right].Count) * -1); foreach (string genre in genres) { Console.WriteLine($"{genre}-----{analyzer.SongsByGenre[genre].Count}"); } }
static void ShowBoundValues(OriginalSongsAnalyzer analyzer) { Console.WriteLine(); Console.WriteLine($"Min songs values: {analyzer.MinSongsValues}"); Console.WriteLine($"Max songs values: {analyzer.MaxSongsValues}"); }
public static void ShowAnalyzerResults(OriginalSongsAnalyzer analyzer) { ShowBoundValues(analyzer); ShowSongsByGenre(analyzer); ShowSongsByYear(analyzer); }