fix: correct impurity_improvement formula (weight by n_left and n_right)