Python & Data for Machine Learning
Your first machine-learning skill is understanding the data
Before training a model, learn what a row means, when each field becomes available, and how cleaning changes your conclusions.
A workshop table has two columns: registrations and attendees. It seems ready for a prediction model. But several questions come first. Does one row represent a workshop or a person? Were registrations recorded before the event or updated afterward? Are missing attendance values unknown, or do they mean zero?
These details determine whether a model can answer your actual question. If you want an attendance forecast the evening before a workshop, a field recorded after the event cannot be an ordinary input. Using it may produce an impressive score while making the model unusable at the moment you need a prediction.
Cleaning also changes meaning. An exact duplicate may count one workshop twice. A conflicting duplicate requires a decision about which record is reliable. Replacing a missing attendee count with zero can confuse absent information with an empty room.
Begin with an audit. Count input rows, valid rows, rejected records, and duplicates. State your rules and preserve the original data. Then document the unit, timing, and meaning of each field. Another learner should be able to repeat your choices rather than infer them from the final table.
Only after that should you split data for training and evaluation. Learned preprocessing belongs inside the training process; letting held-out data influence those transformations can contaminate the evaluation. The scikit-learn documentation explains this distinction and why pipelines help keep transformations consistent. Common ML pitfalls
Our Python & Data course uses a small synthetic dataset with deliberate problems. The lab needs only Python's standard library. You can inspect every decision, change a copied record, and predict how the audit should respond.
The first milestone is a trustworthy report, not a sophisticated model. Once you understand where the numbers came from, the next question becomes much more meaningful: can a model improve a clearly defined prediction?