I have a data set of movies and their subtitles. My task is to classify them based on their ratings - [R, NR, PG, PG-13, G].
I have 13 examples for each class. I preprocessed the subtitles in the following way:
- I used word puns tokenizer to tokenize subtitles.
- Removed stop words and punctuation.
- Performed stemming.
- Vectorized the subtitles using TF-IDF vectorizer.
The accuracy that I am getting using:
1) svm : train accuracy is 1.0 and test accuracy is .17.
2) naive bayes: training accuracy is 0.5 and test accuracy is .23.
I have the following questions:
1)Why is my accuracy so low and what can I do to improve the accuracy?
2)Will more training data help?
3)Should I perform feature selection?
4)What other classification algorithms can I use to improve the accuracy?