RandomizedSearchCV can give worse results than manual tuning due to a few common reasons:
Too few iterations – n_iter=10 may not explore enough parameter combinations.
Poor parameter grid – Your grid might miss optimal values or be too coarse.
Inconsistent random seeds – Different runs can yield different results if random_state isn’t set.
Improper CV splits – Use StratifiedKFold for balanced class sampling.
Wrong scoring metric – Make sure scoring aligns with your real objective (e.g., accuracy, f1).