title: Should my model always give 100% accuracy on Training dataset?
body: <pre><code>from sklearn.naive_bayes import MultinomialNB # Multinomial Naive Bayes on Lemmatized Text
  
  X_train, X_test, y_train, y_test = train_test_split(df['Rejoined_Lemmatize'], df['Product'], random_state = 0)
  
  X_train_counts = tfidf.fit_transform(X_train)
  clf = MultinomialNB().fit(X_train_counts, y_train)
  y_temp = clf.predict(tfidf.transform(X_train))
  </code></pre>
  
  <p>I am testing my model on the training dataset itself. It is giving me the following results:</p>
  
  <pre><code>                          precision    recall  f1-score   support
  
                 accuracy                           0.92    742500
                macro avg       0.93      0.92      0.92    742500
             weighted avg       0.93      0.92      0.92    742500
  </code></pre>
  
  <p>Is it acceptable to get accuracy&lt; 100% on the training dataset?</p>