def split_df(user_df: pd.DataFrame, label_name: str, split_ratio=0.8, random_value=42):
    x_train = user_df.sample(frac=split_ratio, random_state=random_value)
    x_test = user_df.drop(x_train.index)
    return (x_train.drop(label_name, axis=1), x_test.drop(label_name, axis=1), pd.DataFrame(x_train[label_name]), pd.DataFrame(x_test[label_name]))
def split_df(user_df: pd.DataFrame, label_name: str, split_ratio=0.8, random_value=42):
    x_train = user_df.sample(frac=split_ratio, random_state=random_value)
    x_test = user_df.drop(x_train.index)
    return (x_train.drop(label_name, axis=1), x_test.drop(label_name, axis=1), pd.DataFrame(x_train[label_name]), pd.DataFrame(x_test[label_name]))