def degisken_tiplerine_ayirma(data, cat_th, car_th):
    """
   Veri:data parametresi ili fonksiyona girilen verinin değişkenlerin sınıflandırılması.
   Parameters
   ----------
   data: pandas.DataFrame
   İşlem yapılacak veri seti

   cat_th:int
   categoric değişken threshold değeri

   car_th:int
   Cardinal değişkenler için threshold değeri

   Returns
   -------
    cat_deg:list
    categorik değişken listesi
    num_deg:list
    numeric değişken listesi
    car_deg:list
    categoric ama cardinal değişken listesi

   Examples
   -------
    df = dataset_yukle("breast_cancer")
    cat,num,car=degisken_tiplerine_ayirma(df,10,20)
   Notes
   -------
    cat_deg + num_deg + car_deg = toplam değişken sayısı

   """

    num_but_cat = [
        i for i in data.columns
        if data[i].dtypes != "O" and data[i].nunique() < cat_th
    ]

    car_deg = [
        i for i in data.columns
        if data[i].dtypes == "O" and data[i].nunique() > car_th
    ]

    num_deg = [
        i for i in data.columns
        if data[i].dtypes != "O" and i not in num_but_cat
    ]

    cat_deg = [
        i for i in data.columns if data[i].dtypes == "O" and i not in car_deg
    ]

    cat_deg = cat_deg + num_but_cat

    print(f"Dataset kolon/değişken sayısı: {data.shape[1]}")
    print(f"Dataset satır/veri sayısı: {data.shape[0]}")
    print("********************************************")
    print(f"Datasetin numeric değişken sayısı: {len(num_deg)}")
    print(f"Datasetin numeric değişkenler: {num_deg}")
    print("********************************************")
    print(f"Datasetin categoric değişken sayısı: {len(cat_deg)}")
    print(f"Datasetin categoric değişkenler: {cat_deg}")
    print("********************************************")
    print(f"Datasetin cardinal değişken sayısı: {len(car_deg)}")
    print(f"Datasetin cardinal değişkenler: {car_deg}")
    print("********************************************")

    return cat_deg, num_deg, car_deg