Simple theory: Data is the examples you collect, features are the input columns that describe each example, and labels are the answers you want the model to learn. In supervised learning, the model learns a mapping from features to labels.
Every ML model sees the world through numbers. A house isn't a house to the model — it's [1400, 3, 2, 15]. A patient isn't a person — it's [67, 180, 120, 80, 0.92]. The art of turning reality into a useful set of numbers is the foundation of ML.
Features vs Labels
Features (also called inputs, X, or independent variables) are the measurements you feed into the model. Labels (also called outputs, y, or the target variable) are what you're trying to predict. For house price prediction: features = [size, bedrooms, location], label = price. In classification: label is the category (spam/not-spam, cat/dog).
Feature quality is everything
Garbage in, garbage out. If your features don't contain signal relevant to the label, no algorithm can fix that. Good features are the difference between a model that works and one that doesn't. Feature engineering — creating informative new features from raw data — is often the most valuable part of an ML project.