ValueError: The number of classes has to be greater than one; got 1 class in MultiLabel Classification problem
Could you see how many classes are in training and in test?

y_train.unique()
y_test.unique()


It can happen that at some point you got a split that has only one label, if your data is small or heavily imbalanced there are more chances. One way to fix it is stratifying the target.

train_test_split(data[features], data[labels], test_size=0.20, shuffle=True,stratify=data[labels])