1. You should not evaluate an estimator on the data which have been used to train it.
Usually, you try to minimize the classification or loss using those data and fit them as
good as possible. Evaluating on an unseen testing set will give you an idea how good
your estimator was able to generalize to your problem during the training.
Furthermore, a training, validation, and testing set should be used when setting up
parameters. Validation will be used to set the parameters and the testing will be used
to evaluate your best estimator.
That is why, when using the GridSearchCV, fit will train the estimator using a training
and validation test (using a given CV startegies). Finally, predict will be performed on
another unseen testing set.
The bottom line is that using training data to select parameters will not ensure that you
are selecting the best parameters for your problems.
2. The function is call in _fit_and_score, l. 260 and 263 for instance.