EDA mindset — 8 questions that reveal what the data is hiding
Exploratory Data Analysis is not 'df.describe()'. It's a systematic investigation. 8 questions that uncover patterns, leaks, and ML-readiness.
The output will appear here.
EDA = Exploratory Data Analysis. It's NOT just df.describe(). 8 questions that uncover what the data is HIDING: Q1 MEANINGS — understand every column. Strip whitespace from names. Q2 DISTRIBUTIONS — is the min/max reasonable? Is it skewed? Q3 CONSTANTS/DUPLICATES — constant columns are useless. Duplicate columns waste space. Q4 CORRELATIONS — features that move together. >0.7 = high. One is redundant. Q5 TIME — is there a date column? Future data leaking into train = fake accuracy. Q6 LEAKS — the #1 ML bug. Features derived from the target (salary_per_year from salary). Will be perfect at training, fail in production. ALWAYS check for these. Q7 TARGET DISTRIBUTION — skewed target? Log-transform it. Q8 TARGET BY CATEGORY — does the target vary by category? If yes, the category is predictive. Senior data scientists spend HOURS on this. Freshers skip to model.fit(). That's why freshers' models fail in production.
-
Remove the leak column (df = df.drop(columns=['salary_per_year'])) before Q4→ the leak won't show up in correlations -
Add a constant column: df['constant_col'] = 42→ Q3 will detect and flag it -
Make salary highly skewed: df['salary'] = np.exp(df['salary'] / 20000)→ Q7 will show high skew → log-transform needed -
Add a duplicate column: df['age_dup'] = df['age']→ Q3 will detect the duplicate