Standard deviation measures how spread out numbers are around their mean. Two datasets can share the exact same average of 50, yet one might stay tightly clustered (48–52) while the other swings wildly (5–95).
In Machine Learning, standard deviation powers feature scaling (Z-score standardization), outlier detection, and model error diagnostics.
Variance averages the squared distance from the mean, while standard deviation takes the square root of variance so the metric shares the original units (dollars, milliseconds, kilograms).
import statistics
team_a = [80, 82, 79, 81, 80]
team_b = [50, 95, 65, 100, 90]
print("Team A stdev:", round(statistics.stdev(team_a), 2)) # 1.14 (tight)
print("Team B stdev:", round(statistics.stdev(team_b), 2)) # 21.10 (wide)
print("Team B variance:", round(statistics.variance(team_b), 2))
stdev) vs Population (pstdev)Python's statistics.stdev() divides by N - 1 (sample standard deviation, matching Pandas .std()), whereas statistics.pstdev() divides by N (population standard deviation, matching default numpy.std()).
np.std() and statistics.stdev() without checking ddof: Set np.std(data, ddof=1) when you want sample standard deviation matching statistics.stdev().0 mean?Every number in the dataset is identical, meaning the feature carries zero variation and gives an ML model no predictive signal.
Compute a Z-score (x - mean) / stdev. Values with abs(z) > 3 sit more than three standard deviations from the average and warrant inspection.
Algorithms like KNN, SVM, and linear models with regularization misbehave when one column spans 0–1 and another spans 0–1,000,000.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.