How to train the final model after cross-validation? I am using RandomForestClassifier from scikit-learn and I get the following results:


*

*"accuracy of 77%" with a train/test split 75/25%.

*"accuracy of about 76%" with cross-validation (cv=5) using the entire sample.


I am happy so far...
However, what do I do now? I want a final shippable model to pickle and use it on data, give it to a friend and say "this is the best I could do...". So, 


*

*Do I train on all X,y? and joblib.dump(clf, 'final_shippable_supermodel.pkl') 

*Do I train on using X_train, y_train from a random split?


ALSO, note that I understand 77% might not meet the standards of those who answer. I am just trying to understand the steps. An, yes, I have good precision and recall scores.
 A: Allow me to paraphrase your question:

Do I re-train on all $X, y$ before handing over my final model?

Yes. And you could report the performance measures you found: test set performance and cross-validation. 
These estimates do not suffer from optimism bias with respect to out-of-sample performance.$^\text{1}$ They are preferred to in-sample measures of fit that can, and often do, suffer from optimism bias.
Lastly, note that random forests come with a natural estimate of out-of-sample prediction performance: the out-of-bag estimator (OOB). Simply set oob_score = True. I suspect, that its value will be similar to the ones you already obtained.

$\!^\text{1}$ In fact, they are even (slightly) pessimistic with respect to the performance of the model trained on the entire sample ("all data"), as a model's ability to generalize improves upon "seeing" more examples.
A: Once you tested your model and saw that the accuracy (or whatever metric you use) is good enough, then you can re-train your model with all your data before shipping it.
Think, for instance, in a simple split training/test. You keep a test set because you need to know how well your model generalizes to unseen data. Otherwise you would be fooling yourself, since the model might be overfitting (memorizing) the training set. However, once you know that you have a good model, you can use your test data to make your model more robust.
