Before I lodge this question, I have to say I\'ve thoroughly read more than 15 similar topics on this board, each with somehow different recommendations, but all of them jus
Your CountVectorizer has already been fitted with the training data. So for your test data, you just want to call transform(), not fit_transform().
Otherwise, if you use fit_transform() again on your test data, you get different columns based on the unique vocabulary of the test data. So just fit once for training.
X_testcv = cv.transform(X_test)