TF-IDF or just TF I'm very new to Machine Learning and I'm working on classifying some reviews into Good or Bad reviews. I have a training set of about 20,000 reviews. 
I'm planning on using the "Bag of Words" approach. Now, I don't know whether I should use Word Count, Word Frequency or TFIDF?
My understanding is that most of the bad reviews will contain words like "terrible", "broke", "useless" and so shouldn't just TF be enough? What benefit will IDF bring to me? 
 A: For sentiment analysis tasks like yours, you can either use "bag of words" or TF-IDF or "bag of vectors" or "bag of n-grams"(or others) to convert raw text to numerical features. 
The Bag of Words and TF-IDF which is based on Bag of Words are very simple and fast algorithms. The IDF is necessary because it makes a trade-off between frequency of the term and how many documents include the term. The primary algorithm assumes that words, like stop words, that appear in other documents frequently are less valuable than those only appear in a document, resulting in it may not fit in your case where keywords would be counted as stop words. 
You can utilize the "bag of n-grams" to prevent that, and you can also weight the n-grams by the Naive Bayes like that in this paper: Sentiment Classification using Document Embeddings trained with Cosine Similarity.
A: In TF we weighted terms based on the frequency of the word appearance in document. Some words that doesn't really have meaning may have more frequency count e.g. a, an, and, etc. More frequency count of a term may imply that the term is more important. IDF is a weight calculation method to prevent terms that have to many frequency count like stopwords from having high frequency count. IDF will work in a way that words that appear too often in a document will have lower weights and words that don't appear too often will have bigger weights. 
