I'm working on a project to classify 30 second samples of audio from 5 different genres (rock, electronic, rap, country, jazz). My dataset consists of 600 songs, where the features are a 1D array of mfccs for each song and the labels are the genres. The first 1/5th of the feature array is rock, the 2nd 1/5th is electronic, and so on.
I am focusing on first trying out my dataset on an svm classifier. To find the best set of parameters, I am using scikitlearn's gridsearchcv function, with the number of folds set to 5.
Before doing a gridsearch, I am splitting up the 600 songs randomly into train and test sets, with the test set being 20% of the 600. I randomly select 20% from the entire 600 as test and 80% as train. My question is, is this an appropriate method? Or should I be selecting a random sample from each genre, so as to make sure that my training set always contains the same amount from each label?