drmurataltun's picture
Update app.py
fd1c827 verified
raw
history blame
2.44 kB
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()