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);
 }