testing new data in model I have ensembled 3 algorithms as below,

estimators = []
model1 = MultinomialNB().fit(X,y)
estimators.append(('Naive Bayes', model1))
model2 = LinearSVC(random_state=0).fit(X,y)
estimators.append(('SVM', model2))
model3 = RandomForestClassifier(bootstrap=True).fit(X,y)
estimators.append(('Random Forest', model3))

# create the ensemble model
ensemble = VotingClassifier(estimators)
results = model_selection.cross_val_score(ensemble, X, y)
print(results.mean())


while passing new sentence to test the ensembling I have used, 

predicted = results.predict(X_new_tfidf)


But I am getting error:


  AttributeError: 'numpy.ndarray' object has no attribute 'predict'


How can I fix/debug this?
Your line results = model_selection.cross_val_score(ensemble, X, y) just returns an array of scores for each run of the cross validation, so the error is telling you that it's just an array of numbers, not a model itself and has no defined method for fitting things. 

To use predict, you need to call it on a model object, which I'm assuming you're going for the VotingClassifier. Your ensemble variable has a fit method, so you want to call

predicted = ensemble.predict(X_new_tfidf)