Data Leakage in Preprocessing, Explained: A Visual Guide with Code Examples