title: (Machine Learning) Is it not possible to predict new data using an existing model?
body: <p>I'm making machine learning for twitter sentiment analysis using Naive Bayes and tf-idf. My initial dataset is 500 data with total of 1500 features. After using K-fold(10-fold) I was able to get accuracy of 70%.</p>
  <p>Now that that's done, I want my machine to be able to predict new data, preferably new dataset, from it's past experience. So my idea is something like this</p>
  <pre><code>#Base Model
  X_train = df_tfidf.drop(['Sentimen'], axis=1)
  y_train = df_tfidf.Sentimen
  
  #Data testing
  X_test = df_tfidf_tes.drop(['Sentimen'], axis=1)
  y_test = df_tfidf_tes['Sentimen']
  
  model = MultinomialNB()
  
  model.fit(X_train,y_train)
  
  prediction = model.predict(X_test)
  prediction
  </code></pre>
  <p>But then it return this error
  <code>shapes (5,9) and (1534,2) not aligned: 9 (dim 1) != 1534 (dim 0)</code></p>
  <p>Sure enough, my new dataset is small with only 5 data and 9 features, and according to <a href="https://stackoverflow.com/questions/56617715/valueerror-shapes-4155-1445-and-4587-7-not-aligned-1445-dim-1-4587-d">this answer in stackexchange</a>, it's not possible to predict 2 dataset using 1 model.</p>
  <p>But doesn't that defeat the purpose of machine learning, no? Or am I aproaching things wrong here?</p>