Here is the documentation for the pipeline constructor from Sklearn website:
Sequentially apply a list of transforms and a final estimator. Intermediate steps of the pipeline must be ‘transforms’, that is, they must implement fit and transform methods. The final estimator only needs to implement fit. The transformers in the pipeline can be cached using memory argument.
I do not understand why isn't the final estimator being used to transform the input?