         elif self.binary_instrument or self.binary_treatment:             group = 0*T*self.binary_treatment + Z.flatten()*self.binary_instrument             splits = StratifiedKFold(                 n_splits=self.n_splits, shuffle=True).split(X, group)         else:             splits = KFold(n_splits=self.n_splits, shuffle=True).split(X)          for idx, (train, test) in enumerate(splits):             # Calculate 