import gradio as gr import pandas as pd from pycaret.classification import setup, compare_models, pull def otoml_islemi(dosya, hedef_sutun, sayisal_sutunlar, kategorik_sutunlar, sayisal_imputasyon, kategorik_imputasyon, normalize, remove_outliers, ignore_sutunlar): # Veri setini yükleyin data = pd.read_csv(dosya.name) # Sütunları listeye dönüştürün sayisal_sutunlar = [col.strip() for col in sayisal_sutunlar.split(',')] if sayisal_sutunlar else None kategorik_sutunlar = [col.strip() for col in kategorik_sutunlar.split(',')] if kategorik_sutunlar else None ignore_sutunlar = [col.strip() for col in ignore_sutunlar.split(',')] if ignore_sutunlar else None # PyCaret kurulumunu başlatın s = setup( data, target=hedef_sutun, numeric_features=sayisal_sutunlar, categorical_features=kategorik_sutunlar, ignore_features=ignore_sutunlar, numeric_imputation=sayisal_imputasyon, categorical_imputation=kategorik_imputasyon, normalize=normalize, remove_outliers=remove_outliers, silent=True, verbose=False ) # Modelleri karşılaştırın ve en iyisini seçin en_iyi_model = compare_models() # Model değerlendirme sonuçlarını alın degerlendirme = pull() return degerlendirme # Gradio arayüzü gr.Interface( otoml_islemi, inputs=[ gr.inputs.File(label="Veri Seti (CSV)"), gr.inputs.Textbox(label="Hedef Sütun Adı"), gr.inputs.Textbox(label="Sayısal Sütunlar (Virgülle Ayrılmış)"), gr.inputs.Textbox(label="Kategorik Sütunlar (Virgülle Ayrılmış)"), gr.inputs.Textbox(label="Görmezden Gelinecek Sütunlar (Virgülle Ayrılmış)"), gr.inputs.Dropdown(label="Sayısal İmputasyon Yöntemi", choices=['mean', 'median', 'zero'], default='mean'), gr.inputs.Dropdown(label="Kategorik İmputasyon Yöntemi", choices=['mode', 'constant'], default='mode'), gr.inputs.Checkbox(label="Normalize Et", default=False), gr.inputs.Checkbox(label="Aykırı Değerleri Kaldır", default=False) ], outputs=gr.outputs.Dataframe(label="Model Değerlendirme Sonuçları"), title="PyCaret ile AutoML Arayüzü", description="Veri setinizi yükleyin, sütun türlerini ve veri ön işleme adımlarını seçin, ardından en iyi modeli belirleyin." ).launch()