{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "title-cell",
   "metadata": {
    "id": "title-cell"
   },
   "source": "# 🏦 Home Credit Default Risk — Gerçek IBM QPU Max-Qubit QML Demo\n\n**Amaç:** Öğrencilere / araştırmacılara gerçek quantum computer gücünü göstermek — erişilen backend’in izin verdiği **maksimum qubit** ile VQC (yüksek qubit) / QSVC (orta qubit).  \n**Ortam:** Google Colab + **IBM Quantum Platform (gerçek donanım)**  \n**Veri:** [Home Credit Default Risk](https://www.kaggle.com/c/home-credit-default-risk) (`application_train.csv`)\n\n---\n\n### Öğrenci demosu için kritik gerçekler\n\n| Konu | Açıklama |\n|------|----------|\n| **Max qubit** | `min(TARGET_QUBITS, backend.num_qubits)` — erişiminizdeki en büyük sistem |\n| **Neden küçük train?** | Her optimizasyon adımı QPU’da devre çalıştırır; 40–80 örnek bile anlamlı demo sağlar |\n| **Neden VQC?** | Yüksek qubit’te kernel (QSVC) O(n²) devre ister; VQC tek devre ailesi ile ölçeklenir |\n| **Gürültü** | NISQ cihazında metrikler ideal simülatörden düşük olabilir — bu da öğretimin parçası |\n| **Statevector** | 50–100 qubit **klasik simülasyonda imkânsız**; sadece gerçek QPU veya shots |\n| **Class imbalance** | Default oranı ~8%; stratified subset + class_weight / scale_pos_weight kullanılır |\n\n### Çalıştırma sırası (demo)\n\n1. **AŞAMA 4** — IBM token (Colab Secret: `IBM_QUANTUM_TOKEN`)\n2. **AŞAMA 5–11** — veri + klasik baseline\n3. **AŞAMA 12** — `TARGET_QUBITS` (ör. 27, 33, 127 — backend’e göre)\n4. **AŞAMA 16 önce** gerçek backend seçilsin (max qubit listesi ekrana gelir)\n5. **AŞAMA 13–14** — feature map + VQC gerçek QPU’da\n6. **AŞAMA 15–19** — metrikler ve yorum\n\n> **Not:** AŞAMA 16’yı 14’ten **önce** çalıştırın ki `n_qubits` backend’e kilitlensin.\n\n### Referans proje\n- GitHub: [yakupkaplan/Home-Credit-Default-Risk](https://github.com/yakupkaplan/Home-Credit-Default-Risk)\n- Kaggle: [Home Credit Default Risk](https://www.kaggle.com/c/home-credit-default-risk)\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage1-md",
   "metadata": {
    "id": "stage1-md"
   },
   "source": "## AŞAMA 1: Drive / Path Tanımlama\n"
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "stage1-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 48526,
     "status": "ok",
     "timestamp": 1788499637846,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage1-code",
    "outputId": "d032e66a-8976-451d-e61e-6c69457d898a"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Python: 3.13.15\n",
      "Mounted at /content/drive\n",
      "✅ Google Drive bağlandı → /content/drive/MyDrive\n",
      "   Proje: /content/drive/MyDrive/QML_HomeCredit_Default_HighQ\n",
      "   Çıktı: /content/drive/MyDrive/QML_HomeCredit_Default_HighQ/outputs\n",
      "\n",
      "✅ AŞAMA 1 tamamlandı.\n"
     ]
    }
   ],
   "source": "import os\nimport sys\n\nprint(f\"Python: {sys.version.split()[0]}\")\n\nDRIVE_ROOT = None\nPROJECT_PATH = None\nOUTPUT_PATH = None\n\ntry:\n    from google.colab import drive\n    drive.mount('/content/drive')\n    DRIVE_ROOT = '/content/drive/MyDrive'\n    PROJECT_PATH = os.path.join(DRIVE_ROOT, 'QML_HomeCredit_Default_HighQ')\n    OUTPUT_PATH = os.path.join(PROJECT_PATH, 'outputs')\n    os.makedirs(OUTPUT_PATH, exist_ok=True)\n    print(f\"✅ Google Drive bağlandı → {DRIVE_ROOT}\")\n    print(f\"   Proje: {PROJECT_PATH}\")\n    print(f\"   Çıktı: {OUTPUT_PATH}\")\nexcept Exception as e:\n    print(f\"⚠️ Drive mount atlandı: {e}\")\n    PROJECT_PATH = os.path.abspath('./qml_homecredit_default_highq')\n    OUTPUT_PATH = os.path.join(PROJECT_PATH, 'outputs')\n    os.makedirs(OUTPUT_PATH, exist_ok=True)\n    print(f\"   Lokal proje: {PROJECT_PATH}\")\n\nprint(\"\\n✅ AŞAMA 1 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage2-md",
   "metadata": {
    "id": "stage2-md"
   },
   "source": "## AŞAMA 2: Cihaz & Algoritma Seçim Motoru\n\nVarsayılan: **Machine Learning → Superconducting Qubits → VQC** (yüksek qubit için önerilen).\n"
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "stage2-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 373
    },
    "executionInfo": {
     "elapsed": 1586,
     "status": "ok",
     "timestamp": 1788499769891,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage2-code",
    "outputId": "f5956cbf-80fd-432a-92fc-ad22c2fb52ff"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5491157d42084865975e8b46b92ed164",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "VBox(children=(HTML(value=\"<h3>🔧 Pipeline Seçim Motoru <span style='font-size:12px;color:#64748b;'>(High-Qubit…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "📌 Varsayılan: Machine Learning | Superconducting Qubits | VQC\n",
      "   Yüksek qubit (≥12–16) denemelerinde VQC tercih edin.\n",
      "✅ AŞAMA 2 tamamlandı.\n"
     ]
    }
   ],
   "source": "import pandas as pd\nfrom IPython.display import display, HTML, Markdown, clear_output\nimport ipywidgets as widgets\n\nVALID_TRIPLETS = [\n    (\"Optimization & Logistics\", \"Superconducting Qubits\", \"QAOA\"),\n    (\"Optimization & Logistics\", \"Superconducting Qubits\", \"Grover\"),\n    (\"Optimization & Logistics\", \"Trapped Ions\", \"QAOA\"),\n    (\"Optimization & Logistics\", \"Quantum Annealer (D-Wave)\", \"QUBO/Annealing\"),\n    (\"Machine Learning\", \"Superconducting Qubits\", \"QSVC\"),\n    (\"Machine Learning\", \"Superconducting Qubits\", \"VQC\"),\n    (\"Machine Learning\", \"Superconducting Qubits\", \"QAOA\"),\n    (\"Machine Learning\", \"Trapped Ions\", \"QSVC\"),\n    (\"Machine Learning\", \"Trapped Ions\", \"VQC\"),\n    (\"Machine Learning\", \"Neutral Atoms\", \"QAOA\"),\n]\n\nPROBLEMS = sorted({t[0] for t in VALID_TRIPLETS})\nALGO_MATH = {\n    \"QSVC\": r\"$K(x,x') = |\\langle \\phi(x) | \\phi(x') \\rangle|^2$\",\n    \"VQC\": r\"$f_\\theta(x) = \\langle 0| U^\\dagger(x,\\theta) M U(x,\\theta) |0\\rangle$\",\n    \"QAOA\": r\"$|\\gamma,\\beta\\rangle = e^{-i\\beta H_M} e^{-i\\gamma H_C}\\cdots |+\\rangle^{\\otimes n}$\",\n    \"QUBO/Annealing\": r\"$\\min_x\\; x^T Q x$\",\n}\nHW_TO_DEVICE = {\n    \"Superconducting Qubits\": \"ibm_or_aer\",\n    \"Trapped Ions\": \"ionq_or_aer\",\n    \"Neutral Atoms\": \"pasqal_or_aer\",\n    \"Quantum Annealer (D-Wave)\": \"dwave\",\n}\n\nSELECTED_PROBLEM = \"Machine Learning\"\nSELECTED_HARDWARE = \"Superconducting Qubits\"\nSELECTED_ALGO = \"VQC\"          # Yüksek qubit demosu için VQC varsayılan\nSELECTED_DEVICE = \"ibm_or_aer\"\n\ndef allowed_hw(prob):\n    return sorted({t[1] for t in VALID_TRIPLETS if t[0] == prob})\n\ndef allowed_alg(prob, hw=None):\n    if hw is None:\n        return sorted({t[2] for t in VALID_TRIPLETS if t[0] == prob})\n    return sorted({t[2] for t in VALID_TRIPLETS if t[0] == prob and t[1] == hw})\n\ndd_prob = widgets.Dropdown(options=[\"— Problem seçin —\"] + PROBLEMS, description=\"Problem:\",\n                           layout=widgets.Layout(width=\"460px\"), style={\"description_width\": \"90px\"})\ndd_hw = widgets.Dropdown(options=[\"— önce problem —\"], description=\"Donanım:\",\n                         layout=widgets.Layout(width=\"460px\"), style={\"description_width\": \"90px\"}, disabled=True)\ndd_alg = widgets.Dropdown(options=[\"— önce donanım —\"], description=\"Algoritma:\",\n                          layout=widgets.Layout(width=\"460px\"), style={\"description_width\": \"90px\"}, disabled=True)\nout = widgets.Output()\n\ndef on_prob_change(change):\n    global SELECTED_PROBLEM, SELECTED_HARDWARE, SELECTED_ALGO, SELECTED_DEVICE\n    if change[\"name\"] != \"value\": return\n    val = change[\"new\"]\n    if str(val).startswith(\"—\"):\n        SELECTED_PROBLEM = SELECTED_HARDWARE = SELECTED_ALGO = None\n        SELECTED_DEVICE = \"aer_only\"\n        dd_hw.options = [\"— önce problem —\"]; dd_hw.disabled = True\n        dd_alg.options = [\"— önce donanım —\"]; dd_alg.disabled = True\n    else:\n        SELECTED_PROBLEM = val\n        SELECTED_HARDWARE = SELECTED_ALGO = None\n        hws = allowed_hw(val)\n        dd_hw.options = [\"— Donanım seçin —\"] + hws; dd_hw.disabled = False; dd_hw.value = dd_hw.options[0]\n        dd_alg.options = [\"— önce donanım —\"]; dd_alg.disabled = True\n    _render()\n\ndef on_hw_change(change):\n    global SELECTED_HARDWARE, SELECTED_ALGO, SELECTED_DEVICE\n    if change[\"name\"] != \"value\": return\n    val = change[\"new\"]\n    if not SELECTED_PROBLEM or str(val).startswith(\"—\"):\n        SELECTED_HARDWARE = SELECTED_ALGO = None\n        dd_alg.options = [\"— önce donanım —\"]; dd_alg.disabled = True\n    else:\n        SELECTED_HARDWARE = val\n        SELECTED_ALGO = None\n        SELECTED_DEVICE = HW_TO_DEVICE.get(val, \"aer_only\")\n        algs = allowed_alg(SELECTED_PROBLEM, val)\n        dd_alg.options = [\"— Algoritma seçin —\"] + algs; dd_alg.disabled = False; dd_alg.value = dd_alg.options[0]\n    _render()\n\ndef on_alg_change(change):\n    global SELECTED_ALGO\n    if change[\"name\"] != \"value\": return\n    val = change[\"new\"]\n    SELECTED_ALGO = None if str(val).startswith(\"—\") or not SELECTED_HARDWARE else val\n    _render()\n\ndef _render():\n    with out:\n        clear_output(wait=True)\n        if SELECTED_PROBLEM and SELECTED_HARDWARE and SELECTED_ALGO:\n            display(Markdown(f\"### Seçim: **{SELECTED_PROBLEM}** → **{SELECTED_HARDWARE}** → **{SELECTED_ALGO}**\"))\n            display(Markdown(f\"**Cihaz:** `{SELECTED_DEVICE}`\"))\n            math = ALGO_MATH.get(SELECTED_ALGO, \"\")\n            if math: display(Markdown(f\"**Model:** {math}\"))\n            display(HTML(\n                \"<div style='padding:12px;background:#f0fdf4;border-left:4px solid #22c55e;border-radius:8px;'>\"\n                f\"<b>✅ Hazır.</b> SELECTED_ALGO=<code>{SELECTED_ALGO}</code> — Yüksek qubit için <b>VQC</b> önerilir.\"\n                \"</div>\"\n            ))\n        else:\n            display(HTML(\"<div style='padding:12px;background:#fff7ed;border-left:4px solid #fb923c;'>Problem → Donanım → Algoritma seçin.</div>\"))\n\ndd_prob.observe(on_prob_change, names=\"value\")\ndd_hw.observe(on_hw_change, names=\"value\")\ndd_alg.observe(on_alg_change, names=\"value\")\n\ndisplay(widgets.VBox([\n    widgets.HTML(\"<h3>🔧 Pipeline Seçim Motoru <span style='font-size:12px;color:#64748b;'>(High-Qubit Home Credit Default Risk)</span></h3>\"),\n    dd_prob, dd_hw, dd_alg, out\n]))\n_render()\n\nprint(f\"\\n📌 Varsayılan: {SELECTED_PROBLEM} | {SELECTED_HARDWARE} | {SELECTED_ALGO}\")\nprint(\"   Yüksek qubit (≥12–16) denemelerinde VQC tercih edin.\")\nprint(\"✅ AŞAMA 2 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage3-md",
   "metadata": {
    "id": "stage3-md"
   },
   "source": "## AŞAMA 3: Python Library Kurulumu\n"
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "stage3-install",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 45680,
     "status": "ok",
     "timestamp": 1788499830808,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage3-install",
    "outputId": "1a1c9b4e-6040-495e-9840-08036c1cd1b1"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "📦 Paketler kuruluyor...\n",
      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m21.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
      "\u001b[?25h✅ Kurulum tamamlandı.\n"
     ]
    }
   ],
   "source": "print(\"📦 Paketler kuruluyor...\")\n!pip install -q --upgrade pip\n!pip install -q qiskit qiskit-aer qiskit-machine-learning qiskit-algorithms qiskit-ibm-runtime\n!pip install -q numpy pandas scikit-learn xgboost lightgbm openpyxl\n!pip install -q matplotlib seaborn pylatexenc tqdm ipywidgets python-dotenv\nprint(\"✅ Kurulum tamamlandı.\")\n"
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "stage3-import",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 28988,
     "status": "ok",
     "timestamp": 1788499869195,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage3-import",
    "outputId": "f8c45047-0f1a-4fd2-bac6-e028d2326098"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Python: 3.13.15\n",
      "✅ Ortak kütüphaneler yüklendi.\n"
     ]
    }
   ],
   "source": "import os, sys, json, math, warnings\nfrom pathlib import Path\nfrom datetime import datetime\nfrom hashlib import sha256\n\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder, PolynomialFeatures\nfrom sklearn.decomposition import PCA\nfrom sklearn.impute import SimpleImputer\nfrom sklearn.metrics import (\n    accuracy_score, precision_score, recall_score, f1_score,\n    roc_auc_score, roc_curve, confusion_matrix, ConfusionMatrixDisplay,\n    classification_report,\n)\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.svm import SVC\nfrom xgboost import XGBClassifier\n\nwarnings.filterwarnings(\"ignore\")\nsns.set_style(\"whitegrid\")\nplt.rcParams[\"figure.figsize\"] = (10, 6)\n\nprint(f\"Python: {sys.version.split()[0]}\")\nprint(\"✅ Ortak kütüphaneler yüklendi.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage4-md",
   "metadata": {
    "id": "stage4-md"
   },
   "source": "## AŞAMA 4: API Keys Yönetimi\n\n2025+ : `channel=\"ibm_quantum_platform\"` (eski `ibm_quantum` kaldırıldı).\n"
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "stage4-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 2164,
     "status": "ok",
     "timestamp": 1788499954869,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage4-code",
    "outputId": "9900ef33-01fc-4d39-81ae-0d3182dbc4ef"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ IBM token Colab Secrets'tan okundu.\n",
      "   Token uzunluğu : 44 karakter\n",
      "   Channel        : ibm_quantum_platform\n",
      "   Instance       : auto\n",
      "✅ AŞAMA 4 tamamlandı.\n"
     ]
    }
   ],
   "source": "IBM_TOKEN = None\nIBM_INSTANCE = None\nIBM_CHANNEL = \"ibm_quantum_platform\"\n\ntry:\n    from google.colab import userdata\n    IBM_TOKEN = userdata.get(\"IBM_QUANTUM_TOKEN\") or userdata.get(\"QISKIT_IBM_TOKEN\")\n    try:\n        IBM_INSTANCE = userdata.get(\"IBM_QUANTUM_INSTANCE\") or userdata.get(\"QISKIT_IBM_INSTANCE\")\n    except Exception:\n        pass\n    if IBM_TOKEN:\n        print(\"✅ IBM token Colab Secrets'tan okundu.\")\nexcept Exception:\n    pass\n\nif not IBM_TOKEN:\n    IBM_TOKEN = os.environ.get(\"IBM_QUANTUM_TOKEN\") or os.environ.get(\"QISKIT_IBM_TOKEN\")\n    if IBM_TOKEN:\n        print(\"✅ IBM token ortam değişkeninden okundu.\")\n\nif not IBM_INSTANCE:\n    IBM_INSTANCE = os.environ.get(\"IBM_QUANTUM_INSTANCE\") or os.environ.get(\"QISKIT_IBM_INSTANCE\")\n\n_ch = os.environ.get(\"QISKIT_IBM_CHANNEL\") or os.environ.get(\"IBM_QUANTUM_CHANNEL\")\nif _ch in (\"ibm_quantum_platform\", \"ibm_cloud\"):\n    IBM_CHANNEL = _ch\n\nif not IBM_TOKEN:\n    try:\n        from dotenv import load_dotenv\n        load_dotenv()\n        IBM_TOKEN = os.environ.get(\"IBM_QUANTUM_TOKEN\") or os.environ.get(\"QISKIT_IBM_TOKEN\")\n        IBM_INSTANCE = IBM_INSTANCE or os.environ.get(\"IBM_QUANTUM_INSTANCE\")\n        if IBM_TOKEN:\n            print(\"✅ IBM token .env'den okundu.\")\n    except Exception:\n        pass\n\nif IBM_TOKEN:\n    print(f\"   Token uzunluğu : {len(IBM_TOKEN)} karakter\")\n    print(f\"   Channel        : {IBM_CHANNEL}\")\n    print(f\"   Instance       : {'ayarlı' if IBM_INSTANCE else 'auto'}\")\nelse:\n    print(\"⚠️ Token yok → Aer ile devam. Gerçek 100+ qubit QPU için token gerekli.\")\n\nprint(\"✅ AŞAMA 4 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage5-md",
   "metadata": {
    "id": "stage5-md"
   },
   "source": "## AŞAMA 5: Home Credit Veri Yükleme\n\nAna tablo: `application_train.csv` (TARGET ile).  \nTam rekabet veri seti çok büyük; quantum demosu için bu ana tablo yeterlidir.\n"
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "stage5-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 55,
     "status": "ok",
     "timestamp": 1788499964191,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage5-code",
    "outputId": "e69abf4e-2686-4810-a6e5-1533af52ef86"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "⚠️ application_train.csv bulunamadı.\n",
      "   Seçenekler:\n",
      "   1) Kaggle'dan indirip Colab'a yükleyin (AŞAMA 6)\n",
      "   2) Kaggle API ile (aşağıdaki satırları aktif edin)\n",
      "   3) Drive'a koyup path'i CANDIDATE_PATHS'e ekleyin\n",
      "✅ AŞAMA 5 tamamlandı.\n"
     ]
    }
   ],
   "source": "CANDIDATE_PATHS = [\n    \"/content/application_train.csv\",\n    \"/content/drive/MyDrive/application_train.csv\",\n    \"/content/drive/MyDrive/QML_HomeCredit_Default_HighQ/application_train.csv\",\n    \"/content/drive/MyDrive/Home-Credit-Default-Risk/application_train.csv\",\n    os.path.join(PROJECT_PATH or \".\", \"application_train.csv\"),\n    \"./application_train.csv\",\n    \"./data/application_train.csv\",\n    \"/home/workdir/attachments/application_train.csv\",\n]\n\ndf = None\nloaded_from = None\nfor p in CANDIDATE_PATHS:\n    if os.path.isfile(p):\n        df = pd.read_csv(p, low_memory=False)\n        loaded_from = p\n        break\n\nif df is None:\n    print(\"⚠️ application_train.csv bulunamadı.\")\n    print(\"   Seçenekler:\")\n    print(\"   1) Kaggle'dan indirip Colab'a yükleyin (AŞAMA 6)\")\n    print(\"   2) Kaggle API ile (aşağıdaki satırları aktif edin)\")\n    print(\"   3) Drive'a koyup path'i CANDIDATE_PATHS'e ekleyin\")\n    # Opsiyonel Kaggle API (token gerekir)\n    # !pip install -q kaggle\n    # !mkdir -p ~/.kaggle && cp kaggle.json ~/.kaggle/ && chmod 600 ~/.kaggle/kaggle.json\n    # !kaggle competitions download -c home-credit-default-risk -f application_train.csv\n    # !unzip -q application_train.csv.zip -d /content/\nelse:\n    print(f\"✅ Veri: {loaded_from} → {df.shape}\")\n    if \"TARGET\" in df.columns:\n        print(df[\"TARGET\"].value_counts())\n        print(f\"Default oranı: {df['TARGET'].mean():.2%}\")\n    else:\n        print(\"⚠️ TARGET sütunu yok — train dosyası olduğundan emin olun.\")\n\nprint(\"✅ AŞAMA 5 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage6-md",
   "metadata": {
    "id": "stage6-md"
   },
   "source": "## AŞAMA 6: Opsiyonel Upload\n"
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "stage6-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 199
    },
    "executionInfo": {
     "elapsed": 969923,
     "status": "ok",
     "timestamp": 1788500952388,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage6-code",
    "outputId": "9ec5f55b-5451-4853-a9c1-2945ba0daf6e"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "application_train.csv seçin...\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "     <input type=\"file\" id=\"files-4e7d7a50-3e7e-4b52-b27c-59d5fe4136d5\" name=\"files[]\" multiple disabled\n",
       "        style=\"border:none\" />\n",
       "     <output id=\"result-4e7d7a50-3e7e-4b52-b27c-59d5fe4136d5\">\n",
       "      Upload widget is only available when the cell has been executed in the\n",
       "      current browser session. Please rerun this cell to enable.\n",
       "      </output>\n",
       "      <script>// Copyright 2017 Google LLC\n",
       "//\n",
       "// Licensed under the Apache License, Version 2.0 (the \"License\");\n",
       "// you may not use this file except in compliance with the License.\n",
       "// You may obtain a copy of the License at\n",
       "//\n",
       "//      http://www.apache.org/licenses/LICENSE-2.0\n",
       "//\n",
       "// Unless required by applicable law or agreed to in writing, software\n",
       "// distributed under the License is distributed on an \"AS IS\" BASIS,\n",
       "// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
       "// See the License for the specific language governing permissions and\n",
       "// limitations under the License.\n",
       "\n",
       "/**\n",
       " * @fileoverview Helpers for google.colab Python module.\n",
       " */\n",
       "(function(scope) {\n",
       "function span(text, styleAttributes = {}) {\n",
       "  const element = document.createElement('span');\n",
       "  element.textContent = text;\n",
       "  for (const key of Object.keys(styleAttributes)) {\n",
       "    element.style[key] = styleAttributes[key];\n",
       "  }\n",
       "  return element;\n",
       "}\n",
       "\n",
       "// Max number of bytes which will be uploaded at a time.\n",
       "const MAX_PAYLOAD_SIZE = 100 * 1024;\n",
       "\n",
       "function _uploadFiles(inputId, outputId) {\n",
       "  const steps = uploadFilesStep(inputId, outputId);\n",
       "  const outputElement = document.getElementById(outputId);\n",
       "  // Cache steps on the outputElement to make it available for the next call\n",
       "  // to uploadFilesContinue from Python.\n",
       "  outputElement.steps = steps;\n",
       "\n",
       "  return _uploadFilesContinue(outputId);\n",
       "}\n",
       "\n",
       "// This is roughly an async generator (not supported in the browser yet),\n",
       "// where there are multiple asynchronous steps and the Python side is going\n",
       "// to poll for completion of each step.\n",
       "// This uses a Promise to block the python side on completion of each step,\n",
       "// then passes the result of the previous step as the input to the next step.\n",
       "function _uploadFilesContinue(outputId) {\n",
       "  const outputElement = document.getElementById(outputId);\n",
       "  const steps = outputElement.steps;\n",
       "\n",
       "  const next = steps.next(outputElement.lastPromiseValue);\n",
       "  return Promise.resolve(next.value.promise).then((value) => {\n",
       "    // Cache the last promise value to make it available to the next\n",
       "    // step of the generator.\n",
       "    outputElement.lastPromiseValue = value;\n",
       "    return next.value.response;\n",
       "  });\n",
       "}\n",
       "\n",
       "/**\n",
       " * Generator function which is called between each async step of the upload\n",
       " * process.\n",
       " * @param {string} inputId Element ID of the input file picker element.\n",
       " * @param {string} outputId Element ID of the output display.\n",
       " * @return {!Iterable<!Object>} Iterable of next steps.\n",
       " */\n",
       "function* uploadFilesStep(inputId, outputId) {\n",
       "  const inputElement = document.getElementById(inputId);\n",
       "  inputElement.disabled = false;\n",
       "\n",
       "  const outputElement = document.getElementById(outputId);\n",
       "  outputElement.innerHTML = '';\n",
       "\n",
       "  const pickedPromise = new Promise((resolve) => {\n",
       "    inputElement.addEventListener('change', (e) => {\n",
       "      resolve(e.target.files);\n",
       "    });\n",
       "  });\n",
       "\n",
       "  const cancel = document.createElement('button');\n",
       "  inputElement.parentElement.appendChild(cancel);\n",
       "  cancel.textContent = 'Cancel upload';\n",
       "  const cancelPromise = new Promise((resolve) => {\n",
       "    cancel.onclick = () => {\n",
       "      resolve(null);\n",
       "    };\n",
       "  });\n",
       "\n",
       "  // Wait for the user to pick the files.\n",
       "  const files = yield {\n",
       "    promise: Promise.race([pickedPromise, cancelPromise]),\n",
       "    response: {\n",
       "      action: 'starting',\n",
       "    }\n",
       "  };\n",
       "\n",
       "  cancel.remove();\n",
       "\n",
       "  // Disable the input element since further picks are not allowed.\n",
       "  inputElement.disabled = true;\n",
       "\n",
       "  if (!files) {\n",
       "    return {\n",
       "      response: {\n",
       "        action: 'complete',\n",
       "      }\n",
       "    };\n",
       "  }\n",
       "\n",
       "  for (const file of files) {\n",
       "    const li = document.createElement('li');\n",
       "    li.append(span(file.name, {fontWeight: 'bold'}));\n",
       "    li.append(span(\n",
       "        `(${file.type || 'n/a'}) - ${file.size} bytes, ` +\n",
       "        `last modified: ${\n",
       "            file.lastModifiedDate ? file.lastModifiedDate.toLocaleDateString() :\n",
       "                                    'n/a'} - `));\n",
       "    const percent = span('0% done');\n",
       "    li.appendChild(percent);\n",
       "\n",
       "    outputElement.appendChild(li);\n",
       "\n",
       "    const fileDataPromise = new Promise((resolve) => {\n",
       "      const reader = new FileReader();\n",
       "      reader.onload = (e) => {\n",
       "        resolve(e.target.result);\n",
       "      };\n",
       "      reader.readAsArrayBuffer(file);\n",
       "    });\n",
       "    // Wait for the data to be ready.\n",
       "    let fileData = yield {\n",
       "      promise: fileDataPromise,\n",
       "      response: {\n",
       "        action: 'continue',\n",
       "      }\n",
       "    };\n",
       "\n",
       "    // Use a chunked sending to avoid message size limits. See b/62115660.\n",
       "    let position = 0;\n",
       "    do {\n",
       "      const length = Math.min(fileData.byteLength - position, MAX_PAYLOAD_SIZE);\n",
       "      const chunk = new Uint8Array(fileData, position, length);\n",
       "      position += length;\n",
       "\n",
       "      const base64 = btoa(String.fromCharCode.apply(null, chunk));\n",
       "      yield {\n",
       "        response: {\n",
       "          action: 'append',\n",
       "          file: file.name,\n",
       "          data: base64,\n",
       "        },\n",
       "      };\n",
       "\n",
       "      let percentDone = fileData.byteLength === 0 ?\n",
       "          100 :\n",
       "          Math.round((position / fileData.byteLength) * 100);\n",
       "      percent.textContent = `${percentDone}% done`;\n",
       "\n",
       "    } while (position < fileData.byteLength);\n",
       "  }\n",
       "\n",
       "  // All done.\n",
       "  yield {\n",
       "    response: {\n",
       "      action: 'complete',\n",
       "    }\n",
       "  };\n",
       "}\n",
       "\n",
       "scope.google = scope.google || {};\n",
       "scope.google.colab = scope.google.colab || {};\n",
       "scope.google.colab._files = {\n",
       "  _uploadFiles,\n",
       "  _uploadFilesContinue,\n",
       "};\n",
       "})(self);\n",
       "</script> "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saving application_train.csv to application_train.csv\n",
      "✅ application_train.csv → (307511, 122)\n",
      "TARGET\n",
      "0    282686\n",
      "1     24825\n",
      "Name: count, dtype: int64\n",
      "✅ AŞAMA 6 tamamlandı.\n"
     ]
    }
   ],
   "source": "USE_UPLOADED = False\n\nif USE_UPLOADED or df is None:\n    try:\n        from google.colab import files\n        print(\"application_train.csv seçin...\")\n        uploaded = files.upload()\n        if uploaded:\n            fname = list(uploaded.keys())[0]\n            if fname.endswith((\".csv\", \".CSV\")):\n                df = pd.read_csv(fname, low_memory=False)\n            else:\n                df = pd.read_excel(fname, sheet_name=0)\n            print(f\"✅ {fname} → {df.shape}\")\n            if \"TARGET\" in df.columns:\n                print(df[\"TARGET\"].value_counts())\n    except Exception as e:\n        print(f\"Upload atlandı: {e}\")\nelse:\n    print(f\"Veri zaten yüklü: {df.shape if df is not None else None}\")\n\nprint(\"✅ AŞAMA 6 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage7-md",
   "metadata": {
    "id": "stage7-md"
   },
   "source": "## AŞAMA 7: EDA (Exploratory Data Analysis)\n"
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "stage7-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "executionInfo": {
     "elapsed": 90364,
     "status": "ok",
     "timestamp": 1788501295072,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage7-code",
    "outputId": "25645cbe-de44-440f-c807-737c1e462863"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=== Genel Bilgi ===\n",
      "Şekil: (307511, 122)\n",
      "Sütun sayısı: 122\n",
      "Eksik değer oranı (ortalama): 24.40%\n",
      "\n",
      "Sınıf dağılımı (TARGET):\n",
      "TARGET\n",
      "0    0.919271\n",
      "1    0.080729\n",
      "Name: proportion, dtype: float64\n",
      "\n",
      "Mevcut ana sayısal özellikler (14): ['AMT_INCOME_TOTAL', 'AMT_CREDIT', 'AMT_ANNUITY', 'AMT_GOODS_PRICE', 'DAYS_BIRTH', 'DAYS_EMPLOYED', 'DAYS_REGISTRATION', 'DAYS_ID_PUBLISH', 'CNT_CHILDREN', 'CNT_FAM_MEMBERS', 'REGION_POPULATION_RELATIVE', 'EXT_SOURCE_1', 'EXT_SOURCE_2', 'EXT_SOURCE_3']\n"
     ]
    },
    {
     "data": {
      "application/vnd.google.colaboratory.intrinsic+json": {
       "summary": "{\n  \"name\": \"print(\\\"\\u2705 A\\u015eAMA 7 tamamland\\u0131\",\n  \"rows\": 15,\n  \"fields\": [\n    {\n      \"column\": \"count\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 46357.507744033166,\n        \"min\": 134133.0,\n        \"max\": 307511.0,\n        \"num_unique_values\": 7,\n        \"samples\": [\n          307511.0,\n          307499.0,\n          306851.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"mean\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 199390.9346512291,\n        \"min\": -16036.995066843137,\n        \"max\": 599025.9997057016,\n        \"num_unique_values\": 15,\n        \"samples\": [\n          2.152665450442101,\n          0.5021298056566625,\n          168797.9192969845\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"std\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 142176.61792736914,\n        \"min\": 0.013831280122699869,\n        \"max\": 402490.776995946,\n        \"num_unique_values\": 15,\n        \"samples\": [\n          0.9106815691773334,\n          0.21106224927392558,\n          237123.14627883647\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"min\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 20439.094115456108,\n        \"min\": -25229.0,\n        \"max\": 45000.0,\n        \"num_unique_values\": 14,\n        \"samples\": [\n          1.0,\n          0.0145681324124455,\n          25650.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"25%\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 92162.78616277012,\n        \"min\": -19682.0,\n        \"max\": 270000.0,\n        \"num_unique_values\": 14,\n        \"samples\": [\n          2.0,\n          0.3340072886740926,\n          112500.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"50%\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 170398.5805494636,\n        \"min\": -15750.0,\n        \"max\": 513531.0,\n        \"num_unique_values\": 14,\n        \"samples\": [\n          2.0,\n          0.5059979305057544,\n          147150.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"75%\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 262315.01089878613,\n        \"min\": -12413.0,\n        \"max\": 808650.0,\n        \"num_unique_values\": 15,\n        \"samples\": [\n          3.0,\n          0.6750525982300696,\n          202500.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"max\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 30081287.298498213,\n        \"min\": -7489.0,\n        \"max\": 117000000.0,\n        \"num_unique_values\": 13,\n        \"samples\": [\n          0.8960095494948396,\n          0.962692770561306,\n          117000000.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}",
       "type": "dataframe"
      },
      "text/html": [
       "\n",
       "  <div id=\"df-ed64a94c-f3fd-4ec5-ac5b-59f666268888\" class=\"colab-df-container\">\n",
       "    <div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AMT_INCOME_TOTAL</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>168797.919297</td>\n",
       "      <td>237123.146279</td>\n",
       "      <td>2.565000e+04</td>\n",
       "      <td>112500.000000</td>\n",
       "      <td>147150.000000</td>\n",
       "      <td>202500.000000</td>\n",
       "      <td>1.170000e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AMT_CREDIT</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>599025.999706</td>\n",
       "      <td>402490.776996</td>\n",
       "      <td>4.500000e+04</td>\n",
       "      <td>270000.000000</td>\n",
       "      <td>513531.000000</td>\n",
       "      <td>808650.000000</td>\n",
       "      <td>4.050000e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AMT_ANNUITY</th>\n",
       "      <td>307499.0</td>\n",
       "      <td>27108.573909</td>\n",
       "      <td>14493.737315</td>\n",
       "      <td>1.615500e+03</td>\n",
       "      <td>16524.000000</td>\n",
       "      <td>24903.000000</td>\n",
       "      <td>34596.000000</td>\n",
       "      <td>2.580255e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AMT_GOODS_PRICE</th>\n",
       "      <td>307233.0</td>\n",
       "      <td>538396.207429</td>\n",
       "      <td>369446.460540</td>\n",
       "      <td>4.050000e+04</td>\n",
       "      <td>238500.000000</td>\n",
       "      <td>450000.000000</td>\n",
       "      <td>679500.000000</td>\n",
       "      <td>4.050000e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DAYS_BIRTH</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>-16036.995067</td>\n",
       "      <td>4363.988632</td>\n",
       "      <td>-2.522900e+04</td>\n",
       "      <td>-19682.000000</td>\n",
       "      <td>-15750.000000</td>\n",
       "      <td>-12413.000000</td>\n",
       "      <td>-7.489000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DAYS_EMPLOYED</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>63815.045904</td>\n",
       "      <td>141275.766519</td>\n",
       "      <td>-1.791200e+04</td>\n",
       "      <td>-2760.000000</td>\n",
       "      <td>-1213.000000</td>\n",
       "      <td>-289.000000</td>\n",
       "      <td>3.652430e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DAYS_REGISTRATION</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>-4986.120328</td>\n",
       "      <td>3522.886321</td>\n",
       "      <td>-2.467200e+04</td>\n",
       "      <td>-7479.500000</td>\n",
       "      <td>-4504.000000</td>\n",
       "      <td>-2010.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DAYS_ID_PUBLISH</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>-2994.202373</td>\n",
       "      <td>1509.450419</td>\n",
       "      <td>-7.197000e+03</td>\n",
       "      <td>-4299.000000</td>\n",
       "      <td>-3254.000000</td>\n",
       "      <td>-1720.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CNT_CHILDREN</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>0.417052</td>\n",
       "      <td>0.722121</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.900000e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CNT_FAM_MEMBERS</th>\n",
       "      <td>307509.0</td>\n",
       "      <td>2.152665</td>\n",
       "      <td>0.910682</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>REGION_POPULATION_RELATIVE</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>0.020868</td>\n",
       "      <td>0.013831</td>\n",
       "      <td>2.900000e-04</td>\n",
       "      <td>0.010006</td>\n",
       "      <td>0.018850</td>\n",
       "      <td>0.028663</td>\n",
       "      <td>7.250800e-02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EXT_SOURCE_1</th>\n",
       "      <td>134133.0</td>\n",
       "      <td>0.502130</td>\n",
       "      <td>0.211062</td>\n",
       "      <td>1.456813e-02</td>\n",
       "      <td>0.334007</td>\n",
       "      <td>0.505998</td>\n",
       "      <td>0.675053</td>\n",
       "      <td>9.626928e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EXT_SOURCE_2</th>\n",
       "      <td>306851.0</td>\n",
       "      <td>0.514393</td>\n",
       "      <td>0.191060</td>\n",
       "      <td>8.173617e-08</td>\n",
       "      <td>0.392457</td>\n",
       "      <td>0.565961</td>\n",
       "      <td>0.663617</td>\n",
       "      <td>8.549997e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EXT_SOURCE_3</th>\n",
       "      <td>246546.0</td>\n",
       "      <td>0.510853</td>\n",
       "      <td>0.194844</td>\n",
       "      <td>5.272652e-04</td>\n",
       "      <td>0.370650</td>\n",
       "      <td>0.535276</td>\n",
       "      <td>0.669057</td>\n",
       "      <td>8.960095e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TARGET</th>\n",
       "      <td>307511.0</td>\n",
       "      <td>0.080729</td>\n",
       "      <td>0.272419</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>\n",
       "    <div class=\"colab-df-buttons\">\n",
       "\n",
       "  <div class=\"colab-df-container\">\n",
       "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-ed64a94c-f3fd-4ec5-ac5b-59f666268888')\"\n",
       "            title=\"Convert this dataframe to an interactive table.\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
       "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
       "  </svg>\n",
       "    </button>\n",
       "\n",
       "  <style>\n",
       "    .colab-df-container {\n",
       "      display:flex;\n",
       "      gap: 12px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert {\n",
       "      background-color: #E8F0FE;\n",
       "      border: none;\n",
       "      border-radius: 50%;\n",
       "      cursor: pointer;\n",
       "      display: none;\n",
       "      fill: #1967D2;\n",
       "      height: 32px;\n",
       "      padding: 0 0 0 0;\n",
       "      width: 32px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert:hover {\n",
       "      background-color: #E2EBFA;\n",
       "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "      fill: #174EA6;\n",
       "    }\n",
       "\n",
       "    .colab-df-buttons div {\n",
       "      margin-bottom: 4px;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert {\n",
       "      background-color: #3B4455;\n",
       "      fill: #D2E3FC;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert:hover {\n",
       "      background-color: #434B5C;\n",
       "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
       "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
       "      fill: #FFFFFF;\n",
       "    }\n",
       "  </style>\n",
       "\n",
       "    <script>\n",
       "      const buttonEl =\n",
       "        document.querySelector('#df-ed64a94c-f3fd-4ec5-ac5b-59f666268888 button.colab-df-convert');\n",
       "      buttonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "\n",
       "      async function convertToInteractive(key) {\n",
       "        const element = document.querySelector('#df-ed64a94c-f3fd-4ec5-ac5b-59f666268888');\n",
       "        const dataTable =\n",
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       "                                                    [key], {});\n",
       "        if (!dataTable) return;\n",
       "\n",
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       "        await google.colab.output.renderOutput(dataTable, element);\n",
       "        const docLink = document.createElement('div');\n",
       "        docLink.innerHTML = docLinkHtml;\n",
       "        element.appendChild(docLink);\n",
       "      }\n",
       "    </script>\n",
       "  </div>\n",
       "\n",
       "\n",
       "    </div>\n",
       "  </div>\n"
      ],
      "text/plain": [
       "                               count           mean            std  \\\n",
       "AMT_INCOME_TOTAL            307511.0  168797.919297  237123.146279   \n",
       "AMT_CREDIT                  307511.0  599025.999706  402490.776996   \n",
       "AMT_ANNUITY                 307499.0   27108.573909   14493.737315   \n",
       "AMT_GOODS_PRICE             307233.0  538396.207429  369446.460540   \n",
       "DAYS_BIRTH                  307511.0  -16036.995067    4363.988632   \n",
       "DAYS_EMPLOYED               307511.0   63815.045904  141275.766519   \n",
       "DAYS_REGISTRATION           307511.0   -4986.120328    3522.886321   \n",
       "DAYS_ID_PUBLISH             307511.0   -2994.202373    1509.450419   \n",
       "CNT_CHILDREN                307511.0       0.417052       0.722121   \n",
       "CNT_FAM_MEMBERS             307509.0       2.152665       0.910682   \n",
       "REGION_POPULATION_RELATIVE  307511.0       0.020868       0.013831   \n",
       "EXT_SOURCE_1                134133.0       0.502130       0.211062   \n",
       "EXT_SOURCE_2                306851.0       0.514393       0.191060   \n",
       "EXT_SOURCE_3                246546.0       0.510853       0.194844   \n",
       "TARGET                      307511.0       0.080729       0.272419   \n",
       "\n",
       "                                     min            25%            50%  \\\n",
       "AMT_INCOME_TOTAL            2.565000e+04  112500.000000  147150.000000   \n",
       "AMT_CREDIT                  4.500000e+04  270000.000000  513531.000000   \n",
       "AMT_ANNUITY                 1.615500e+03   16524.000000   24903.000000   \n",
       "AMT_GOODS_PRICE             4.050000e+04  238500.000000  450000.000000   \n",
       "DAYS_BIRTH                 -2.522900e+04  -19682.000000  -15750.000000   \n",
       "DAYS_EMPLOYED              -1.791200e+04   -2760.000000   -1213.000000   \n",
       "DAYS_REGISTRATION          -2.467200e+04   -7479.500000   -4504.000000   \n",
       "DAYS_ID_PUBLISH            -7.197000e+03   -4299.000000   -3254.000000   \n",
       "CNT_CHILDREN                0.000000e+00       0.000000       0.000000   \n",
       "CNT_FAM_MEMBERS             1.000000e+00       2.000000       2.000000   \n",
       "REGION_POPULATION_RELATIVE  2.900000e-04       0.010006       0.018850   \n",
       "EXT_SOURCE_1                1.456813e-02       0.334007       0.505998   \n",
       "EXT_SOURCE_2                8.173617e-08       0.392457       0.565961   \n",
       "EXT_SOURCE_3                5.272652e-04       0.370650       0.535276   \n",
       "TARGET                      0.000000e+00       0.000000       0.000000   \n",
       "\n",
       "                                      75%           max  \n",
       "AMT_INCOME_TOTAL            202500.000000  1.170000e+08  \n",
       "AMT_CREDIT                  808650.000000  4.050000e+06  \n",
       "AMT_ANNUITY                  34596.000000  2.580255e+05  \n",
       "AMT_GOODS_PRICE             679500.000000  4.050000e+06  \n",
       "DAYS_BIRTH                  -12413.000000 -7.489000e+03  \n",
       "DAYS_EMPLOYED                 -289.000000  3.652430e+05  \n",
       "DAYS_REGISTRATION            -2010.000000  0.000000e+00  \n",
       "DAYS_ID_PUBLISH              -1720.000000  0.000000e+00  \n",
       "CNT_CHILDREN                     1.000000  1.900000e+01  \n",
       "CNT_FAM_MEMBERS                  3.000000  2.000000e+01  \n",
       "REGION_POPULATION_RELATIVE       0.028663  7.250800e-02  \n",
       "EXT_SOURCE_1                     0.675053  9.626928e-01  \n",
       "EXT_SOURCE_2                     0.663617  8.549997e-01  \n",
       "EXT_SOURCE_3                     0.669057  8.960095e-01  \n",
       "TARGET                           0.000000  1.000000e+00  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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4H185XPEM888o/3795c6++yJJ57Q3/72txL73H777cZstPvvv19PPvmktm7dqr179yo6OtqlbdOmTcsd26XHlaRx48Zp48aNmjJliiZMmKB169aVul9lxmIAAHxlrHbauHGjevfurebNm2vz5s1uk+hBQUFq1qxZhZLiFckfVEVISEiJ67B161ZlZWWVen2mTp2qJ598UuvWrdOQIUMkSadOndKyZcvUr18/9e7du8ZiBZyoiQ5cwaZNmxQWFqbevXvr9ttv16ZNm0pt17RpU3Xv3r3Eo0ybNm1S+/bt1a5du9oIt4T+/fvr+uuv17Jly+RwOMps+8ILL6hhw4aaN2+eSwLdKS4uzijR8uGHH+rQoUN65JFHXBLokmSxWDR79mw1aNBAL730UonjxMTEqGXLliWu5aZNmxQbG6uGDRtWsJfVLy8vTytWrND111+viRMnlth+88036+6779b27duVlJRUqXNs3rxZt99+u377298qNDS01MfgAAC+zRc+R+zZs0efffaZ7r333lJnqgUEBJT6ZNnlunfvLkn68ccfqz3Gu+66S//v//0/7dmzR//973+r/fgAgLrLF8Zqp1OnTmnXrl3q37+/BgwYoJMnT+rbb78tta3ZbNaYMWN08OBBffTRR+U6fkXyB7Wpf//+6t27txYvXqz09HRJ0pw5c+Tn56dnn33Ww9GhriCJDlzBpk2bdOuttyogIEB33nmnfvjhB+3du7fUtgMHDtS///1v5eTkSCqqz/X+++8b5U88wWKxaMyYMTpw4ECZA+cPP/ygY8eO6ZZbblH9+vWveFxnLdG777671O2hoaG65ZZbdOzYMR0/frzE9jvvvFNbt241BuaMjAz997//LfNa2Ww2ZWRklPiTm5t7xXgr6ptvvlFmZqYGDhwoP7/SH9px9v3f//53hY+/Z88eHT9+XAMGDFBAQIBuvfVWtx/WAAC+yxc+RzjH9KrOjDt58qQklaiJLhX1pbQxPC8vr9zHv+uuuyRJX3zxRZXiBADgUr4wVjtt3rxZwcHB6tOnj6Kjo3XttdeWeR85cODACiXFy5s/8IQZM2bIarVq3rx5+vjjj/Xpp59q4sSJioyM9HRoqCNIogNlSElJ0bFjxzRgwABJ0i9/+Us1a9bM7SB1++23y2az6eOPP5Yk/fe//9XZs2eN/T2lPAPn0aNHJanEQh3uHD16VKGhoWrRooXbNs5SLc5jX+rOO+/UqVOn9M0330iStm3bpoCAAN18881uj3fs2DH17NmzxB/nIqDV6ciRIy59KI1z27Fjxyp8/I0bN+qaa64xarEPGDBAR44c0f79+ysRLQDAG/nK54iKfgZwyszMVEZGhn766Se9++67euutt9S4cWP96le/KtH2iy++KHUMT0hIKPf5nPGdOHGiQnECAOCOr4zVTps2bdItt9yioKAgSUUztLdt22aUXb3cpUlxZ8xXUtHEe21p0aKF/vjHP2rz5s169tln1a1bN6O0C1AbSKIDZdi0aZMiIiLUo0cPSZLJZFL//v21detW2Wy2Eu3DwsIUFxenLVu2GPt37dq1zERzbSjPwJmdnS2p/Itt5eTkXLGtc7vz2Jdq166dOnToYFyrzZs365ZbblFwcLDb47Vo0UIrV64s8WfEiBHlirkinDMLyupjWf0rS2FhobZu3ap+/foZdeluuukmhYeHa+PGjZWMGADgbXzlc0RFPwM43XHHHerZs6duvvlmTZ06Vddee63i4+NLHcu7dOlS6hhekaSDc8Ew5xgNAEBV+cpYLUkHDhzQoUOHdOeddxrvDRgwQGfPni3zKa2qzEYvb+K9towYMUIdOnRQVlaWZs+eXaOLnwKXI4kOuGGz2bRlyxb16NFDJ0+e1PHjx3X8+HFFR0crLS1NiYmJpe43cOBA7dixQ6dOndInn3ziMsB50sCBA3Xddde5HTidJVzKe2Nar169K7a9UiL6zjvv1Pvvv6/jx49r9+7dV3wELiQkRL169Srxp02bNuWKuSKcMZfVx/Ik2kvz3//+VxkZGYqOjjb+XZ08eVI9evTQli1bZLfbKx84AMAr+NLniIp+BnB66aWXtHLlSi1evFgxMTHKyMgwZsZdrlGjRqWO4RVJOjjLt1V03AUAoDS+NFZLRU8zh4SEqFWrVkasgYGBatGiRZklXZxJ8f3791doNnpZ+YPyqu4kt8Vi0Y033qigoCCPrTuHuqv0Qr8AtHPnTqWmpmrLli3Gt8yXci6Cebmbb75Z/v7+mjJligoKCtSvX7/aCPeKnAPn008/rU8++aTE9htuuEGSdOjQoXIdr02bNtq/f79OnTql5s2bl9rm4MGDkqS2bduWuv3OO+/U888/r2nTpqlhw4b69a9/Xa5z1wZnYv7AgQMuK69fytm/iibxnbPNn3jiiVK3f/XVV7rpppsqdEwAgHfxpc8Rl34GcC4OWh7du3dX48aNJUl9+vTRwIEDNWnSJK1fv15mc/XP1XF+Rrn22mur/dgAgLrHl8Zqh8OhLVu2KDc3V/379y+xPSMjo8ynxQcOHKi///3vWrZsmdv720tdKX8gFS087m5tE+f7AQEBVzwX4CtIogNubNq0SeHh4Zo+fXqJbR999JE++ugjzZo1q8SMq6CgIPXt21cbN27Ub37zG+Pm0hvcddddevnll7V06dIStcdbt26t1q1b65NPPilXqZbf/va32rx5szZs2KCxY8eW2J6dna1PPvlEN9xwg6677rpSj9G8eXN169ZNX331lX7/+9+7XcDTE375y1+qQYMG2rx5s8aMGSOLxVKizYYNGyQVJQ7KKzc3V59++qn69++v22+/vcT2uXPnatOmTSTRAcDH+dLniD59+uiVV17Rxo0bK5REv1S9evU0btw4PfPMM9q2bVuN1IZ1fgkdFxdX7ccGANQ9vjRWf/XVV/r55581fvz4EpO4srKy9Nxzz+njjz92u0h4eZLilysrfyAVlVv98ssvlZeXV+Iaff/990Yb4GrhPRkrwIvk5eXpww8/1B133KE77rijxPYmTZpo8+bNRjL0cqNGjdK1115b6rfWnnTpwFma8ePH68knn9S0adP017/+tURS+4svvpDValWfPn10++23a/ny5YqPj1dcXJyioqKMdna7XTNmzFBmZqZmzJhRZkxPPPGEvvzyy1KvoycFBwfrD3/4g5YsWaK//e1vmjRpksv2zz77TO+9955iY2MVExNT7uN+9NFHys3N1YMPPlhqouK///2v3n//fc2YMYNv7QHAR/na54iuXbsqLi5O//znP/Wb3/ymxAy1goIC/e1vf9OUKVPKPM7AgQP1wgsvKD4+vtqT6Js2bdI///lPde3aVT179qzWYwMA6h5fG6udpVwefvhhBQYGlti+YsUKbdq0yW0SXXJNipfHlfIHv/nNb/T2229r7dq1GjlypPG+3W7XmjVr5O/vz5iNqwpJdKAUn376qXJyckr9tlWSYmJi1LhxY23cuLHUAbVjx47q2LFjTYdZKc7HuPbv319iW//+/XXw4EEtX75c3333ne688041b95c586d0/bt25WYmKjFixdLKnos68UXX9SIESP0wAMPaPDgwercubPOnz+vzZs3a9++ffrDH/5wxZvo//u//9P//d//lSv28+fP61//+lep28r6sFBZo0eP1v79+xUfH6+kpCTddtttCgoK0jfffKONGzeqTZs2+stf/lKhY27atEkNGzZU165dS91+8803a926dfrss8902223Ge+/++672r59e4n2w4cPN2rZAgC8gy9+jli4cKH+8Ic/aNy4cerTp4969uyp4OBgHT9+XFu3btWZM2eumET39/fX8OHDtXDhQv3nP//Rb37zG2Pb6dOnSx3D69WrVyJp/8EHHygkJERWq1WnT5/WF198oW+//VYdO3bUCy+8UD0dBgDUab40VhcUFOjDDz9Ur169Sk2gS0X3kQkJCUpPT1d4eHipbSwWix577DE988wz5T53WfmDm2++WbGxsZo/f76Sk5PVtWtXXbhwQZ9++qm+/fZbPfHEE171ZD5QVSTRgVJs3LhRgYGBbmt0m81m/fa3v9WmTZt09uzZWo6uavz8/DRmzBi3A+eTTz6pm266SatWrdKaNWuUmZmpBg0aqEuXLvr73/+uW265xWjbpk0bbdy4Uf/4xz/06aefav369QoKClLnzp318ssvu/1AUlk///yzJk+eXOq2mkiiWywWLVmyRBs2bNA///lPvfDCC7Jarbr22mv1+OOP6w9/+INCQkLKfbz09HQlJiZqwIABpZaHkWQkLTZu3OiSRF+zZk2p7QcPHkwSHQC8jC9+jmjcuLHWrl2rt956S1u3btXf/vY3Wa1WtWjRQjfffLOGDx9eruMMGTJEL7/8suLj412S6Pv37y91DG/RokWJJPrMmTMlSYGBgWrUqJE6deqkefPmaeDAgTylBQCoFr40Vn/22WfKysoqs4xonz599Nprr2nLli1ljtnO2eg//vhjuc5dVv7AbDbr5Zdf1j/+8Q9t2bJFH374ofz8/NS+fXv99a9/1V133VWucwC+wuSoyjK7AAAAAAAAAABcxcyeDgAAAAAAAAAAAG9FORfAi9lsNmVkZJTZJiQkRPXq1auliLwX1woAAFeMjQAAeDfGasB3kEQHvNj//vc/lxrkpRk3bpz++Mc/1lJE3otrBQCAK8ZGAAC8G2M14DuoiQ54sfz8fH3zzTdltmnVqpVatWpVSxF5L64VAACuGBsBAPBujNWA7yCJDgAAAAAAAACAG5RzqSZ2u12FhYUym80y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31d4eLjHrg8AAL7OarVqwoQJcjgcmjVrlqfDKVNUVJQsFkuF9rHZbEpOTq7UvuW1LzlTUVFh1bZ/bcRcE3wxbl+MWfLNuH0xZsk34/bFmKWajdt5bAAAcPXyaBL95ptvdnn95JNPas2aNUpKSlKzZs307rvvatGiRerZs6ckad68eerfv7+SkpIUExOjL774wliQLCIiQp06ddKECRO0aNEijRs3TgEBAVq7dq1atmypp59+WpLUpk0bffPNN3r99deNJPrKlSt133336Z577pEkzZo1S5999pneffddjR49ukJ9quqjfL76eGR1qKt9r6v9lupu3+l33eq3VL6+X43XxWq16oknntCpU6f0xhtvGLPQpaIZ5RkZGS7tCwsLlZmZqcjISKPN5TPKna+ds89La5Oenl5idnp5WCyWSidWqrLvlZjMpiod293+NRlzTfLFuH0xZsk34/bFmCXfjNsXY5Z8N24AAOBZXlMT3Waz6f3331dubq66du2qlJQUWa1W9erVy2jTpk0bNW/e3EiiJyUlqX379i43yrGxsZo5c6aOHDmiG2+8UUlJSUYS/tI28+bNkyQVFBRo3759evTRR43tZrNZvXr10u7duyvcj+qagVCXZzLU1b7X1X5Ldbfv9LvuqUt9dybQjx8/roSEBDVq1Mhle9euXZWVlaWUlBR17txZkrRz507Z7XajnFpMTIyWLFkiq9Uqf39/SdKOHTvUunVrhYWFGW127tzpUhd9x44diomJqflOAgAAAADqBI8n0Q8ePKj7779f+fn5CgkJ0bJly9S2bVvt379f/v7+xgJkTuHh4S61Ui+faeZ8faU22dnZysvLU2Zmpmw2W4myLeHh4Tp27FiF+1PVxwN99fHI6lBX+15X+y3V3b7T77rVb6l8ffe1R8FzcnL0448/Gq9Pnjyp/fv3KywsTJGRkRo/fry+++47vfLKK7LZbMa4HBYWpoCAALVp00ZxcXF67rnnNGvWLFmtVs2ZM0cDBgxQ06ZNJUkDBw7UsmXL9Oyzz+qRRx7R4cOHlZCQoGeeecY47/DhwzVs2DC99tpr6t27t7Zu3aqUlBTNnj27di8IAAAAAOCq5fEkeuvWrbVhwwadP39eH3zwgaZMmaI333zT02FVWnU9HliXHzOsq32vq/2W6m7f6XfdczX1PSUlRcOHDzdez58/X5I0aNAg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KY0ePVpdunRRz5499Ze//EWFha6lRr788ksNGjRInTt31q233qr169fXSp8qyjkTPdBiktVePUloI4meUzKJXqlyLsFll3N5ZVe6Nhw4r90/51X42AAA+LIcY2FRL6vfUopWDYqS6Cco5wIA1cajSfSvv/5ajz32mGJjY9WhQwd9/PHHLtsdDodeeOEFxcbGKjo6WiNHjtQPP/zg0ubcuXOaOHGiunXrpu7du2vq1KnKyclxaXPgwAE98MADioqKUu/evRUfH18ilm3btumOO+5QVFSUBg4cqM8//7za+wsAQF20d+9erV27Vh06dHB5f968efr3v/+tJUuWaNWqVTpz5ozGjRtnbLfZbHr00UdltVq1du1aLViwQO+9955efPFFo82JEyf06KOPqkePHvrXv/6lESNGaNq0adq+fXut9a+8zhUn0avz5tuZRD/jUs7FmUSveNmYsmaiOxwOfXQkW5L03Zl8ZqMDAOqUC8XlXLx9YVFJahlGEh0AqptHf/vn5uaqQ4cOmjFjRqnb4+PjtWrVKs2cOVPr1q1TcHCwRo0apfz8fKPNpEmTdOTIEa1cuVLLly/Xrl27NH36dGN7dna2Ro0apebNm2v9+vWaPHmyli5dqrffftto8+2332rixIm69957tWHDBt1yyy16/PHHdejQoZrrPAAAdUBOTo7+9Kc/ae7cuQoLCzPeP3/+vN599109/fTT6tmzpzp37qx58+Zp9+7dSkpKkiR98cUXOnLkiP7617+qU6dO6t27tyZMmKDVq1eroKDo8eS1a9eqZcuWevrpp9WmTRsNHTpUt99+u15//XUP9LZszpnoIX7V9/Hr8pnohTaHkQCvXDmXosS7M9ZLHT1boP8VJ+sz8+1KOZNfog0AAFerHGNhUe9Pojtnop/MIokOANWl4ndX1ah3797q3bt3qdscDocSEhI0ZswY9e3bV5K0cOFC9erVSx9//LEGDBigo0ePavv27XrnnXcUFRUlSZo2bZpGjx6tyZMnq2nTptq4caOsVqvmzZungIAAtWvXTvv379fKlSs1ZMgQSVJCQoLi4uL08MMPS5KeeOIJ7dixQ2+++aZmz55dC1cCAICr0+zZs9W7d2/16tVLL7/8svF+SkqKrFarevXqZbzXpk0bNW/eXElJSYqJiVFSUpLat2+viIgIo01sbKxmzpypI0eO6MYbb1RSUpJ69uzpcs7Y2FjNmzevwrHabBVfTNO5T3n2zSgukRLoZ5Ld7pDDJNntDtlNkumSYzgcDuN9R/GkdXftnHVZfz5vlc1m05nsQjkk+ZmlBgFFbR12h0t8Dofd+K/dLpfjNgosOmF2gV05+VYFXZLw3/5Dtkt/Nh/M1I0R/iX66TxfaTG7c3mMpanItS7P8WpDRWL2Jr4Yty/GLPlm3L4Ys1SzcfvatUDlXDDKufhAEr14JvrP2YUqsDkUYPH+EjQA4O08mkQvy8mTJ5Wamupycx0aGqouXbpo9+7dGjBggHbv3q0GDRoYCXRJ6tWrl8xms/bu3atbb71VSUlJ6t69uwICAow2sbGxio+PV2ZmpsLCwpSUlKSRI0e6nD82NrZEeZnyqOoHKF/9UFod6mrf62q/pbrbd/pdt/otla/vV+N12bJli7777ju98847JbalpaXJ399fDRo0cHk/PDxcqampRptLE+iSjNdXapOdna28vDwFBQWVO97k5ORyt63MvmeyQiWZlX/+nFILpaBAf2VdsCrALJktFiUn/yhJSj9bT1n5NgWYi9pIctvOmmOT5KeTZy8oKSlJx7ItkuqrgZ9de/fskcViUWpqsJKTf5TNZit6fSZAgX5mZZw9V+K4hYU2+ZsayOow6YtvkhUReLFky/v760nyU/Ngu05dMOuDw1m6OfikLp1Y7zzfd9/9pDOnLQr0MxvHdvdv/PIYK3OtLRaLsW9Fj1cbqvJvy5N8MW5fjFnyzbh9MWbJd+OG5+UaC4t6f0K6cbBF/mbJapdOZVl1faOAK+8EACiT1ybRnTfH4eHhLu+Hh4cbi46lpaWpcePGLtv9/PwUFhbmcnPdsmVLlzbOm+20tDSFhYWVegN+6Xkqoro+lNXlD3d1te91td9S3e07/a576lLf//e//+nPf/6zXnvtNQUGBno6nHKJioqSxVKxOuI2m03JyclX3NfhcCj72x8kSc2bhKtxsEUBFpMCC+wKsJhkkhQVdYMk6dB3Wcb7zplj7tpZgwql05k6ZzWrY+doZZy4IB04oxYNgxUT00aStC85U1FRF0vpfFOYoayMdDVu1FCB9VXiuM2PnNTxTKtCW7RXTMtgSdK5PJu+31WUvO/TtqHeO3BeOVapILK9urcKcenrvuRM3XhjmL4uOFfi2O5cHmNFr/W732XpnqiLX8iU53i1obz/PryNL8btizFLvhm3L8Ys1WzczmPj6pZbXBPdm2aiW0zSmr0ZJd43mUwKC7IoLdemEyTRAaBaeG0S3VdV9UOZr34orQ51te91td9S3e07/a5b/ZbK1/er7QZ83759Sk9P1+DBg433bDabvv76a61evVorVqyQ1WpVVlaWy2z09PR0RUZGSir60nvv3r0ux3V+wX1pm8u/9E5LS1P9+vUrNAtdKprBXNl/m1fa93y+TYVFE9gUEmCW2WySyWSS2Vz0x3kMSS7vm0xF29y1Cw00q36AWdkFdiWfsepEVlHJmGah/hfbmU0usZlMZuO/ZrOjxHFvaByg45lWHc8qVK/i9746lSuHpHbhAWoY7KeWDfx1KL1AR88WKu561347z1dazO5cHmNZSrvWhQ7Xc1TkeLWhKv+2PMkX4/bFmCXfjNsXY5Z8N2543gVjJnrROGoxSav3lExg1za7m3W+GzqT6CwuCgDVwmuT6M6b4/T0dDVp0sR4Pz09XR07dpRUdOOckeE6aBUWFiozM/OKN9fObe7apKenl5idXh7V9aGsLn+4q6t9r6v9lupu3+l33VOX+n7TTTdp06ZNLu8988wzuuGGG/TII4/ommuukb+/vxITE3X77bdLko4dO6ZTp04pJiZGkhQTE6Ply5crPT3deDJtx44dql+/vtq2bWu0+c9//uNynh07dhjH8BbOhToDLCb5mavvMXCTyaSWDfx0IK1AX/2Uq93/uyBJ6t48uNLHbN0oQP/+Pkffny0w3tv7c54k6VctimadNwou+nd8aRsAAK5muaXURLc7pGoc1qtVw6CiOFlcFACqh/c8h3SZli1bKjIyUomJicZ72dnZ2rNnj7p27SpJ6tq1q7KyspSSkmK02blzp+x2u6KjoyUV3Vzv2rVLVuvFgWPHjh1q3bq1wsLCjDY7d+50Ob833oADAOAr6tevr/bt27v8CQkJUcOGDdW+fXuFhobqnnvu0YIFC7Rz506lpKRo6tSp6tq1qzH+xsbGqm3btpo8ebIOHDig7du3a8mSJXrwwQeNtU7uv/9+nThxQgsXLtTRo0e1evVqbdu2rcRaJ552tjiJHlIDdVRbNiiqm/7JsWylnMmXJMVdV6/Sx7uh+JHvY5ckyPelFiXROzcpKs3TmCQ6AKCOcSbRa2IsrwlhgUVj9YlMxmoAqA4eTaLn5ORo//792r9/v6SixUT379+vU6dOyWQyafjw4Xr55Zf1ySef6ODBg5o8ebKaNGmivn37SpLatGmjuLg4Pffcc9q7d6+++eYbzZkzRwMGDFDTpk0lSQMHDpS/v7+effZZHT58WFu3blVCQoIeeughI47hw4dr+/bteu2113T06FG99NJLSklJ0dChQ2v/ogAAUEdMnTpVv/3tbzV+/HgNHTpUEREReumll4ztFotFy5cvl9ls1pAhQ/SnP/1Jd999t8aPH2+0adWqlV555RXt2LFDv/vd77Ry5UrNnTtXcXFxnuiSWxlGEr36P3o5k+inzheVcvlFk0BF1qv8w4ati5Po358tkMPhUH6hXYfT84uPXVQip3FQcRL9XIHsDjfPkQMAcBVx1kSvibG8Jjhnop9gJjoAVAuPlnNJSUnR8OHDjdfz58+XJA0aNEgLFizQI488ogsXLmj69OnKysrSL3/5S7366qsuC5QtWrRIc+bM0YgRI2Q2m3Xbbbdp2rRpxvbQ0FCtWLFCs2fP1uDBg9WoUSONHTtWQ4YMMdp069ZNixYt0pIlS/T888/r+uuv17Jly9S+fftauAoAANQNq1atcnkdGBioGTNmaMaMGW73adGiheLj48s8bo8ePbRhw4bqCLHGnMuruSR6vQCzbmgUYMwc/00VZqFL0rVh/jJJysq3K/2CTT+fL1ShXWoUZNE19Ys+OjYIMsvfLOUVOvRzdqGah/pXtRsAAHi1izPRfSWJXvSF9//OF8pqc8jf4hsz6AHAW3k0id6jRw8dPHjQ7XaTyaQJEyZowoQJbts0bNhQixcvLvM8HTt21FtvvVVmm379+qlfv35lBwwAAFAJGTVYzkWS/q9F8MUk+vVVS6IH+ZkVFmTWuTy7vj9bYBz3F00CLy50ajLpuoYBOpJRoO/PFpSaRE/LLdShtAJ1b1H5+uwAAHiLCz6WRA/xN6mev0k5VodOZlmNJ80AAJXjG7/9AQAAfJizJnq9GrrxvqlV0YKfrRr4q0013CSHX1LzfF9xnfUbi0u5OLUupXa60/bjOXr3uyzt/jlPO37MrXI8AAB42sWFRX1jRrep+AtvSfrhHHXRAaCqSKIDAADUsJqsiS5JvVqF6LneTfSX25rp3e8yq3Ssf+3PVOOQoocVj50t0L4zRYuK/iIy0KXdpbXTL3Uy06pJH/xPhUW5Bh1KzzcSDwAA+CKrzSHnUOYrM9El6XpnEp2FwAGgynzntz8AAICPOluDNdGlotlmd/1/9u47vKnq/wP4O7N70CFQyiijLdDJsAJFBBnKUkQBBRTFLyAiKqigP5UhAiIoggsRGcoUEChLcaAgZYgUyh4FWijQvUea5Pz+CIkNXUlXkvb9ep4+NPeee/M5pyHn3k9Ozgl0RRtPO6g0ZS/0uf1cxQl2lUYYRqL/e6sA8Zm6BcnuHYnesowk+sk7BdAKoGUDBdztpSjSAr/F5ZhVHyIiImtS/MNgR7ntpFFauOumW7uWwcVFiYiqynbe/YmIiIhsVE3PiW6q8hLsxXkUm84FANztpdh9McuoTPGR6ELozptXpDVM79KxsYNh9HrUeeNjiYiIbIl+PnSlTAK5DS3QyelciIiqD5PoRERERDUsPV8NwHa+Au7pKENzdwXs5BJENnPEQy2cSiTgm7kqIJMCuUUCt3J09fvrWi7UWt3c7N5OMrT1toMEwInbBUjI5A08ERHZplzDoqK2k0AH/vvA+3rGfx94ExFR5djGnRwRERGRjVJrBTIL9DfftnHpJZdK8OOwZtg/piU+fdQHTVwVJcvIJGjnrZvi5eD1XADAz5ezAQB9WjtDIpHAxU4GX1fd/OpHb+bXUvRERETVK79Il4C2lX5cz9dVAQl0H3in5GksHQ4RkU2zrR6AiIiIyMZkFmggAEgAONjQCDaJpOKvrPdu6QwA2HclBxkFGhy+kQcA6NfaxVCmobMuiX45lSPRiYjINulHojvYWBJdIZPAzV4X871rmBARkXlsqwcgIiIisjH6RUXd7KWQSmwniW6Kh+8m0WNuF+CjA8lQa4H7nGSGRUcBwMvxbhI9rdAiMRIREVVVfpFtfaOsOHd73TonnBediKhqbK8HICIiIrIh6XcXFW3gILdwJNWvobMcYY10U7r8GpcDAIhs5mhUxttRd/N+KY3zsRIRkW3KM0znYnsfhje4u1j49YwiC0dCRGTbmEQnIiIiqkH6JLrH3ZvYuqZ3K2fD7738nNDcXWm0v4GDDHIpkKvS4vbdBUiJiIhsSZ4Nj0T3dOBIdCKi6mB7PQARERGRDUnTj0S3r5tJ9If9nGEnk8BBLsHrXbxK7JdJJfC7m1i/xHnRiYhswrJlyzB06FCEh4ejS5cumDhxIuLi4ozKFBYWYtasWYiIiEB4eDheeeUVpKSkGJVJTEzEuHHjEBoaii5duuCjjz6CWm38geqRI0cwZMgQBAUFoU+fPti6dWuN189ctjydi/5D/CucE52IqEpsrwcgIiIisiG1NRJ93al0/Hg6o0afozReTnKsHOKLNU80RSMXRallWnvaAeC86EREtuLo0aMYOXIkNm3ahJUrV0KtVmPs2LHIy8szlJk7dy7++OMPLF68GN9//z2SkpIwadIkw36NRoPx48ejqKgIGzZswPz58/HTTz9hyZIlhjIJCQkYP348IiIisH37djz33HN49913ceDAgVqtb0X0I9Ed5LaXQvF0kEECIDVPg+RcfiOMiKiy6t7knERERERWxDASvRqS6AqpBOtOpUMhLTknq0pjufnG29xNkpe530OJPeBIdCIiW7FixQqjx/Pnz0eXLl1w5swZdO7cGdnZ2diyZQsWLlyILl26ANAl1fv374+YmBiEhYXh4MGDuHz5MlauXAkvLy+0bdsWr776KhYuXIhJkyZBqVRiw4YN8PX1xfTp0wEArVq1wvHjx7Fq1Sp0797drJg1Gk2l6qo/rrzjc1S6fQ7y/8pptXf7XQmg/9Xs36vreK0uLq1WGP2u0WggkwANHKRIy9fizJ18dG9uvHZJeUxpm/qKbVM2tk3Z2DZls1TbmPN8TKITERER1aD0gv9Gomu0VU9065PlpSXSLWXzmQw82d69zP2tPXXTuZy4lV9LERERUXXKzs4GALi5uQEATp8+jaKiInTt2tVQplWrVvDx8TEk0WNiYuDv7w8vr/+m+oqMjMTMmTNx+fJltGvXDjExMYYkfPEyc+fONTvG2NjYylTNpONv3HEAoERm6h2cPJkAiUSCpCR7QCKBTCox9O/m/l6ZY8o6fskfqRBCGH5Xa7SIjU1AUpIdXKQypEGKP89ch+vdudH1i31LJBKjx+a2TX3Htikb26ZsbJuyWXPbMIlOREREVIOKj0RPqaNfo65oFHwbD91I9bR8DQrVWthV8uvwMlndnFeeiMiaabVazJ07Fx06dIC/vz8AICUlBQqFAq6urkZlPT09kZycbChTPIEOwPC4ojI5OTkoKCiAvb29yXEGBwdXqp/QaDSIjY0t9/gtaUlAci7SZQ0QGtoIAHDqZAYAQFpsZLi5v9fk8QAQHOyOk9oMNBMFuJ6bjwy5B0JDG1Zr29RXbJuysW3KxrYpm6XaRv+8pmASnYiIiKgGpRdbWLSuJtEr4ukog7u9FBkFWlxJV6Gdt+lJkeKiM5wQXM2xERFR+WbNmoVLly5h3bp1lg6lXDKZrEqJl/KOz1frMtNymdRQRnr3G2FSCYBiSWxzfq/J4/V1kkolaOisS/1cSCmsVBtVtW3rMrZN2dg2ZWPblM2a28b2VsUgIiIisiHp+brEeXXMiV4Z+nnULbHoqJ5EIoH/3XnTL6RUfnHRwrsLuxERUe2YPXs29u/fj9WrV6NRo0aG7V5eXigqKkJWVpZR+dTUVHh7exvKpKSkGO3XP66ojLOzs1mj0GuaPomusNEMirejHBIAyXkapOTVzw/0iYiqyka7ACIiIiLrV1CkRW6R7sbb09FyXwBUaQSKqmE+9qoI9Kp6Er02bD6TYekQiIgsTgiB2bNnY9++fVi9ejWaNm1qtD8oKAgKhQLR0dGGbXFxcUhMTERYWBgAICwsDBcvXkRqaqqhzKFDh+Ds7IzWrVsbyhw+fNjo3IcOHTKcw1rkqXQf4ipk1rMeiTkUMglauCsAAOeTrbsfJiKyVkyiExEREdWQ1LtTudjJJXBS2OaN9/ZzmdVyngAbSaKXNr/7ulPpWHcq3QLREBFZxqxZs7Bjxw4sWrQITk5OSE5ORnJyMgoKCgAALi4uGDp0KObPn4/Dhw/j9OnTeOeddxAeHm5IgEdGRqJ169Z46623cP78eRw4cACLFy/GyJEjoVTqFpweMWIEEhISsGDBAly5cgVr167Fnj17MGbMGAvVvHR5al0SXWlFi3pXRCoB1p5MMzwOvDuV2jkr74eJiKwV50QnIiIiqiGpd78y7ekgg0RivTfe+ilfFKUkBypaNNRU+iT6pVQV1FoBuQ0lIqqrDYiIbMX69esBAKNHjzbaPm/ePDzxxBMAgHfeeQdSqRSTJ0+GSqVCZGQkZsyYYSgrk8nw9ddfY+bMmRg+fDgcHBwwZMgQTJ482VCmadOmWLZsGebNm4c1a9agUaNGmDNnDrp3714LtTTdvSPRiyenrVnxL6G19bbDnkvZOHk733IBERHZMCbRiYiIiGqIfiS6p4XmQzeHPlFcWiK9OjR1U0AhBQo1AtczVGjlYVcjz0NERFV34cKFCsvY2dlhxowZRonzezVp0gTLly8v9zwRERHYtm2buSHWqty7a3Io7ybRLTxDWqV0a+aITw4Bx27mIyVPDS8LTjNHRGSLOJ0LERERUQ1J0yfReaMKqUQCbyddO1j7lC5ERER6aq1A3t31TZQ2Oic6ADRzU6KhkwxaAfx8OdvS4RAR2Rwm0YmIiIhqiH46Fw8bGIleG+5jEp2IiGxM7t2pXADbTqID/y3yvfsik+hEROZiEp2IiIiohqTm6UeiM4kOAPc56drhfLEkenKuGkLY4PfiiYioXsi5m0S3l0sgs6H1PErT2kMJuRS4mKrC5VR+oE1EZA4m0YmIiIhqSCqnczGiH4l+PqUQ6fka/HgmE/1/uIaNp7OQkqu2cHREREQl6ZPozkopZBJg/SnbWFS0NPYKKSKbOQEAdt4djW4ri6QSEVkak+hERERENSTt7nQutrCwaG3wdJShhbsCeUUCr+5OxCeHkgEAt3LUeHZrAm5kFgEANp/JsGCURERE/8lR6T4Qd1Hq0ie2uKhocQMDXAEAuy5moUgjbL4+RES1hUl0IiIiohqiH4nOOdF1pBIJ5vdpBAe5BOdSCqHWAl2bOsLDQYbkPA3Wx2YAAFQa3tETEZF1yC78byR6XdCtmSO8HWXIKNDiz2u5lg6HiMhm1I1egIiIiMjKCCGKzYlee9O5KKQSqx7J3crDDu89dB8kAJq5KfDhww3xgK8DAODknQLLBkdERHQPw3QudnXjA3G5VIJBd0ejbzufWWqZ72M4xQsR0b04QScRERFRDchVaVF4d0R1bU/nYu0jufu0ckFbL3t4Ocpgr5DCx0V3SXoptRC5d5MVRERE1iBbVbdGogPA4EBXfHciHUdu5CPAU1liv5VfRhARWUTd6QWIiIiIrIh+KhelTAJ7Rc1dcillEmw/V/pIMmvm66YwtIuLnQyNnOXQCuB0EkejExGR9dCPRHepA0l0mUS3kGgTVwUe8HUEAPx+NRcaToxORFQh2+8FiIiIiKyQfioXJ4UE606l48fTGWWWVUgrLlMeax95borQRvYAgFO3mUQnIiLrkVPHRqLr8+VTu3nBQS7BjSw1Vp5It2xQREQ2oG70AkRERERWJjVfDQBwUkqh0ggUVTDKy5QydVlIQ10S/eSdfAtHQkRE9J+cQt2H4nUlia7Xwl2Jad29AQDLj6fhWobKwhEREVm3utULEBEREVmJ/0ai83LLFKGNdIuLnr5TAK2ovx8mEBGRdalrC4sWN8DfFS3cFdAK4KdzWZYOh4jIqvGujoiIiKgGpN2dE92pjo1cqymtPZRwUkiQWyQMH0AQERFZWl1cWLS44PvsAAC7LmZBpRFYezLNwhEREVmnutkLEBEREVlYat7d6Vw4Et0kMqkEQXendEnMVls4GiIiIp26tLAoAEglwPcx/yXKm7srcJ+THJkFWuy/moOyZpYrfgwRUX1UN3oBIiIiIiuTypHoZmt/ny6JfieHSXQiIrIOOYV1cyS6PikulUgwOMAFQPlTutSBNcyJiKpEbukAiIiIiOqilLtTkjhaYCS6QirBulPpUEgltf7cVYmlvbcuiX6LSXQiIrISOXV0OpfiSfHHAl3x7b/p+CcxH229lHC1r3vzvxMRVVXd6gWIiIjIaixbtgxDhw5FeHg4unTpgokTJyIuLs6oTGFhIWbNmoWIiAiEh4fjlVdeQUpKilGZxMREjBs3DqGhoejSpQs++ugjqNXGSdYjR45gyJAhCAoKQp8+fbB169Yar19FknN1MVrq698qjUBRWd/JrmWmxtLu7rysafkaQ9KiLJvPZFRHaERERGUSQiBHpftQ3Nmu7qZPGrko0MJdAQA4eafAwtEQEVknq+4Fli5dioCAAKOfRx55xLC/Lt94ExER2bqjR49i5MiR2LRpE1auXAm1Wo2xY8ciLy/PUGbu3Ln4448/sHjxYnz//fdISkrCpEmTDPs1Gg3Gjx+PoqIibNiwAfPnz8dPP/2EJUuWGMokJCRg/PjxiIiIwPbt2/Hcc8/h3XffxYEDB2q1vsUVaYRhYVGXOnzTXd28HOVo5Kz7ouT55PJv4lUaAa0Q2HYuEz+dy8Kgtdfwyq6byC8qP/lORERkqkKNgL5bcVbW7dHZIXfXJTmXXAhVOXO3cG50IqqvrH46lzZt2mDlypWGxzLZfx3X3Llz8eeff2Lx4sVwcXHBBx98gEmTJmHDhg0A/rvx9vLywoYNG5CUlIRp06ZBoVBgypQpAP678R4xYgQWLlyI6OhovPvuu/D29kb37t1rt7JERER1yIoVK4wez58/H126dMGZM2fQuXNnZGdnY8uWLVi4cCG6dOkCQNe39+/fHzExMQgLC8PBgwdx+fJlrFy5El5eXmjbti1effVVLFy4EJMmTYJSqcSGDRvg6+uL6dOnAwBatWqF48ePY9WqVWb15RqNxuw66o+599jb2UUAAIUUsJcBuUUCWgkgJIBWa97vQPUeI4QuGyCEFlotSi0jlwA/xKRBIZNAcvdc+noW/11PaIXhsf730p5fUkY7Fz++vbcdbueoEXsnH+GN7Mps69RcNcZtv4GTdwr/a/ccNd777TZCG9pV6u95byx6pdXZFGW9PqydLcZtizEDthm3LcYM1GzcttYWZDr9t6KkEmDb2XToerK6yddVDj93Ba5mFOFccmGZ5Tg3OhHVV1afRJfJZPD29i6x3dpuvPWqegFlqxel1aG+1r2+1huov3VnvetXvQHT6l4f2iU7OxsA4ObmBgA4ffo0ioqK0LVrV0OZVq1awcfHx9CXx8TEwN/fH15eXoYykZGRmDlzJi5fvox27dohJibGcC1QvMzcuXPNii82NrayVStx7OVsGQBnuCm0SEtNRVahBkopYG+nQFZ+kVm/A6iRY9LSM8w6Xmi1OHs2EUl3ZHfrnACNRgOZTIbkZAfExsYDAJKTHXD27E0k3ZHBTi41OrdUJkNsbLzR67348RqNBg009gDsEH05GSHimlE5wAGxZ87il1sKbLuhhFZIYCcVCHQT6NhAhTVX7fDn9TykZOYgWJJg9v+re2PRb0u6ozSqs7mq8tqyJFuM2xZjBmwzbluMGbDduMky9IuKOimkEHU4gQ4AEokETwW5Y8HBZJwtJ4lORFRfWX0S/fr164iMjISdnR3CwsIwdepU+Pj4WN2Nt151XZTV54u7+lr3+lpvoP7WnfWuf+pz3bVaLebOnYsOHTrA398fAJCSkgKFQgFXV1ejsp6enkhOTjaUKd6PAzA8rqhMTk4OCgoKYG9vb1KMwcHBRt94M4VGo0FsbGyJY5Ov5AAXktHE3QGeXs6wU2mhlEmglEnM/h1AtR6jLFQjKy0VHg3cYecMk48HgHbt3HFMlXG3vdwN9T0Tm4ngYDfD7+3aueGYKqPEuSUAgoNblmjH4seLW/nYHH8bNwrtEBbWxqitf99/Fetue+OvhHwAwAO+DpjWzRN/XsvDiGA3NL2UjVl/puBSlhSB7YKgkJmf8Cgei96/mpJ1NkVZrw9rZ4tx22LMgG3GbYsxAzUbt/7cVPfU1UVFy9KvtTMWHExGWr4GyblqeNjX7Q8OiIjMYdVJ9JCQEMybNw9+fn5ITk7GF198gZEjRyIqKsrqbrz1qnpRZqsXpdWhvta9vtYbqL91Z73rV70B0+pe12/AZ82ahUuXLmHdunWWDqVMMpms0q/Ne49NLdDddDd0VkAikUAq1f1U5ncA1XqMRKJLBEgkUkilwuTj9fUs/rueRCoxPFbKpdh5MafU57/3uNKOb9fQERIAyXkaJOVp0dhFNzJerRU4lCTB9dx8KGUSPNTCEXMebqSrkzQfMpkM/QPcsPRoOtLyNTiVpML9vo5m/y2Lx6JXXuymqMpry5JsMW5bjBmwzbhtMWbAduMmy8iuI4uKSiXA2pMVz2XuaieDt6MMyXkaHE/MR5+W5vejRER1lVUn0Xv06GH4PTAwEKGhoejZsyf27NljdnK7tlTXRVl9vrirr3Wvr/UG6m/dWe/6p77Wffbs2di/fz9++OEHNGrUyLDdy8sLRUVFyMrKMvpQPDU11TCVm5eXF06dOmV0Pv0i4sXL3LuweEpKCpydnS12vZCUq7vp9nay6kutGlPegmQVcVRI4eMix81sNbaczcSkCN1gh+XH03E9Vwq5FPioTyPEZ6oMCX89qUSCbs0cEXUhGwfjcyuVRCciItKrSyPRtWV0zfcm2Ju6KZCcp8E/TKITERmxqZ7A1dUVLVq0QHx8vNGNd3H33niXdlMNWPeNNxERUV0ghMDs2bOxb98+rF69Gk2bNjXaHxQUBIVCgejoaMO2uLg4JCYmIiwsDAAQFhaGixcvIjU11VDm0KFDcHZ2RuvWrQ1lDh8+bHTuQ4cOGc5hCUk5agDAfXU8ib7uVDp+PJ1R7eft6OMAANh6Ngu5Ki2O3czDmpOZAID3e3gjsrlTmcdGNtPtO3g9r9rjIiKi+kWfRHdR1u1BEMUT7L6uumuXYzfZjxIRFWdTSfTc3FwkJCTA29u7Tt94ExER1QWzZs3Cjh07sGjRIjg5OSE5ORnJyckoKCgAALi4uGDo0KGYP38+Dh8+jNOnT+Odd95BeHi4oR+OjIxE69at8dZbb+H8+fM4cOAAFi9ejJEjR0Kp1C32OGLECCQkJGDBggW4cuUK1q5diz179mDMmDEWqjlwNllXx7qeRFdpBIrKGtpWBS0bKNDMTYFslRbzDiThvd/vQABo5aJF31bO5R4b4esIqQRIyCrC9QxVtcdGRET1h35h0bowEr0iMgmw/lQafFwUkABIzFYjMbvI0mEREVkNq76z++ijj9CzZ0/4+PggKSkJS5cuhVQqxcCBA41uvN3c3ODs7Iw5c+aUeeP95ptvIjk5udQb77Vr12LBggUYOnQoDh8+jD179mDZsmUWrDkREZHtW79+PQBg9OjRRtvnzZuHJ554AgDwzjvvQCqVYvLkyVCpVIiMjMSMGTMMZWUyGb7++mvMnDkTw4cPh4ODA4YMGYLJkycbyjRt2hTLli3DvHnzsGbNGjRq1Ahz5sxB9+7da6GWpcu+e9Pt7SRDer7aYnHUFoVUgnWn0qGQVs8CZBKJBCND3DHvQDJ+vpwDAGjhrkBXLxXWx2bCTl52MsNJKYWvqwLxmUU4GJ+L5u7KaomJiIjqn7o0nYsptEK34HhDZzlu56jx760C+Fo6KCIiK2HVSfTbt29jypQpyMjIgIeHBzp27IhNmzbBw8MDQN298SYiIqoLLly4UGEZOzs7zJgxw6j/vleTJk2wfPnycs8TERGBbdu2mRtijdAKgdyiuwuLOslxMaXQwhFVD6VMgu3nMsvcr58HvboS6QP8XbDjQhYyC7QYHOiCxwOcseHIdag0AlJp+aPf/RrokuhHb+RjZEiDaomHiIjqn2x9Et3GFxY1VxNXXRL96M18+LIbJSICYOVJ9E8//bTc/XXxxpuIiIhsW0aBxjC3qJejVV9qma0qC4YC/41YB4BnKkhu28mlWDXkv3n0NRqNyc/j46xr97PJBRBClFiAlIiIyBRGI9FF9U9fZq1auClwPLEAf13PQ3/XissTEdUH9evjVCIiIqIapl9U1EEhgVzG5O29VBpR5WR8Rbyc5JBJgYwCLW7n1P3pdIiIqGZkF+o+wHWpJ9O56DV0lqOZmwIFaoF/0xWWDoeIyCrUr56AiIiIqIYl5f53w13e9CdUc+RSCdp42AEAzibXjel0iIio9umnc3Gxk1k4ktolkUgwMMAFABCdosTppAKcuJWPvLvT1RER1UdMohMRERFVo+Q83chnZ6W0xkdcU9naeuuT6AVmHVeg1uJSKhPvREQEpOfrPhh3t69fSXQA6N/GFRIAl3LkGBd1C4cS8vHeb3cg6tG0NkRExTGJTkRERFSN9NO5ONezr35bm3b6JHpSxQnxzWcykF2owUcHkrH8eDqe2ZyAb/5JrekQiYjIymUU6JLoDRzqXxK9obMc9zdxAABoBSAB8Nf1XBy+kW/ZwIiILIR3d0RERETV6E6uLolel+dPVcokVj9VTVtvewDA+ZRCaEsZNbf5TIbhd5VGYPb+JGw+mwn13W+qLz+eju9PptdGqEREZIXUGoGsQl2n0KAOjkSXSYC1J9PKLePXQI5gtyJ80NMbD7d0AgD8e6sAcemq2giRiMiq1N27OyIiIiILiL2jmz7EtY7Pn2rtU9W0aqCEnUyCHJUWCZlFJfYXj/9mVhH2X8uFVAI8HuiClzp7AACWHE7F6TvmTQdTkXWn0rHuFJPzRETWLuPuoqISAK52dTN1oq2gK29gL8ck/3z0aeWMAC87RPjqRqYfu5lXC9EREVmXutkTEBEREVmI/qvfrva8zLIkuUwCfy/dlC7nyllcVAiBA9d1yYDBAa7wa6DE8+EN8Ggb3YJqX1fztC4qjbD6DyCIiAjIuDsfupu9FDKpxMLR1K6yRql3bKxLop+4xSldiKj+4d0dERERUTVRawSy7371262Oj0SvLcWnXTGXfl70U+WMJv/rei5u5ahhL5dgfCfdCHSJRIIJnT0glwJHbuQjMavkSHYiIqrb0vXzodfBqVxMUdoo9XBDEr2AC4wSUb3DJDoRERFRNbmdo4aAbgSXo6J+jVqrKeaO2i4+V3uHuzf7/ySWPWJu7ckMAMDwIDd4OckN231cFHgs0BUAcOQmR9wREdU36XdHohfW028P6QffSyT/Xc+0u88eMgmQlq/B9btTpX0fU/686kREdQWT6ERERETV5Ga27obS1U5qdNNJ1U8hlWDdqXT8eDrDaHvxpHsHH10S/Wq6Cql56hLnOJ9cgBO3CyCVAMOC3Evsfz5cNxo9MVuNtLvJFCIiqh/007M5yCVYf6p+JoplEuC3ZEfDY6VMgobOug+cY+5O6VJPP2MgonqISXQiIiKianLrbhLdhVO5mKS0JLg5VBqBonJWRXO3l6GNpxIAcLyU0egbTutGrbfxUOK+YqPQ9Ro6y/GAry55cCm17HnViYio7tGPRHdUSCtcgLMuU2u0Ro99XHT95Ylb1bvwNhGRtWMSnYiIiKiaJGbrRju72vESyxQVJcGrQ6e7o9HvTaLnqLT45XI2AKBDY3vDdoVUYjQPe7/WugVGL6WqOP8rEVE9op8T3YHTsxnxcVEAAP69lc9+kYjqFd7hEREREVWTRMNIdF5iWYuOPrqR5PfOi37sZj6KtEBIQ3s0upsQ0Cs+JcyDLZwglwKZhVqcS+FodCKi+uK/6VzYpxfXyFkOpUyC2znqchfuJiKqa9gbEBEREVWT/0aiczqX8ihlEqMFQPXzm687lW702NSpXsor36GxPaQSID6zCMm5ur/P7ZwixN698R/fyaPcczsqpGjhrpsS5ufLOSbFQ0REtk8/nQtHouvIJMDak2mwl0vwaBvdt7TWnsqwbFBERLWISXQiIiKiapJYbGFRKp/qnpXIVBphtM3cqV7KKu9iJ0OAlx0AYOPdJPuK4+nQCKCjjwM6N3Go8Nz6edX/iMvhV9eJiOqJ9ALdXOAcif4ffTf7dLAbAGD/1VxkFnDhbSKqH9gbEBEREVWDArUWqXm6G0lXJS+xrMmYsAYAgNUxGZj5xx1sO58FAHipswckEkmFI9+buioglQC3ctS4kVVU5XiUMuN514mIyPpkcCR6mVp52KFLU0cIACc5pQsR1RO8wyMiIiKqBrfuTuWilElgJ+cNd3XRJ7g3n80CpJW7dO3V0hmPB7oCAHZd1C0m2rGxPUIb/TcKvbyR7wqZBI2d5QCAozfzSy1jrntH4hMRkfXQCoHMQs6JXp6RIe4AgLNJhbiRWfUPmImIrB17AyIiIqJqoJ/Kxc1OComESfTqpNIIFFUx6Tylqxfuc5LBTibB+w/dhwdbOJl1vK+rbvHRozfyqhRHTSk+pzwREVVNVoHWMHWJfT3/YFwmlWBDsW9qSSXA9zFpuL+JA5q5yaERwJS9iZYLkIioljCJTkRERFQN9ItWutlzUVFr5KCQYkSQG355zg+DAlzNPt7XTZdE/ycxHxoz5mqvLffOKU9ERJWXfneebzuZBDJp/U6iA4BWa/xYIwCJRIIHmztBKgGuZhTh4PVcywRHRFRLmEQnIiIiqgYdfBzQyccB4Y3sLR0KlUEmlcBRUfHlr34KmeIju+9zksFJKUVWoRYXUgtrMkwiIrKwdM6HbhIPB5nhuufDv5LKXHz7+5i02gyLiKhGMIlOREREVA2auSnx1aAm8GugtHQoNkspk2D7uUxLhwGg5MhuqUSCTj66OdSP3qieedGJiMg6ZRRwPnRTdfKxh1wKpORpcOJW6YuM8otSRFQXsEcgIiIiIqtRW1OS6Eeb/1hsnteK3N9El0SPTuBX1omI6jL9dC4ciV4xB4UUgV52AGA0dzoRUV3DJDoRERER1UsqjUCRGfObd22mW4z05O0CZBdqzH4+dTXPpc7FRImIaoZhOheORDdJaEPdlC5/XsvFzawiC0dDRFQz2CMQEREREZnA11UBvwZKaAQQnZBn8nFFGoGZf9xB5LdXsPJEOvZeykZRNYy452KiREQ1I41zopvF01GGpq5yaAXw7m+3jeZAX3syDbIympFzpRORLWESnYiIiIjqrO3nMs2etqU83Zs5AgAOxpuWRC/SAm//loRdF7OhEUBekcC5FBX+NiMJT0REtet6hgoA4GYns3AktqPT3SnPTicV4naO2rC9vC9h8XNgIrIlTKITERERUZ2lH61tzrQt5YlsrpvS5VB8LjQVnFMrBNZcc8TB+DzIJMCCvo3Qu6Xu+BO3CnDyNhcoJSKyRtfuJtE9HJgyKY1MohthXpyPiwJ9WzkDAA5cz4MQuj5SCGH4vTwclU5E1o49AhERERHVKWUtGmruYqJKmQTbz2UabQtuaA9XOykyC7WIvVNg2F7a/OQr/s3AsTQFpBJggL8Levo5I8DLDu28dQuwzfkzqdrnSScioqrJUWmRlKubzsXDgSPRy3Jv9yWTAE1d5ZBLgVs5asw7kIwjN/Lw/alMrD+dhYz88tcS4ah0IrJ2TKITERERUZ1T1uhzc0el3zvnuFwqQZemuildtp3PMiqnL/vj6XSsOpGOFScyAAAPNndEUzeFoWyPFo6wl0twLaMIv8flmBxLbZLJmDgiovpJP5WLp6MMdlxY1CxOSikebK7rI386l4VJuxKRUaBFSp4G0/bdqpb1QIiILIU9AhERERGRGUYEuQMAdl3MNhqNDgApeWpsO5+NL46mAgAGNClCWy87ozL2cinCG9sDAFbFpJv0Nffa9keyA9bHZlZckIiojrmarkui+7krLRyJbQq6zx4D/J3hotSlmwI8lVBIgX9vFeCTQylGZaMT8tBvzVWsO5UBrRX2hURExTGJTkRERERkhqCG9hgU4AIAWHAwGbezi5Cap8bB67l4fP11XExVQSYF3uzqiaZlJGHCGtrDQS7BpVQVDt+wvkVGC4s0JUbhExHVB1fvjkRvwSR6pbVqoMTwIFesfbIp+rV2xiOtdXOlbz6biTNJug+fN53OwL+3CpCWr8Gn0SnYdi4beUVaS4ZNRFQuJtGJiIiIiCqglEmw+UyG4fHL93vCSSnF+ZRCDFp3HRtOZ+HknUIUqgV8XOR4sp0rBABVGVPA2iukeLytKwDgu39NH41efO51tVbgWoYKm05nIK2CuWbNOS8RUX12Lb0IAODXQFFBSSqPnVwKf0/dN7H8GijRv43uw+dFh1Kw7VwmFt0dld67pTOcFBLcylHj2+NcXJSIrBeT6EREREREJig+MtvTUY65DzeEv6cSMikglegSLosfbYyRwW7wcpQbzf1a2iKlI0MawE4mQcztAvxxNdfkGPKLtFh2LBUr/k3Hros5+PjvFKyPzcSm05lIzC6qdN1qY+Q5k/VEZO2ucSR6pUklZe97OcIT9nIJYu8U4MO/kqEVQKCXEnN7N8QHDzcCAKyLzcCVtMJaipaIyDxMohMRERERmUAhlRglgbs2c8LaJ5vhz+db4sUODdC/jQu6NXOCRFJ6FuHeJHVDZzlGhboDAD47nIJCdcVfY7+dXYSNpzPx7b/pUGsBZ6UUnZs4QCoBkvM0GL/jJm5kVS6RXhtqK1lPRFQZKo0wvIeevG19U23ZKqkE+PlSFp4PbwAAsJNJMDnCEz39dH1mfEYh/NwV0GiB+QeS2U8QkVViEp2IiIiIyESlJYHt5FIoZJJSR5tX5LmwBrjPSYbEbDW++SetzGldsgs1WPh3Mracy0Z6gRYeDjL0a+2MZ0Pd8OXAJhgd6g53eylu56gxIeomknPVla4jEVF9FZ+pglYATkopHOTlDKumCskkwNqT/03PohHAmPAGeLS1MzYMa4bRYQ0gvfuhs1YAkc0dYS/XfTvrtT2JyFVp8X0Mp3chIuvBJDoRERERUTUxd/Scg0KKyQ94AQDWnMzAJ4dSoC52jvR8DdadysATG65j42ldgj7QS4lNw5qhtYfSMOrdWSnF44GuaO6uwJ0cNabsvYV8MxdoU2l0c6yfTymEhmu7EVE9FJemm8rFz11R5reKyDRSiS45brxNgpYeSvi66uabl0mA9ad0iXJXOxkW9WsMR4UEx27m48mN17H/Wi4uc3oXIrIScksHQERERERkS/SLjD7Z3h0AzB59fq9+rV2QmqfBp9Ep2HA6EzsuZMHf0w45Ki2uZqgMCW0/dwWCG9qjqZsCbvayEudxUkqx+FEfPP9TAs6nFOLNX25hbu9GcLUrWVYvo0CDP67mYNu5LNzMVmP5cd1UNVIo0CQ7G+0bOuD+Jg42kUySyWTYcjYLw4IbWDoUIrJRey5lAwDkHG5Y7fQj0xVS4xHq+kS7TAJcSi3AlwOb4I2fbyElT4OUPA2e/jEBXZo6YnSoOzr52EZ/RER1E5PoVubPa7n44qwTZvsWon1DR0uHQ0RERESlEEK3SKaivFXUzDsj+rdxxuEb+UjL1yDmdoFhT1svOzzW1hWPBbjihwoW5fR1VWBhv8Z4eWcijtzIx7NbE/Dy/Z7o5OOIPZey0K+1C25mFeF0UiG2ns1EQlaR0UhBJ6UUMgmQVahFQpYak3YloqOPA17q7IHQRg5VqmGhWguNVpS78FxVFXEeXSKqpGsZKhyMz4MEQEhDe0uHUydpRekj1IuLuZWHp4NccT2zCGeSCnE1owjRCXmITshDgJcdRoW4o3dLZ8hlTKYTUe1iEv0ea9euxYoVK5CcnIzAwEC89957CAkJqbXnv5SmQnyeHLP/TMbaoc3YMRAREZnI0n041T/6qVsqk0jXL1IKAM+ENIBKIxDgZYfwRva4kaVGUp4azgopnO2kmHi/broXU0e8hzZywLePNcG0fbdxM0uNd369Y9j3aXRqifJtPJXwcpChtacSkx/whlqtxvu7LuKO1gXnUgpxPDEfL26/iU4+DnC1k8LXVY4Jnb2gKOU6tfgI/cwCDU7eLsCxm3n4JzEfl+9OkyCXAqeTVHiwhRO6NXOElyNvSYjqO2vowzeczgIAPNjCCe6lfNuHaodWABKJBC0bKNHUTYneLV0wa/9tnE4qxIWUQrz3+x18Gp2CkIb2uM9JjtwiLeRSCZyUUvi6KtCygQJudjI4KaVwUkrhqJBCXko/LYRujROFTGKYm52IqDy8Yi1m9+7dmDdvHmbNmoXQ0FCsXr0aY8eOxd69e+Hp6VkrMTzVzhVrYtIRl16EdbEZeDaMX0clIiKqiDX04UTmUmlEicVIi7RAQ2c5nO2kUN6TpNYn7YsfU9pipvpE9ponmmLViXQcSshDXLougS2B7vx+DZSQQqCZuxJTunpj1Yn/vlovkUjgqgDa+eiS3Ik5Guy8kIV/EvMNZdaeykQDBxnc7GXQhymRSJCap8b62Eyk5WuQoyp9YnW1Fvjrei7+up4LAGh/nx26N3dCWy87uNnLIJdKIISAwH+jFdVaXbKjUC1QqBHIKNAgOVeNlDwNknLVuJGpwp0cJxRp07DseDqauyvRykOJ4Ib2aOOhRDM3JVzspJDdk0gRQkCt1Y2SL9AIFKh1zyOXAvZyKezlEtjLpVBIwSkEiGqINfThuWpgz6UcAIC3I+dysRYyCfDntWw81MIJHRs7QCGXYk1MOtLyNdh/Ldfk89jJJXBSSOGkkEIjBHJUWuSqtNB/eUkpk8BOJoG9XGJYLFwu0X07y91eBo+7/R0ASCRAA3sZ3O0kSMuSwT6lEBKpFELovqUmAEMfBhTfhrvbhNE2iUTX3zgoJHCQ65L+DgpdPOx3iKwLk+jFrFy5EsOGDcPQoUMBALNmzcL+/fuxZcsWjBs3rtxjhdC9HapUKshklf/U2kGqQYibCqczlfjunxT8dCYdcplutFJ9WBy8oNAJ9nHxlg6j1tXXegP1t+6sd93hZi/DW5FeaOhUdpeq0WgAlN9H6Mvo+xMyj6X68NL+tgpooYQWckiggK7zLv7Y3N8rc3x5x9hJNHBUSKGABkqg2p6zxo+XCDjIJFBINJADtf/8lTnexJiFRpT5/EqpBD+eSoVCKoGi2Pbixxh+l0mw+1w65EIYjmnjLoOPkxOEcIJaK/B4WxfIpRL8eiUXGQX/vX71x28/k4a+LR3gqJBCKdHATiHFW13cMTrYCX9ezUPUpWyk5Wqg0gI5BWrkFKhL/L/IuTsTjb0U8HGVwcNehmauCjwf7o49l3OQXaiFk50UhxPycD6lCFdSCnAlpaDEecwlBWAnFRBagWtpBbiWVoDfLmcZlZFLdckShUwClUZApRYwZQYYCXRJGF2CRQKlrHquzYUAClVOsLsSj6rkSmqz5zA1ZmvrzgQECgudIb983ZC8UkolmHS/Bzr4VG2qIvbhVVOVPhyo+r24RqN7T7OTCoQ1VKKJkwQSoYEUMPznKuv38vbVhePlELCTSSCHBlohsUz8d6eAcVEAMokWL4a54HaOGsl5GsOH0Wqt7kPWrEIt0gu0KFQLaEWxxb61AnmFWuQVW6NUIdH9AACEQJEaKFID2TCHE3D5pllHmEoqAezlklJH0d+rov6jOlJJFSX07/mIGkVqZyjOXTPsMaWPq2qc1fEctfG5hbrIGYqL18sMxpQQqhqnac9hzt+8OuIQKCx0gt2V64Y95T2HVAI82d4Nj7R2rlIM5vThTKLfpVKpcObMGYwfP96wTSqVomvXrjhx4kSFx2u1upE2Z8+erXIsL7YCgKrfSNgu0z9Rrlvqa72B+lt31ruuSIpLRpIJ5UzpI/T9CZnOGvrw4sc2NZz43ieqwu/VfYwrAFV29T9nTR/vAECkA0UWev7KHG9OzOU9v6lxFaFc587o/m149wcAYmOBgGLHnz0LdPMAoM417AeA9gDatyn//OW5eeUWQiQA7k41HNYMQLPKn69uscW+0RZjLkVqGmJLznJUKezDzVfVPhyonn68gRJYEHr3Wz13E7d0VwMA2hxLR2GknRMAJ0tHQUQ1w4zri/w0w3VqVZnShzOJfld6ejo0Gk2Jr4t5enoiLi6uwuPlcjmCg4MhlUr5lRsiIjKbEAJarRZyObtmc7EPJyIiS2IfXnlV7cMB9uNERFR55vTh7OWriVQqhVKptHQYREREZCb24URERLaL/TgREdUGrphxV4MGDSCTyZCaavxdvtTUVHh5eVkoKiIiIqoI+3AiIiLbxD6ciIhsBZPodymVSrRv3x7R0dGGbVqtFtHR0QgPD7dgZERERFQe9uFERES2iX04ERHZCk7nUszzzz+PadOmISgoCCEhIVi9ejXy8/PxxBNPWDo0IiIiKgf7cCIiItvEPpyIiGwBk+jF9O/fH2lpaViyZAmSk5PRtm1bfPvtt/waGRERkZVjH05ERGSb2IcTEZEtkAghhKWDICIiIiIiIiIiIiKyRpwTnYiIiIiIiIiIiIioDEyiExERERERERERERGVgUl0IiIiIiIiIiIiIqIyMIlORERERERERERERFQGJtEtYO3atejVqxeCg4Px1FNP4dSpU+WW37NnDx555BEEBwdj0KBB+PPPP2sp0upnTt03bdqEZ555Bp07d0bnzp0xZsyYCtvKWpn7N9fbtWsXAgICMHHixBqOsGaYW++srCzMmjULkZGRCAoKQr9+/Wz29W5u3VetWoV+/fohJCQEPXr0wNy5c1FYWFhL0VaPY8eOYcKECYiMjERAQAB+/fXXCo85cuQIhgwZgqCgIPTp0wdbt26thUirl7n1/uWXX/D888/jgQceQIcOHTB8+HAcOHCglqIlc9lqn21O3Fu3bkVAQIDRT3BwcC1Ga7vvH+bGfeTIkRJtHRAQgOTk5FqKGFi2bBmGDh2K8PBwdOnSBRMnTkRcXFyFx1nytV2ZmK3hdb1u3ToMGjQIHTp0MLzfV9Ru1vAeYm7c1tDW9/rmm28QEBCADz/8sNxy1tDeZFmVvU+zVkuXLi3x//GRRx4x7C8sLMSsWbMQERGB8PBwvPLKK0hJSTE6R2JiIsaNG4fQ0FB06dIFH330EdRqtVEZU/pgS7dtRX20EAKfffYZIiMjERISgjFjxuDatWtGZTIyMjB16lR06NABnTp1wjvvvIPc3FyjMufPn8czzzyD4OBg9OjRA8uXLy8RS0XvNabEUp0qapvp06eXeB2NHTvWqExdbRtTrjms6f+RKbFUF1PaZvTo0SVeO++//75RGZtuG0G1ateuXaJ9+/Zi8+bN4tKlS+Ldd98VnTp1EikpKaWWP378uGjbtq1Yvny5uHz5svj0009F+/btxYULF2o58qozt+5TpkwRP/zwgzh79qy4fPmymD59uujYsaO4fft2LUdeNebWWy8hIUF0795dPPPMM+Kll16qpWirj7n1LiwsFE888YT43//+J/755x+RkJAgjhw5Is6dO1fLkVeduXXfsWOHCAoKEjt27BAJCQniwIEDolu3bmLu3Lm1HHnV7N+/X3zyySfil19+Ef7+/mLfvn3llo+PjxehoaFi3rx54vLly+L7778Xbdu2FX/99VctRVw9zK33nDlzxDfffCNOnjwprl69KhYtWiTat28vzpw5U0sRk6lstc82N+4tW7aIDh06iKSkJMNPcnJyrcZsq+8f5sZ9+PBh4e/vL+Li4ozaW6PR1FLEQrzwwgtiy5Yt4uLFi+LcuXPif//7n3jooYdEbm5umcdY+rVdmZit4XX922+/if3794urV6+KuLg48cknn4j27duLixcvllre0u1c2bitoa2LO3nypOjZs6cYNGiQmDNnTpnlrKW9yXIqe59mzZYsWSIGDBhg9P8xNTXVsP/9998XPXr0EIcOHRKxsbFi2LBhYvjw4Yb9arVaDBw4UIwZM0acPXtW7N+/X0RERIhFixYZypjSB1tD21bURy9btkx07NhR7Nu3T5w7d05MmDBB9OrVSxQUFBjKjB07VgwePFjExMSIY8eOiT59+ogpU6YY9mdnZ4uuXbuKqVOniosXL4qdO3eKkJAQsWHDBkMZU95rTImlNttm2rRpYuzYsUavo4yMDKMydbVtTLnmsKb/RxXFUtttM2rUKPHuu+8avXays7PrTNswiV7LnnzySTFr1izDY41GIyIjI8WyZctKLf/qq6+KcePGGW176qmnxHvvvVejcdYEc+t+L7VaLcLDw8VPP/1UQxHWjMrUW61Wi+HDh4tNmzaJadOm2WQS3dx6r1u3Tjz88MNCpVLVVog1xty6z5o1Szz77LNG2+bNmydGjBhRo3HWJFOS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T5GYmAgnJydERERg48aNJZLipTl9+jTOnz+PDz74oMQ+FxcXdOnSBZs3bzbchB09ehSPP/64Ubknn3wSH374YZXrQzUrIiICFy5cKHO/fpHQyZMnl1lmwIABJi+qR0R1mzVeMzRt2hRbt27F119/jY8++ghJSUnw8PBA+/btS6xPcq/WrVujW7duWLJkCZYvX27Y/sgjj5Qou3HjRsM6EJcuXUJkZCRkMhlcXFzQqlUrjBs3Ds888wyUSmV1Vo/qserowxs2bIilS5fWRHhEZMWsrb82JZ7z58+Xeq/t5+eHoUOHYuPGjRU+zxtvvIERI0YYbZPL5VixYgU+/fRTTJ06FWlpafD19cWzzz6L559/vvKVIrIRElGTqwcSEREREREREREREdkwzolORERERERERERERFQGTudCZMMSExPLnRpi165ddXZxjx07dpQ537qPjw927dpVyxERERFZr/p8zUBERGQr2F8TWS9O50Jkw9RqdYkVs4tr0qQJ5PK6+VlZTk4OUlNTS90nl8vRpEmTWo6IiIjIetXnawYiIiJbwf6ayHoxiU5EREREREREREREVAbOiU5EREREREREREREVAYm0YmIiIiIiIiIiIiIysAkOhERERERERERERFRGZhEJyIiIiIiIiIiIiIqA5PoRERERERERERERERlYBKdiIiIiIiIiIiIiKgMTKITEREREREREREREZWBSXQiIiIiIiIiIiIiojIwiU5EREREREREREREVAYm0YmIiIiIiIiIiIiIysAkOhERERERERERERFRGZhEJyIiIiIiIiIiIiIqA5PoRERERERERERERERlYBKdiIiIiIiIiIiIiKgMcksHQGSL1q5di9mzZyMkJAQ//vhjif0BAQEAgCeffBIffvhhif2ffvopvv76awBAdHQ0Ll26hGeffdak575w4YLJcapUKmzcuBG7d+/G5cuXkZ+fD3d3dwQFBWHgwIF49NFHIZPJjI5JT0/HN998g99//x2JiYlwcHBAcHAwRo0ahZ49e5b6POYcc+PGDTz88MOGx3K5HM7OzvDz88P999+PESNGwMfHp8Rz3LhxA1988QWOHTuGO3fuwNXVFS1atEBERAQmT55scpts3boVb7/9tuGxUqmEj48PunXrhokTJ8LLywsAcOTIEaO/iVQqhbu7Ozp37oxXX30VrVq1Mjrv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8OBK5wdMce7cuVLboUmTJiWS6DNnzgQA2NnZoUGDBmjbti3mzp2LQYMGVWkhc6rfJKK0OQaIiIiIiIiIiIiIiIhzohMRERERERERERERlYXTuRDZEI1Gg7S0tHLLODo6wsnJqZYish65ubnIy8srt4yHhwe/Gk5ERFSKjIyMUhfx1pPJZPDw8KjFiIiIiOou9rtEtofTuRDZkBs3buDhhx8ut8ykSZPwyiuv1FJE1mPp0qX4/PPPyy3z22+/wdfXt5YiIiIish2jR4/G0aNHy9zfpEkT/P7777UYERERUd3FfpfI9jCJTmRDCgsLcfz48XLLNG3atNYX2rQGCQkJSEhIKLdMx44dYWdnV0sRERER2Y7Tp08jKyurzP12dnbo2LFjLUZERERUd7HfJbI9TKITEREREREREREREZWBC4sSEREREREREREREZWBC4tWE61WC7VaDalUColEYulwiIjIxgghoNVqIZfLIZXyM+7axD6ciIiqgn24ZbEfJyKiyjKnD2cSvZqo1WrExsZaOgwiIrJxwcHBUCqVlg6jXmEfTkRE1YF9uGWwHycioqoypQ9nEr2a6D+tCA4OhkwmM+tYjUaD2NjYSh1rKbYYM2CbcdtizIBtxm2LMQO2GbctxgzUbNz6c3MEW+2rSh9eEVt9rZelLtWnLtUFqFv1YV2sV12qT3XWhX24ZdVkP24uW/4/YsuxA4zfkmw5doDxW5I1xG5OH84kejXRf21MJpNV+g9flWMtxRZjBmwzbluMGbDNuG0xZsA247bFmIGajZtfQ6591dGHV8RWX+tlqUv1qUt1AepWfVgX61WX6lOddWEfbhm10Y+by5piMZctxw4wfkuy5dgBxm9J1hC7KX04PyonIiIiIiIiIiIiIioDk+hERERERERERERERGVgEp2IiIiIiIiIiIiIqAxMohMRERERERERERERlYFJdCIiIiIiIiIiIiKiMjCJTkRERERERERERERUBibRiYiIiIiIiIiIiIjKwCQ6EREREREREREREVEZmEQnIiIiIiIiIiIiIioDk+hERERERERERERERGVgEp2IiIiIiIiIiIiIqAxMohMRERERERERERERlYFJdCIiIiIiIiIiIiKiMjCJTkRERERERERERERUBosm0detW4dBgwahQ4cO6NChA4YPH44///zTsH/06NEICAgw+nn/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yZMns3r16nNi2bJlC9/97nfJzMzk+uuv59133w36/naWVwtOhToEERER6SR7TjoA6J+gxURFRM7Uy+pLotvrPDicWitCREREOk9Ik+g1NTWMHDmSBQsWNPn46tWrefHFF1m4cCGvvfYaMTExzJw5k7q6usCYBx54gEOHDrF27VpWrlzJhx9+yCOPPBJ4vKqqipkzZ9K/f39ef/115s6dy+9+9zteffXVwJiPP/6Y+++/nx/84Ads2rSJb3/729xzzz0cOHCg83Y+iJweb6hD6LZ0gkJEREJtT7EviT4gMSrEkYiIhJcYs5FokwGAL+3OEEcjIiIi3VlIf41NnjyZyZMnN/mY1+tl3bp13HXXXVx55ZUAPPHEE0ycOJGtW7dy3XXXUVhYyLZt2/jjH/9IZmYmAA8//DB33nknc+fOpW/fvvz5z3/G6XSyZMkSLBYLw4cPZ9++faxdu5Zp06YBsG7dOiZNmsT//M//APDTn/6U7du389JLL/Hoo4+2aZ/c7rb34/Nv055tATyec7c9+76mxnTkOYIRc0e2P9+cLc3X1rjrXN6gxtgeHX2tQyUS447EmCEy447EmKFz446010K6RmmNi6JKFwagX3wUVU6dOBcROVOy1cjJajdflNczMjU61OGIiIhINxW2JU1Hjx6lpKSEiRMnBu5LSEhg7Nix7N69m+uuu47du3eTmJgYSKADTJw4EaPRSH5+PldddRV5eXlcdtllWCyWwJicnBxWr16N3W4nKSmJvLw8br/99kbPn5OTc057mdYoKCho+852YFuj0UhJcQz5+V/iachMn31fU2M6+hwdjfnkSd8X3Pz8r9oVU1tibEpr4u7o6xZsHXlvhVIkxh2JMUNkxh2JMUPkxi2Rx9/KJaO3hegoI1VOnWwRETlTcozJl0Q/VR/qUERERKQbC9skeklJCQApKSmN7k9JSaG0tBSA0tJSevfu3ejxqKgokpKSAtuXlpYycODARmNSU1MDjyUlJVFaWhq4r6nnaYvMzExMprYt/OV2uykoKGjXtgAF+XbGjElq9r6mxnTkOToa88fucgDGjElud0xna80+tjXujr5uwdDR1zpUIjHuSIwZIjPuSIwZOjdu/9wiZypoSKKP7mMNcSQiIuEpuaEv+hflauciIiIinSdsk+iRymQytTux0t5tjUbO2e7s+5oa09HngI7F7N8+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\n",
      "text/plain": [
       "<Figure size 1500x900 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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KyutqzxFIiIiIBaLsWnTJp23S0RERFQd8IpFFSkoKMCDBw80HjcbHx+PLl26ICQkBAMGDEBgYCCaNm2qsV69evWwZMkSHDt27IVns6OiotCqVSt4e3ujbt26yMzMxNKlS9GoUSM4OzuXK+6ePXti4cKF2LJlC8aMGSO0Z2dn48GDBxp9zczMULt2bQQFBeHgwYOIjo7GuHHj4O/vDxsbG9y9exf79u0r9SxBREQEgoKC4OHhASsrK2RkZGDp0qXw8fHR62ZuU1NThIaGYsWKFejWrRvkcrne+X5eUFAQ0tLSEBMTgw8++AC+vr7Izc3FN998gyNHjmD58uXCE6GeV6tWLbz33nuYM2dOeXeRiIiIyKBYWFSRY8eOwc/PD1KpFJaWlnBzc8P06dPRv39/XL58GVeuXNF6+R3w9EZnX19fyOXyF37R9fPzQ2pqKuLj45GTkwNbW1u0b98e7777rnAfga6kUinCw8Px1VdfYejQocIX49jYWK2+kydPxrhx4yASibBs2TLs2LEDSUlJWLduHQoLC/H666/D19e32HWf3YeUlBR89tlnyMvLg52dHTp37qzz/RXFCQ8Px4YNG/Dll19WSL6fV7TfGzduxMaNGxEXF4datWqhZcuW2LRp0wtvQO/fvz8SEhLw+++/67RdIiIioupApC7P3aZEVG0olUpcuHABLVu25JxRHTF3hsPcGxbzbzhKpRISiQQPJ46BIuOaocN56UhdmqLusnXlWpfHffnokjdesSAiIiKqYlLH4h+AQqVj3qo3FhaviLt37yIoKKjE5UXvoCAiIqLKpVIoYDVlpqHDeGmpVUqIxLziUB2xsHhF2NnZISUlpdTlREREVPl+vXwZ7u7unI5TTiwqqi8WFq8IqVRa4nsniIiIqOoUFhYaOgSiSsH3WBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERERkd5YWBARERFVISMjI0OHQFQpWFgQERERVSGP5s0hkUgMHYZArVIaOgSqIaSGDoCIiIjoVSKWSpG1eA4UmbcMHQqkjk6wmjLT0GFQDcHCgoiIiKiKKTJvQZFxzdBhEFUoToV6xT148ABz585F165d4eHhgU6d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\n",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ AŞAMA 7 tamamlandı.\n"
     ]
    }
   ],
   "source": "if df is None:\n    raise ValueError(\"Veri yok. AŞAMA 5/6 çalıştırın.\")\n\nprint(\"=== Genel Bilgi ===\")\nprint(f\"Şekil: {df.shape}\")\nprint(f\"Sütun sayısı: {df.shape[1]}\")\nprint(f\"Eksik değer oranı (ortalama): {df.isnull().mean().mean():.2%}\")\n\nif \"TARGET\" in df.columns:\n    print(\"\\nSınıf dağılımı (TARGET):\")\n    print(df[\"TARGET\"].value_counts(normalize=True))\n\n# Sayısal özelliklerden bir örnek set\nnum_candidates = [\n    \"AMT_INCOME_TOTAL\", \"AMT_CREDIT\", \"AMT_ANNUITY\", \"AMT_GOODS_PRICE\",\n    \"DAYS_BIRTH\", \"DAYS_EMPLOYED\", \"DAYS_REGISTRATION\", \"DAYS_ID_PUBLISH\",\n    \"CNT_CHILDREN\", \"CNT_FAM_MEMBERS\", \"REGION_POPULATION_RELATIVE\",\n    \"EXT_SOURCE_1\", \"EXT_SOURCE_2\", \"EXT_SOURCE_3\",\n]\nnum_exist = [c for c in num_candidates if c in df.columns]\nprint(f\"\\nMevcut ana sayısal özellikler ({len(num_exist)}): {num_exist}\")\n\nif num_exist and \"TARGET\" in df.columns:\n    display(df[num_exist + [\"TARGET\"]].describe().T)\n\n    fig, axes = plt.subplots(2, 3, figsize=(15, 9))\n    axes = axes.ravel()\n    for i, col in enumerate(num_exist[:6]):\n        sns.histplot(df[col].dropna(), kde=True, ax=axes[i], color=\"#3498db\")\n        axes[i].set_title(col)\n    for j in range(len(num_exist[:6]), 6):\n        axes[j].axis(\"off\")\n    plt.tight_layout()\n    plt.show()\n\n    # Korelasyon (TARGET ile)\n    corr_cols = num_exist + [\"TARGET\"]\n    corr = df[corr_cols].corr()[\"TARGET\"].drop(\"TARGET\").sort_values()\n    plt.figure(figsize=(8, 5))\n    corr.plot(kind=\"barh\", color=\"#e74c3c\")\n    plt.title(\"TARGET ile Korelasyon (seçili özellikler)\")\n    plt.tight_layout()\n    plt.show()\n\nprint(\"✅ AŞAMA 7 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage8-md",
   "metadata": {
    "id": "stage8-md"
   },
   "source": "## AŞAMA 8: Anonimleştirme (Privacy)\n"
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "stage8-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 1179,
     "status": "ok",
     "timestamp": 1788501304978,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage8-code",
    "outputId": "29318aa5-90f4-4a48-87ae-1c5ce9061ebf"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Örnek maskeli ID:\n",
      "   SK_ID_CURR SK_ID_CURR_masked\n",
      "0      100002      d0307bbec9e4\n",
      "1      100003      0095c8f449a7\n",
      "2      100004      ba8846ba88d7\n",
      "✅ AŞAMA 8 tamamlandı.\n"
     ]
    }
   ],
   "source": "def mask_id(val, salt=\"homecredit_highq_salt\"):\n    return sha256(f\"{salt}{val}\".encode()).hexdigest()[:12]\n\ndf_anon = df.copy()\nif \"SK_ID_CURR\" in df_anon.columns:\n    df_anon[\"SK_ID_CURR_masked\"] = df_anon[\"SK_ID_CURR\"].astype(str).apply(mask_id)\n    print(\"Örnek maskeli ID:\")\n    print(df_anon[[\"SK_ID_CURR\", \"SK_ID_CURR_masked\"]].head(3))\nelse:\n    print(\"SK_ID_CURR yok — anonimleştirme atlandı.\")\n\nprint(\"✅ AŞAMA 8 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage9-md",
   "metadata": {
    "id": "stage9-md"
   },
   "source": "## AŞAMA 9: Ön İşleme + Feature Engineering (Temel)\n\nAna tablo üzerinden:\n- Eksik değer imputasyonu\n- Basit türetilmiş özellikler (oranlar, yaş, istihdam süresi)\n- Label encoding (kategorikler için sınırlı)\n- Train/Test split (stratified)\n\nYüksek boyut genişletme **AŞAMA 12**’de yapılacak (poly + tile/PCA → `TARGET_QUBITS`).\n"
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "stage9-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 3869,
     "status": "ok",
     "timestamp": 1788501317632,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage9-code",
    "outputId": "b1cf6254-dbc8-4614-f9c8-6d6777726e4d"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Kullanılan özellik sayısı: 21\n",
      "['AMT_INCOME_TOTAL', 'AMT_CREDIT', 'AMT_ANNUITY', 'AMT_GOODS_PRICE', 'DAYS_BIRTH', 'DAYS_EMPLOYED', 'DAYS_REGISTRATION', 'DAYS_ID_PUBLISH', 'CNT_CHILDREN', 'CNT_FAM_MEMBERS', 'REGION_POPULATION_RELATIVE', 'EXT_SOURCE_1', 'EXT_SOURCE_2', 'EXT_SOURCE_3', 'HOUR_APPR_PROCESS_START', 'OWN_CAR_AGE', 'CREDIT_INCOME_RATIO', 'ANNUITY_INCOME_RATIO', 'CREDIT_GOODS_RATIO', 'AGE_YEARS', 'EMPLOYED_YEARS']\n",
      "Train: (230633, 21) | Test: (76878, 21)\n",
      "Train default: 8.07% | Test: 8.07%\n",
      "✅ AŞAMA 9 (temel) tamamlandı. Yüksek boyut genişletme AŞAMA 12'de yapılacak.\n"
     ]
    }
   ],
   "source": "TARGET = \"TARGET\"\nif TARGET not in df.columns:\n    raise ValueError(\"TARGET sütunu bulunamadı. application_train.csv kullandığınızdan emin olun.\")\n\n# --- Temel sayısal özellik seti ---\nBASE_NUM = [\n    \"AMT_INCOME_TOTAL\", \"AMT_CREDIT\", \"AMT_ANNUITY\", \"AMT_GOODS_PRICE\",\n    \"DAYS_BIRTH\", \"DAYS_EMPLOYED\", \"DAYS_REGISTRATION\", \"DAYS_ID_PUBLISH\",\n    \"CNT_CHILDREN\", \"CNT_FAM_MEMBERS\", \"REGION_POPULATION_RELATIVE\",\n    \"EXT_SOURCE_1\", \"EXT_SOURCE_2\", \"EXT_SOURCE_3\",\n    \"HOUR_APPR_PROCESS_START\", \"OWN_CAR_AGE\",\n]\nBASE_NUM = [c for c in BASE_NUM if c in df.columns]\n\nwork = df[BASE_NUM + [TARGET]].copy()\n\n# Türetilmiş özellikler\nif \"AMT_CREDIT\" in work.columns and \"AMT_INCOME_TOTAL\" in work.columns:\n    work[\"CREDIT_INCOME_RATIO\"] = work[\"AMT_CREDIT\"] / (work[\"AMT_INCOME_TOTAL\"] + 1)\nif \"AMT_ANNUITY\" in work.columns and \"AMT_INCOME_TOTAL\" in work.columns:\n    work[\"ANNUITY_INCOME_RATIO\"] = work[\"AMT_ANNUITY\"] / (work[\"AMT_INCOME_TOTAL\"] + 1)\nif \"AMT_CREDIT\" in work.columns and \"AMT_GOODS_PRICE\" in work.columns:\n    work[\"CREDIT_GOODS_RATIO\"] = work[\"AMT_CREDIT\"] / (work[\"AMT_GOODS_PRICE\"] + 1)\nif \"DAYS_BIRTH\" in work.columns:\n    work[\"AGE_YEARS\"] = (-work[\"DAYS_BIRTH\"] / 365.25).clip(0, 100)\nif \"DAYS_EMPLOYED\" in work.columns:\n    # Anomalileri (pozitif değerler) NaN yap\n    work.loc[work[\"DAYS_EMPLOYED\"] > 0, \"DAYS_EMPLOYED\"] = np.nan\n    work[\"EMPLOYED_YEARS\"] = (-work[\"DAYS_EMPLOYED\"] / 365.25).clip(0, 60)\n\nFEATURE_COLS = [c for c in work.columns if c != TARGET]\nprint(f\"Kullanılan özellik sayısı: {len(FEATURE_COLS)}\")\nprint(FEATURE_COLS)\n\nX = work[FEATURE_COLS]\ny = work[TARGET].astype(int)\n\n# Impute + scale (klasik modeller için)\nimputer = SimpleImputer(strategy=\"median\")\nX_imp = imputer.fit_transform(X)\n\nX_train_base, X_test_base, y_train, y_test = train_test_split(\n    X_imp, y, test_size=0.25, random_state=42, stratify=y\n)\n\nscaler_cls = StandardScaler()\nX_train_sc = scaler_cls.fit_transform(X_train_base)\nX_test_sc = scaler_cls.transform(X_test_base)\n\nprint(f\"Train: {X_train_base.shape} | Test: {X_test_base.shape}\")\nprint(f\"Train default: {y_train.mean():.2%} | Test: {y_test.mean():.2%}\")\nprint(\"✅ AŞAMA 9 (temel) tamamlandı. Yüksek boyut genişletme AŞAMA 12'de yapılacak.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage10-md",
   "metadata": {
    "id": "stage10-md"
   },
   "source": "## AŞAMA 10: Klasik Baseline\n"
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "stage10-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 338630,
     "status": "ok",
     "timestamp": 1788501665948,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage10-code",
    "outputId": "1f237e1a-b854-47cf-d770-109d20c8a209"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Class balance → neg=212014, pos=18619, scale_pos_weight≈11.4\n",
      "Logistic Regression    | AUC=0.7329  F1=0.2501  Recall=0.6608\n",
      "Random Forest          | AUC=0.7388  F1=0.2640  Recall=0.5994\n",
      "SVM (RBF)              | AUC=0.6983  F1=0.2390  Recall=0.5537\n",
      "XGBoost                | AUC=0.7506  F1=0.2664  Recall=0.6666\n",
      "\n",
      "✅ AŞAMA 10 tamamlandı.\n"
     ]
    }
   ],
   "source": "neg, pos = (y_train == 0).sum(), (y_train == 1).sum()\nscale_pos = neg / max(pos, 1)\nprint(f\"Class balance → neg={neg}, pos={pos}, scale_pos_weight≈{scale_pos:.1f}\")\n\nmodels = {\n    \"Logistic Regression\": LogisticRegression(\n        max_iter=1000, class_weight=\"balanced\", random_state=42\n    ),\n    \"Random Forest\": RandomForestClassifier(\n        n_estimators=200, max_depth=10, class_weight=\"balanced\", random_state=42, n_jobs=-1\n    ),\n    \"SVM (RBF)\": SVC(\n        kernel=\"rbf\", probability=True, class_weight=\"balanced\", random_state=42\n    ),\n    \"XGBoost\": XGBClassifier(\n        n_estimators=200, max_depth=5, learning_rate=0.08,\n        scale_pos_weight=scale_pos, eval_metric=\"logloss\",\n        random_state=42, verbosity=0, n_jobs=-1\n    ),\n}\n\n# SVM büyük veri setinde yavaş olabilir → küçük alt örnek ile eğit\nresults = {}\nfor name, model in models.items():\n    if name == \"SVM (RBF)\" and len(y_train) > 8000:\n        rng = np.random.RandomState(42)\n        idx = rng.choice(len(y_train), 8000, replace=False)\n        model.fit(X_train_sc[idx], y_train.iloc[idx] if hasattr(y_train, \"iloc\") else y_train[idx])\n    else:\n        model.fit(X_train_sc, y_train)\n\n    y_pred = model.predict(X_test_sc)\n    y_prob = model.predict_proba(X_test_sc)[:, 1] if hasattr(model, \"predict_proba\") else y_pred.astype(float)\n    results[name] = {\n        \"model\": model,\n        \"accuracy\": accuracy_score(y_test, y_pred),\n        \"precision\": precision_score(y_test, y_pred, zero_division=0),\n        \"recall\": recall_score(y_test, y_pred, zero_division=0),\n        \"f1\": f1_score(y_test, y_pred, zero_division=0),\n        \"roc_auc\": roc_auc_score(y_test, y_prob),\n        \"y_pred\": y_pred,\n        \"y_prob\": y_prob,\n    }\n    print(f\"{name:22s} | AUC={results[name]['roc_auc']:.4f}  F1={results[name]['f1']:.4f}  Recall={results[name]['recall']:.4f}\")\n\nprint(\"\\n✅ AŞAMA 10 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage11-md",
   "metadata": {
    "id": "stage11-md"
   },
   "source": "## AŞAMA 11: QML Algoritma Seçimi\n\n- **QSVC**: Kernel tabanlı; yüksek qubit’te O(n²) maliyeti çok artar → orta subset + orta qubit.\n- **VQC**: Parametrik devre; daha fazla qubit ile daha zengin ansatz denenebilir (**önerilen yüksek-qubit yolu**).\n"
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "stage11-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 48,
     "status": "ok",
     "timestamp": 1788501786994,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage11-code",
    "outputId": "c73de3ba-5fbd-42dc-f036-7f77e52a1754"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SELECTED_PROBLEM  = Machine Learning\n",
      "SELECTED_HARDWARE = Superconducting Qubits\n",
      "SELECTED_ALGO     = VQC\n",
      "SELECTED_DEVICE   = ibm_or_aer\n",
      "\n",
      "💡 İpucu: TARGET_QUBITS ≥ 12 ise VQC tercih edin (AŞAMA 2'den değiştirilebilir).\n",
      "✅ AŞAMA 11 tamamlandı.\n"
     ]
    }
   ],
   "source": "print(f\"SELECTED_PROBLEM  = {SELECTED_PROBLEM}\")\nprint(f\"SELECTED_HARDWARE = {SELECTED_HARDWARE}\")\nprint(f\"SELECTED_ALGO     = {SELECTED_ALGO}\")\nprint(f\"SELECTED_DEVICE   = {SELECTED_DEVICE}\")\n\nif SELECTED_ALGO not in (\"QSVC\", \"VQC\"):\n    print(\"⚠️ Detaylı hat QSVC/VQC için. VQC ile devam.\")\n    SELECTED_ALGO = \"VQC\"\n\nprint(\"\\n💡 İpucu: TARGET_QUBITS ≥ 12 ise VQC tercih edin (AŞAMA 2'den değiştirilebilir).\")\nprint(\"✅ AŞAMA 11 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage12-md",
   "metadata": {
    "id": "stage12-md"
   },
   "source": "## AŞAMA 12: Max-Qubit Encoding & Kaynak Planlama\n\n### Kritik parametre: `TARGET_QUBITS`\n\n| Ortam | Önerilen TARGET_QUBITS | Not |\n|-------|------------------------|-----|\n| **Colab / laptop (Statevector)** | **6–10** | 2^n bellek; 12 üstü patlar |\n| Aer shot-based | 12–16 (max ~20) | Yaklaşık, yavaş |\n| Gerçek IBM QPU | 16–50+ (deneysel) | `use_real_hardware=True` şart |\n| 50–100 qubit klasik simülasyon | **İMKÂNSIZ** | 2^50 ≈ 16 PiB RAM |\n\n### Neden 50 qubit Colab’da çöküyor?\n\n`StatevectorSampler` tüm 2^n genliği belleğe alır.  \nn=50 → 2^50 ≈ 1.13×10^15 complex128 ≈ **16 PiB** → `MemoryError`.\n\nBu hücre otomatik olarak:\n1. `TARGET_QUBITS > 20` ise 20’ye düşürür (klasik simülasyon tavanı)\n2. `> 12` ise Statevector yerine **AerSampler (shots)** seçer\n3. Gerçek 50–100+ qubit için AŞAMA 16’da IBM backend ister\n"
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "stage12-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 4081,
     "status": "ok",
     "timestamp": 1788501797601,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage12-code",
    "outputId": "33bd6d32-fd3a-43b4-e0b2-1e594f6cdeab"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "============================================================\n",
      "KAYNAK PLANI — GERÇEK QPU ÖNCELİKLİ\n",
      "============================================================\n",
      "İstenen TARGET_QUBITS     = 27\n",
      "MAX_TRAIN_SAMPLES_Q       = 40  (yüksek qubit → küçük subset)\n",
      "MAX_TEST_SAMPLES_Q        = 20\n",
      "\n",
      "Not: Gerçek backend bağlanınca (AŞAMA 16) n_qubits backend kapasitesine göre\n",
      "     min(TARGET_QUBITS, backend.num_qubits) olarak kilitlenecek.\n",
      "Şimdilik planlanan n_qubits = 27\n",
      "USE_STATEVECTOR (yalnızca Aer için) = False\n",
      "Polynomial sonrası boyut: 252\n",
      "Feature resize (PCA): → 27\n",
      "Planlanan n_qubits = 27\n",
      "\n",
      "Quantum train subset: (40, 27) | default: 50.00%\n",
      "Quantum test  subset: (20, 27) | default: 30.00%\n",
      "\n",
      "💡 AŞAMA 16'da gerçek backend seçilince n_qubits backend'e göre güncellenebilir.\n",
      "✅ AŞAMA 12 tamamlandı.\n"
     ]
    }
   ],
   "source": "# ============================================================\n# AŞAMA 12: MAX-QUBIT ENCODING (GERÇEK IBM QPU ODAKLI)\n# ============================================================\n#\n# Öğrenci demosu stratejisi:\n#   - Gerçek IBM backend varsa → backend.num_qubits kadar (veya TARGET) kullan\n#   - Yoksa → güvenli simülasyon tavanı (≤12 statevector / ≤20 shots)\n#   - Yüksek qubit = daha zengin Hilbert uzayı; örnek sayısı yine küçük tutulur\n#     (QPU kuyruk + gürültü + süre). Bu \"max qubit gücü\"nü göstermek için doğru yoldur.\n#\n\n# ========== KULLANICI AYARI ==========\nTARGET_QUBITS = 27          # İstek: mümkün olan en yüksek. Backend daha azsa otomatik düşer.\nUSE_POLY_FEATURES = True\nPOLY_DEGREE = 2\nMAX_TRAIN_SAMPLES_Q = 40    # Yüksek qubit demosunda KÜÇÜK tutun (QPU süresi)\nMAX_TEST_SAMPLES_Q = 20\n# =====================================\n\n# Simülasyon güvenlik tavanları (sadece Aer yolu için)\nSTATEVECTOR_SAFE_MAX = 12\nSHOT_BASED_SAFE_MAX = 20\n\nprint(\"=\" * 60)\nprint(\"KAYNAK PLANI — GERÇEK QPU ÖNCELİKLİ\")\nprint(\"=\" * 60)\nprint(f\"İstenen TARGET_QUBITS     = {TARGET_QUBITS}\")\nprint(f\"MAX_TRAIN_SAMPLES_Q       = {MAX_TRAIN_SAMPLES_Q}  (yüksek qubit → küçük subset)\")\nprint(f\"MAX_TEST_SAMPLES_Q        = {MAX_TEST_SAMPLES_Q}\")\n\nUSE_STATEVECTOR = TARGET_QUBITS <= STATEVECTOR_SAFE_MAX\nprint(f\"\\nNot: Gerçek backend bağlanınca (AŞAMA 16) n_qubits backend kapasitesine göre\")\nprint(\"     min(TARGET_QUBITS, backend.num_qubits) olarak kilitlenecek.\")\nprint(f\"Şimdilik planlanan n_qubits = {TARGET_QUBITS}\")\nprint(f\"USE_STATEVECTOR (yalnızca Aer için) = {USE_STATEVECTOR}\")\n\n# --- Feature expansion ---\nX_tr = X_train_base.copy()\nX_te = X_test_base.copy()\n\nif USE_POLY_FEATURES:\n    poly = PolynomialFeatures(degree=POLY_DEGREE, include_bias=False, interaction_only=False)\n    X_tr = poly.fit_transform(X_tr)\n    X_te = poly.transform(X_te)\n    print(f\"Polynomial sonrası boyut: {X_tr.shape[1]}\")\n\ndef _resize_features(Xtr, Xte, n_target):\n    n_feat = Xtr.shape[1]\n    if n_feat > n_target:\n        pca = PCA(n_components=n_target, random_state=42)\n        return pca.fit_transform(Xtr), pca.transform(Xte), \"PCA\"\n    if n_feat < n_target:\n        reps = int(np.ceil(n_target / n_feat))\n        return (\n            np.tile(Xtr, (1, reps))[:, :n_target],\n            np.tile(Xte, (1, reps))[:, :n_target],\n            \"tile\",\n        )\n    return Xtr, Xte, \"exact\"\n\nX_tr, X_te, how = _resize_features(X_tr, X_te, TARGET_QUBITS)\nprint(f\"Feature resize ({how}): → {TARGET_QUBITS}\")\n\nn_qubits = TARGET_QUBITS\nprint(f\"Planlanan n_qubits = {n_qubits}\")\n\nscaler_q = MinMaxScaler(feature_range=(0, np.pi))\nX_train_q = scaler_q.fit_transform(X_tr)\nX_test_q = scaler_q.transform(X_te)\n\n# Dengeli küçük subset — QPU demosu için şart (stratified)\nnp.random.seed(42)\ny_train_arr = np.asarray(y_train)\nidx_pos = np.where(y_train_arr == 1)[0]\nidx_neg = np.where(y_train_arr == 0)[0]\nn_pos = min(MAX_TRAIN_SAMPLES_Q // 2, len(idx_pos))\nn_neg = min(MAX_TRAIN_SAMPLES_Q - n_pos, len(idx_neg))\nsel = np.concatenate([\n    np.random.choice(idx_pos, n_pos, replace=False),\n    np.random.choice(idx_neg, n_neg, replace=False),\n])\nnp.random.shuffle(sel)\nX_train_q_sub = X_train_q[sel]\ny_train_q = y_train_arr[sel]\n\ny_test_arr = np.asarray(y_test)\nidx_t_pos = np.where(y_test_arr == 1)[0]\nidx_t_neg = np.where(y_test_arr == 0)[0]\nn_t_pos = min(max(MAX_TEST_SAMPLES_Q // 3, 1), len(idx_t_pos))\nn_t_neg = min(MAX_TEST_SAMPLES_Q - n_t_pos, len(idx_t_neg))\nsel_t = np.concatenate([\n    np.random.choice(idx_t_pos, n_t_pos, replace=False),\n    np.random.choice(idx_t_neg, n_t_neg, replace=False),\n])\nnp.random.shuffle(sel_t)\nX_test_q_sub = X_test_q[sel_t]\ny_test_q = y_test_arr[sel_t]\n\nprint(f\"\\nQuantum train subset: {X_train_q_sub.shape} | default: {y_train_q.mean():.2%}\")\nprint(f\"Quantum test  subset: {X_test_q_sub.shape} | default: {y_test_q.mean():.2%}\")\nprint(\"\\n💡 AŞAMA 16'da gerçek backend seçilince n_qubits backend'e göre güncellenebilir.\")\nprint(\"✅ AŞAMA 12 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage13-md",
   "metadata": {
    "id": "stage13-md"
   },
   "source": "## AŞAMA 13: Yüksek Boyutlu Feature Map + Kernel / Ansatz\n\n- **ZZFeatureMap** veya **PauliFeatureMap** (yüksek boyut için)\n- QSVC → FidelityQuantumKernel\n- VQC → RealAmplitudes / EfficientSU2 ansatz (qubit sayısına göre)\n\nBloch küresi sadece `n_qubits ≤ 5` iken çizilir (görselleştirme sınırı).\n"
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "stage13-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 1356,
     "status": "ok",
     "timestamp": 1788501816829,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage13-code",
    "outputId": "0a890220-7e73-467f-f5a3-97d980fb098e"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Feature map: PauliFeatureMap (reps=1, Z+ZZ) — yüksek qubit için sığ tutularak depth kontrolü\n",
      "n_qubits = 27 | feature_map.num_qubits = 27\n",
      "(Devre çizimi n_qubits>6 için atlandı — çok geniş)\n",
      "✅ EfficientSU2 ansatz hazır (VQC için). parametre sayısı ≈ 108\n",
      "\n",
      "Bloch atlandı (n_qubits=27 > 4). Yüksek boyutta statevector görselleştirmesi pratik değil.\n",
      "✅ AŞAMA 13 tamamlandı.\n"
     ]
    }
   ],
   "source": "from qiskit.circuit.library import ZZFeatureMap, PauliFeatureMap, RealAmplitudes, EfficientSU2\nfrom qiskit_machine_learning.kernels import FidelityQuantumKernel\nfrom qiskit.quantum_info import Statevector\nfrom qiskit.visualization import plot_bloch_multivector\nfrom IPython.display import display\n\n# Feature map seçimi: yüksek qubit'te PauliFeatureMap bazen daha esnek\nif n_qubits <= 8:\n    feature_map = ZZFeatureMap(feature_dimension=n_qubits, reps=2, entanglement=\"linear\")\n    print(\"Feature map: ZZFeatureMap (reps=2, linear)\")\nelse:\n    # Yüksek boyutta daha sığ tutmak için reps=1\n    feature_map = PauliFeatureMap(\n        feature_dimension=n_qubits, reps=1, paulis=[\"Z\", \"ZZ\"], entanglement=\"linear\"\n    )\n    print(\"Feature map: PauliFeatureMap (reps=1, Z+ZZ) — yüksek qubit için sığ tutularak depth kontrolü\")\n\nprint(f\"n_qubits = {n_qubits} | feature_map.num_qubits = {feature_map.num_qubits}\")\n\n# Devre çizimi sadece küçükse\nif n_qubits <= 6:\n    display(feature_map.decompose().draw(output=\"mpl\", style=\"clifford\", fold=80))\nelse:\n    print(\"(Devre çizimi n_qubits>6 için atlandı — çok geniş)\")\n\nquantum_kernel = None\nif SELECTED_ALGO == \"QSVC\":\n    quantum_kernel = FidelityQuantumKernel(feature_map=feature_map)\n    print(\"✅ FidelityQuantumKernel oluşturuldu.\")\n\n# VQC için ansatz (yüksek qubit)\nansatz = None\nif SELECTED_ALGO == \"VQC\" or n_qubits >= 12:\n    ansatz = EfficientSU2(num_qubits=n_qubits, reps=1, entanglement=\"linear\")\n    print(f\"✅ EfficientSU2 ansatz hazır (VQC için). parametre sayısı ≈ {ansatz.num_parameters}\")\n\n# Bloch: sadece çok küçük sistemlerde\nif n_qubits <= 4 and len(X_train_q_sub) > 0:\n    print(\"\\nBloch örneği (n_qubits≤4):\")\n    x_vec = X_train_q_sub[0]\n    qc = feature_map.assign_parameters(x_vec)\n    sv = Statevector.from_instruction(qc)\n    fig = plot_bloch_multivector(sv, title=f\"Örnek state | n_qubits={n_qubits}\")\n    display(fig)\n    plt.close(fig)\nelse:\n    print(f\"\\nBloch atlandı (n_qubits={n_qubits} > 4). Yüksek boyutta statevector görselleştirmesi pratik değil.\")\n\nprint(\"✅ AŞAMA 13 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage14-md",
   "metadata": {
    "id": "stage14-md"
   },
   "source": "## AŞAMA 14: QSVC / VQC Eğitimi (ISA Transpile + Gerçek QPU)\n\n> **Zorunlu sıra:** Önce **AŞAMA 16** (`REAL_QPU`, `backend`, `sampler`).\n\n### Neden ISA transpile?\nMart 2024 sonrası IBM Runtime, soyut kapılı devreleri (`PauliFeatureMap` vb.) **reddeder**.  \nDevre, seçilen backend’in basis gate’leri ve bağlantı haritasına (`target`) uydurulmalıdır.\n\nBu hücre `generate_preset_pass_manager` ile feature map + ansatz’ı **ISA** hale getirir, sonra VQC’yi gerçek QPU sampler ile eğitir.\n"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "stage14-code",
   "metadata": {
    "colab": {
     "background_save": true,
     "base_uri": "https://localhost:8080/"
    },
    "id": "stage14-code"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Soyut feature map qubits=27 | ansatz params≈108\n",
      "ISA transpile → ibm_fez ...\n",
      "   feature_map: ISA transpile OK | qubits 27→156 | depth≈319\n",
      "   ansatz: ISA transpile OK | qubits 27→156 | depth≈116\n",
      "Sampler: IBM Runtime SamplerV2 @ ibm_fez (GERÇEK QPU)\n",
      "VQC | n_qubits=27 | train=40 | REAL_QPU=True\n",
      "   COBYLA maxiter=8\n",
      "   fit başlıyor (gerçek QPU'da her iterasyon kuyruğa girer; sabır)...\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_2985/3672122045.py\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m    107\u001b[0m     )\n\u001b[1;32m    108\u001b[0m     \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"   fit başlıyor (gerçek QPU'da her iterasyon kuyruğa girer; sabır)...\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 109\u001b[0;31m     \u001b[0mvqc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train_q_sub\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train_q\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    110\u001b[0m     \u001b[0my_pred_q\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvqc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test_q_sub\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    111\u001b[0m     \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/algorithms/trainable_model.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m    202\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_fit_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    203\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 204\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_fit_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_fit_internal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    205\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    206\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/algorithms/classifiers/vqc.py\u001b[0m in \u001b[0;36m_fit_internal\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m    193\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    194\u001b[0m         \u001b[0mfunction\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_create_objective\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 195\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_minimize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunction\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    196\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    197\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m_get_interpret\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnum_classes\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/algorithms/trainable_model.py\u001b[0m in \u001b[0;36m_minimize\u001b[0;34m(self, function)\u001b[0m\n\u001b[1;32m    299\u001b[0m             )\n\u001b[1;32m    300\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 301\u001b[0;31m             optimizer_result = self._optimizer.minimize(\n\u001b[0m\u001b[1;32m    302\u001b[0m                 \u001b[0mfun\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mobjective\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    303\u001b[0m                 \u001b[0mx0\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minitial_point\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/optimizers/scipy_optimizer.py\u001b[0m in \u001b[0;36mminimize\u001b[0;34m(self, fun, x0, jac, bounds)\u001b[0m\n\u001b[1;32m    147\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_options\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"maxfun\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_options\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"maxiter\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    148\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 149\u001b[0;31m         raw_result = minimize(\n\u001b[0m\u001b[1;32m    150\u001b[0m             \u001b[0mfun\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfun\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    151\u001b[0m             \u001b[0mx0\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mx0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/optimize/_minimize.py\u001b[0m in \u001b[0;36mminimize\u001b[0;34m(fun, x0, args, method, jac, hess, hessp, bounds, constraints, tol, callback, options)\u001b[0m\n\u001b[1;32m    788\u001b[0m                             **options)\n\u001b[1;32m    789\u001b[0m     \u001b[0;32melif\u001b[0m \u001b[0mmeth\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'cobyla'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 790\u001b[0;31m         res = _minimize_cobyla(fun, x0, args, constraints, callback=callback,\n\u001b[0m\u001b[1;32m    791\u001b[0m                                bounds=bounds, **options)\n\u001b[1;32m    792\u001b[0m     \u001b[0;32melif\u001b[0m \u001b[0mmeth\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'cobyqa'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/optimize/_cobyla_py.py\u001b[0m in \u001b[0;36m_minimize_cobyla\u001b[0;34m(fun, x0, args, constraints, rhobeg, tol, maxiter, disp, catol, f_target, callback, bounds, **unknown_options)\u001b[0m\n\u001b[1;32m    276\u001b[0m     }\n\u001b[1;32m    277\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 278\u001b[0;31m     result = minimize(sf.fun, x0, method='cobyla', bounds=bounds,\n\u001b[0m\u001b[1;32m    279\u001b[0m                       \u001b[0mconstraints\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mconstraints\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwrapped_callback\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    280\u001b[0m                       options=options)\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/pyprima/__init__.py\u001b[0m in \u001b[0;36mminimize\u001b[0;34m(fun, x0, args, method, bounds, constraints, callback, options)\u001b[0m\n\u001b[1;32m    189\u001b[0m         \u001b[0;32mdel\u001b[0m \u001b[0moptions\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'maxfev'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    190\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 191\u001b[0;31m     result = cobyla(\n\u001b[0m\u001b[1;32m    192\u001b[0m         \u001b[0mcalcfc\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    193\u001b[0m         \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnlconstr0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/pyprima/cobyla/cobyla.py\u001b[0m in \u001b[0;36mcobyla\u001b[0;34m(calcfc, m_nlcon, x, Aineq, bineq, Aeq, beq, xl, xu, f0, nlconstr0, rhobeg, rhoend, ftarget, ctol, cweight, maxfun, iprint, eta1, eta2, gamma1, gamma2, maxhist, maxfilt, callback)\u001b[0m\n\u001b[1;32m    459\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    460\u001b[0m     \u001b[0;31m# call cobylb, which performs the real calculations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 461\u001b[0;31m     x, f, constr, cstrv, nf, xhist, fhist, chist, conhist, info = cobylb(\n\u001b[0m\u001b[1;32m    462\u001b[0m         \u001b[0mcalcfc\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    463\u001b[0m         \u001b[0miprint\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/pyprima/cobyla/cobylb.py\u001b[0m in \u001b[0;36mcobylb\u001b[0;34m(calcfc, iprint, maxfilt, maxfun, amat, bvec, ctol, cweight, eta1, eta2, ftarget, gamma1, gamma2, rhobeg, rhoend, constr, f, x, maxhist, callback)\u001b[0m\n\u001b[1;32m     91\u001b[0m     \u001b[0;31m# values, and constraint violations on the vertices in the order corresponding to\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     92\u001b[0m     \u001b[0;31m# SIM.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 93\u001b[0;31m     evaluated, conmat, cval, sim, simi, fval, nf, subinfo = initxfc(calcfc, iprint,\n\u001b[0m\u001b[1;32m     94\u001b[0m       \u001b[0mmaxfun\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mamat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbvec\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mctol\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mftarget\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrhobeg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     95\u001b[0m       xhist, fhist, chist, conhist, maxhist)\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/pyprima/cobyla/initialize.py\u001b[0m in \u001b[0;36minitxfc\u001b[0;34m(calcfc, iprint, maxfun, constr0, amat, bvec, ctol, f0, ftarget, rhobeg, x0, xhist, fhist, chist, conhist, maxhist)\u001b[0m\n\u001b[1;32m     85\u001b[0m             \u001b[0mj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mk\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     86\u001b[0m             \u001b[0mx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mrhobeg\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 87\u001b[0;31m             \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcalcfc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mm_nlcon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mamat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbvec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     88\u001b[0m         \u001b[0mcstrv\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     89\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/pyprima/common/evaluate.py\u001b[0m in \u001b[0;36mevaluate\u001b[0;34m(calcfc, x, m_nlcon, amat, bvec)\u001b[0m\n\u001b[1;32m     78\u001b[0m         \u001b[0mconstr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mones\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm_nlcon\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     79\u001b[0m     \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 80\u001b[0;31m         \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstr\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mm_lcon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcalcfc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmoderatex\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     81\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     82\u001b[0m         \u001b[0;31m# Moderated extreme barrier: replace NaN/huge objective or constraint values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/pyprima/__init__.py\u001b[0m in \u001b[0;36mcalcfc\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m    176\u001b[0m     \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    177\u001b[0m         \u001b[0;32mdef\u001b[0m \u001b[0mcalcfc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 178\u001b[0;31m             \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    179\u001b[0m             \u001b[0mconstr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    180\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/optimize/_differentiable_functions.py\u001b[0m in \u001b[0;36mfun\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m    383\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray_equal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    384\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_update_x\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 385\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_update_fun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    386\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    387\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/optimize/_differentiable_functions.py\u001b[0m in \u001b[0;36m_update_fun\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    351\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m_update_fun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    352\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf_updated\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 353\u001b[0;31m             \u001b[0mfx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_wrapped_fun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    354\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_nfev\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    355\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mfx\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_lowest_f\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/scipy/_lib/_util.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m    588\u001b[0m         \u001b[0;31m# Send a copy because the user may overwrite it.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    589\u001b[0m         \u001b[0;31m# The user of this class might want `x` to remain unchanged.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 590\u001b[0;31m         \u001b[0mfx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    591\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnfev\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    592\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/algorithms/objective_functions.py\u001b[0m in \u001b[0;36mobjective\u001b[0;34m(self, weights)\u001b[0m\n\u001b[1;32m    189\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mobjective\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mfloat\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    190\u001b[0m         \u001b[0;31m# probabilities is of shape (N, num_outputs)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 191\u001b[0;31m         \u001b[0mprobs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_neural_network_forward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    192\u001b[0m         \u001b[0;31m# float(...) is for mypy compliance\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    193\u001b[0m         \u001b[0mvalue\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfloat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_loss\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprobs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_y\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_num_samples\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/algorithms/objective_functions.py\u001b[0m in \u001b[0;36m_neural_network_forward\u001b[0;34m(self, weights)\u001b[0m\n\u001b[1;32m    100\u001b[0m         ):\n\u001b[1;32m    101\u001b[0m             \u001b[0;31m# compute forward and cache the results for re-use in backward\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 102\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_last_forward\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_neural_network\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_X\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    103\u001b[0m             \u001b[0;31m# a copy avoids keeping a reference to the same array, so we are sure we have\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    104\u001b[0m             \u001b[0;31m# different arrays on the next iteration.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/neural_networks/neural_network.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, input_data, weights)\u001b[0m\n\u001b[1;32m    228\u001b[0m         \u001b[0minput_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshape\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    229\u001b[0m         \u001b[0mweights_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_weights\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 230\u001b[0;31m         \u001b[0moutput_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_forward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights_\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    231\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_forward_output\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutput_data\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    232\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_machine_learning/neural_networks/sampler_qnn.py\u001b[0m in \u001b[0;36m_forward\u001b[0;34m(self, input_data, weights)\u001b[0m\n\u001b[1;32m    492\u001b[0m         \u001b[0mjob\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msampler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_circuit\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparameter_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mnum_samples\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    493\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 494\u001b[0;31m             \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mjob\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    495\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mexc\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    496\u001b[0m             \u001b[0;32mraise\u001b[0m \u001b[0mQiskitMachineLearningError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Sampler job failed: {exc}\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mexc\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_ibm_runtime/runtime_job_v2.py\u001b[0m in \u001b[0;36mresult\u001b[0;34m(self, timeout, decoder, poll_interval)\u001b[0m\n\u001b[1;32m    144\u001b[0m         \u001b[0mdecoders\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mSequence\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mResultDecoder\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdecoder\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_result_decoders\u001b[0m  \u001b[0;31m# type: ignore[assignment]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    145\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 146\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait_for_final_state\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoll_interval\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpoll_interval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    147\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_status\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"ERROR\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    148\u001b[0m             \u001b[0merror_message\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reason\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reason\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_error_message\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/lib/python3.13/dist-packages/qiskit_ibm_runtime/runtime_job_v2.py\u001b[0m in \u001b[0;36mwait_for_final_state\u001b[0;34m(self, timeout, poll_interval)\u001b[0m\n\u001b[1;32m    278\u001b[0m                         \u001b[0;34mf\"Timed out waiting for job to complete after {timeout} secs.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    279\u001b[0m                     )\n\u001b[0;32m--> 280\u001b[0;31m                 \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoll_interval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    281\u001b[0m                 \u001b[0mstatus\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    282\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mfutures\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTimeoutError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": "# ============================================================\n# AŞAMA 14: QSVC / VQC — ISA transpile + gerçek IBM QPU\n# ============================================================\n#\n# 2024+ kuralı: Runtime, backend target'ına uymayan (non-ISA) devreleri reddeder.\n# PauliFeatureMap / ZZFeatureMap soyut kapılar içerir → mutlaka transpile.\n#\n\nfrom qiskit_machine_learning.algorithms import QSVC, VQC\nfrom qiskit_machine_learning.optimizers import COBYLA\nfrom qiskit.circuit.library import EfficientSU2, ZZFeatureMap, PauliFeatureMap\nfrom qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n\n# --- 1) Soyut feature map + ansatz ---\nif n_qubits <= 8:\n    feature_map = ZZFeatureMap(feature_dimension=n_qubits, reps=1, entanglement=\"linear\")\nelse:\n    feature_map = PauliFeatureMap(\n        feature_dimension=n_qubits, reps=1, paulis=[\"Z\", \"ZZ\"], entanglement=\"linear\"\n    )\n\nansatz = EfficientSU2(num_qubits=n_qubits, reps=1, entanglement=\"linear\")\nprint(f\"Soyut feature map qubits={feature_map.num_qubits} | ansatz params≈{ansatz.num_parameters}\")\n\n\ndef to_isa(circuit, backend_obj, label=\"circuit\"):\n    \"\"\"Backend basis gate + coupling map'e transpile (ISA).\"\"\"\n    if backend_obj is None:\n        print(f\"   {label}: transpile atlandı (simülatör)\")\n        return circuit\n    pm = generate_preset_pass_manager(\n        optimization_level=1,  # 1 = hızlı; demo için yeterli. 2-3 daha yavaş ama daha iyi\n        backend=backend_obj,\n    )\n    isa_circ = pm.run(circuit)\n    print(\n        f\"   {label}: ISA transpile OK | \"\n        f\"qubits {circuit.num_qubits}→{isa_circ.num_qubits} | \"\n        f\"depth≈{isa_circ.depth()}\"\n    )\n    return isa_circ\n\n\n# --- 2) Gerçek QPU ise ISA'ya çevir ---\nif REAL_QPU and backend is not None:\n    print(f\"ISA transpile → {backend_name} ...\")\n    feature_map = to_isa(feature_map, backend, \"feature_map\")\n    ansatz = to_isa(ansatz, backend, \"ansatz\")\nelse:\n    print(\"Simülatör yolu: ISA transpile gerekmez.\")\n\n\ndef build_sampler():\n    global sampler\n    if REAL_QPU and sampler is not None:\n        print(f\"Sampler: IBM Runtime SamplerV2 @ {backend_name} (GERÇEK QPU)\")\n        return sampler\n    if n_qubits <= 12:\n        from qiskit.primitives import StatevectorSampler\n        print(f\"Sampler: StatevectorSampler (sim, n_qubits={n_qubits})\")\n        return StatevectorSampler()\n    try:\n        from qiskit_aer.primitives import SamplerV2 as AerSampler\n        print(f\"Sampler: AerSamplerV2 shots (sim, n_qubits={n_qubits})\")\n        return AerSampler()\n    except Exception:\n        from qiskit_aer.primitives import Sampler as AerSamplerLegacy\n        print(f\"Sampler: AerSampler legacy (sim, n_qubits={n_qubits})\")\n        return AerSamplerLegacy()\n\n\nsafe_sampler = build_sampler()\n\nq_metrics = {}\ny_pred_q = None\ny_score_q = None\n\n# Yüksek qubit / gerçek QPU → VQC\nrun_vqc = (SELECTED_ALGO == \"VQC\") or (n_qubits > 12) or REAL_QPU\n\nif (not run_vqc) and SELECTED_ALGO == \"QSVC\":\n    print(f\"QSVC | n_qubits={n_qubits} | train={len(y_train_q)}\")\n    from qiskit_machine_learning.kernels import FidelityQuantumKernel\n    quantum_kernel = FidelityQuantumKernel(feature_map=feature_map)\n    qsvc = QSVC(quantum_kernel=quantum_kernel)\n    qsvc.fit(X_train_q_sub, y_train_q)\n    y_pred_q = qsvc.predict(X_test_q_sub)\n    try:\n        y_score_q = qsvc.decision_function(X_test_q_sub)\n    except Exception:\n        y_score_q = y_pred_q.astype(float)\n    trained_model_name = \"Quantum QSVC\"\nelse:\n    print(f\"VQC | n_qubits={n_qubits} | train={len(y_train_q)} | REAL_QPU={REAL_QPU}\")\n    if REAL_QPU:\n        maxiter = 8 if n_qubits >= 20 else 12\n    else:\n        maxiter = 40 if n_qubits <= 10 else (25 if n_qubits <= 16 else 15)\n    optimizer = COBYLA(maxiter=maxiter)\n    print(f\"   COBYLA maxiter={maxiter}\")\n\n    vqc = VQC(\n        feature_map=feature_map,\n        ansatz=ansatz,\n        optimizer=optimizer,\n        sampler=safe_sampler,\n    )\n    print(\"   fit başlıyor (gerçek QPU'da her iterasyon kuyruğa girer; sabır)...\")\n    vqc.fit(X_train_q_sub, y_train_q)\n    y_pred_q = vqc.predict(X_test_q_sub)\n    try:\n        y_score_q = (\n            vqc.decision_function(X_test_q_sub)\n            if hasattr(vqc, \"decision_function\")\n            else y_pred_q.astype(float)\n        )\n    except Exception:\n        y_score_q = y_pred_q.astype(float)\n    trained_model_name = f\"Quantum VQC ({'IBM QPU' if REAL_QPU else 'sim'})\"\n\nq_metrics = {\n    \"accuracy\": accuracy_score(y_test_q, y_pred_q),\n    \"precision\": precision_score(y_test_q, y_pred_q, zero_division=0),\n    \"recall\": recall_score(y_test_q, y_pred_q, zero_division=0),\n    \"f1\": f1_score(y_test_q, y_pred_q, zero_division=0),\n    \"roc_auc\": roc_auc_score(y_test_q, y_score_q) if len(np.unique(y_test_q)) > 1 else 0.5,\n}\n\nprint(f\"=== {trained_model_name} | n_qubits={n_qubits} | backend={backend_name} ===\")\nfor k, v in q_metrics.items():\n    print(f\"  {k:12s}: {v:.4f}\")\nprint(\"✅ AŞAMA 14 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage15-md",
   "metadata": {
    "id": "stage15-md"
   },
   "source": "## AŞAMA 15: Confusion Matrix ve ROC\n"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "stage15-code",
   "metadata": {
    "id": "stage15-code"
   },
   "outputs": [],
   "source": "best_classical_name = max(results, key=lambda n: results[n][\"roc_auc\"])\nbest_c = results[best_classical_name]\n\nfig, axes = plt.subplots(1, 2, figsize=(12, 5))\ncm_c = confusion_matrix(y_test, best_c[\"y_pred\"])\ncm_q = confusion_matrix(y_test_q, y_pred_q)\nConfusionMatrixDisplay(cm_c, display_labels=[\"Ödeme OK\", \"Default\"]).plot(ax=axes[0], colorbar=False)\naxes[0].set_title(f\"Klasik: {best_classical_name}\")\nConfusionMatrixDisplay(cm_q, display_labels=[\"Ödeme OK\", \"Default\"]).plot(ax=axes[1], colorbar=False)\naxes[1].set_title(f\"{trained_model_name} (n_qubits={n_qubits})\")\nplt.tight_layout()\nplt.show()\n\nfig, ax = plt.subplots(figsize=(8, 6))\nfpr_c, tpr_c, _ = roc_curve(y_test, best_c[\"y_prob\"])\nax.plot(fpr_c, tpr_c, label=f\"{best_classical_name} (AUC={best_c['roc_auc']:.3f})\")\nif len(np.unique(y_test_q)) > 1:\n    fpr_q, tpr_q, _ = roc_curve(y_test_q, y_score_q)\n    ax.plot(fpr_q, tpr_q, label=f\"{trained_model_name} (AUC={q_metrics['roc_auc']:.3f})\", linestyle=\"--\")\nax.plot([0, 1], [0, 1], \"k--\", alpha=0.4)\nax.set_xlabel(\"FPR\")\nax.set_ylabel(\"TPR\")\nax.set_title(f\"ROC — Home Credit Default (n_qubits={n_qubits})\")\nax.legend(loc=\"lower right\")\nplt.tight_layout()\nplt.show()\nprint(\"✅ AŞAMA 15 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage16-md",
   "metadata": {
    "id": "stage16-md"
   },
   "source": "## AŞAMA 16: 100+ Qubit Backend Seçimi\n\n- `use_real_hardware = True` + token → IBM Quantum Platform\n- `min_qubits` filtresi ile büyük sistemleri tercih et\n- Open Plan’da 100+ qubit her zaman müsait olmayabilir; kod yedek strateji uygular\n\n> **Önemli:** Bu hücreyi AŞAMA 14’ten **önce** çalıştırın.\n"
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "stage16-code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 16943,
     "status": "ok",
     "timestamp": 1788502094126,
     "user": {
      "displayName": "Joseph Volkan ÖZCAN",
      "userId": "11389530967736397480"
     },
     "user_tz": -180
    },
    "id": "stage16-code",
    "outputId": "07711cf0-a93c-455f-d81f-6a3fa3373500"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "qiskit_runtime_service._discover_account:WARNING:2026-09-04 06:07:58,799: Loading account with the given token. A saved account will not be used.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "IBM channel=ibm_quantum_platform | instance=auto\n",
      "Erişilebilir instance sayısı: 2\n",
      "   - {'crn': 'crn:v1:bluemix:public:quantum-computing:us-east:a/94208d6a0cb048fdabcd30c8b76a7a63:9491e712-84de-4791-aaa4-9413bbe9ed4d::', 'plan': 'open', 'name': 'Miuul-QML-1', 'tags': [], 'pricing_type': 'free'}\n",
      "   - {'crn': 'crn:v1:bluemix:public:quantum-computing:us-east:a/94208d6a0cb048fdabcd30c8b76a7a63:cc2550b4-f46f-4b49-918b-c1335af0fd7e::', 'plan': 'open', 'name': 'open-instance', 'tags': [], 'pricing_type': 'free'}\n",
      "\n",
      "📡 Erişilebilir gerçek backend'ler (qubit sayısına göre):\n",
      "   ibm_fez                         qubits=156    pending=0      operational=True\n",
      "   ibm_marrakesh                   qubits=156    pending=1      operational=True\n",
      "   ibm_kingston                    qubits=156    pending=20     operational=True\n",
      "\n",
      "   → En büyük sistem: ibm_fez (156 qubit)\n",
      "   · least_busy{'operational': True, 'simulator': False, 'min_qubits': 20}: 'No backend matches the criteria.'\n",
      "   · least_busy{'operational': True, 'simulator': False, 'min_qubits': 10}: 'No backend matches the criteria.'\n",
      "\n",
      "✅ GERÇEK QPU SEÇİLDİ: ibm_fez\n",
      "   Qubit sayısı     : 156\n",
      "   Seçim yöntemi    : least_busy({'operational': True, 'simulator': False})\n",
      "   Channel          : ibm_quantum_platform\n",
      "   n_qubits = 27 (backend yeterli)\n",
      "\n",
      "Aktif backend : ibm_fez\n",
      "REAL_QPU      : True\n",
      "n_qubits      : 27\n",
      "✅ AŞAMA 16 tamamlandı.\n"
     ]
    }
   ],
   "source": "# ============================================================\n# AŞAMA 16: GERÇEK IBM DONANIM — MAX QUBIT SEÇİMİ\n# ============================================================\n#\n# Öğrenci demosu: use_real_hardware=True varsayılan.\n# Backend bulunduğunda n_qubits = min(TARGET_QUBITS, backend.num_qubits)\n# ve feature matrisleri gerekirse yeniden boyutlandırılır.\n#\n\nuse_real_hardware = True    # ← Öğrenci demosu: gerçek QPU\nFORCE_INSTANCE = None       # örn. \"open-instance\" veya CRN\nMIN_QUBITS_PREFERRED = 20   # en az bu kadar qubitli backend ara\n\nbackend_name = \"aer_simulator\"\nsampler = None\nservice = None\nbackend = None\nREAL_QPU = False\n\ndef _pick_backend(service, min_q):\n    \"\"\"Önce büyük sistemleri dene, sonra gevşet.\"\"\"\n    strategies = [\n        dict(operational=True, simulator=False, min_qubits=min_q),\n        dict(operational=True, simulator=False, min_qubits=max(min_q // 2, 5)),\n        dict(operational=True, simulator=False),\n    ]\n    for kwargs in strategies:\n        try:\n            b = service.least_busy(**kwargs)\n            if b is not None:\n                return b, f\"least_busy({kwargs})\"\n        except Exception as e:\n            print(f\"   · least_busy{kwargs}: {e}\")\n    try:\n        candidates = service.backends(simulator=False, operational=True)\n        if not candidates:\n            candidates = service.backends(simulator=False)\n        def _nq(b):\n            return getattr(b, \"num_qubits\", 0) or 0\n        def _pend(b):\n            try:\n                return getattr(b.status(), \"pending_jobs\", 9999)\n            except Exception:\n                return 9999\n        pool = sorted(candidates, key=lambda b: (-_nq(b), _pend(b)))\n        if pool:\n            return pool[0], f\"backends() en büyük ({len(pool)} aday)\"\n    except Exception as e:\n        print(f\"   · backends list: {e}\")\n    return None, \"yok\"\n\n\nif use_real_hardware and IBM_TOKEN:\n    try:\n        from qiskit_ibm_runtime import QiskitRuntimeService\n        from qiskit_ibm_runtime import SamplerV2 as Sampler\n\n        channel = IBM_CHANNEL if IBM_CHANNEL in (\"ibm_quantum_platform\", \"ibm_cloud\") else \"ibm_quantum_platform\"\n        instance = FORCE_INSTANCE or IBM_INSTANCE\n        svc_kwargs = {\"channel\": channel, \"token\": IBM_TOKEN}\n        svc_kwargs[\"instance\"] = instance if instance else \"auto\"\n        print(f\"IBM channel={channel} | instance={svc_kwargs['instance']}\")\n\n        service = QiskitRuntimeService(**svc_kwargs)\n\n        try:\n            insts = service.instances()\n            if insts:\n                print(f\"Erişilebilir instance sayısı: {len(list(insts))}\")\n                for inst in list(insts)[:8]:\n                    print(f\"   - {inst}\")\n        except Exception:\n            pass\n\n        # Tüm gerçek backend'leri qubit sayısına göre listele\n        try:\n            all_hw = service.backends(simulator=False)\n            print(\"\\n📡 Erişilebilir gerçek backend'ler (qubit sayısına göre):\")\n            rows = []\n            for b in sorted(all_hw, key=lambda x: -(getattr(x, \"num_qubits\", 0) or 0)):\n                nq = getattr(b, \"num_qubits\", \"?\")\n                try:\n                    st = b.status()\n                    pend = getattr(st, \"pending_jobs\", \"?\")\n                    op = getattr(st, \"operational\", \"?\")\n                except Exception:\n                    pend, op = \"?\", \"?\"\n                rows.append((b.name, nq, pend, op))\n                print(f\"   {b.name:30s}  qubits={nq!s:5s}  pending={pend!s:5s}  operational={op}\")\n            if rows:\n                print(f\"\\n   → En büyük sistem: {rows[0][0]} ({rows[0][1]} qubit)\")\n        except Exception as e:\n            print(f\"   Backend listesi alınamadı: {e}\")\n\n        backend, how = _pick_backend(service, MIN_QUBITS_PREFERRED)\n        if backend is None:\n            raise RuntimeError(\n                \"Uygun gerçek backend bulunamadı. \"\n                \"Instance / kota / bakım kontrol edin. IBM_QUANTUM_INSTANCE deneyin.\"\n            )\n\n        backend_name = backend.name\n        backend_nq = int(getattr(backend, \"num_qubits\", 0) or 0)\n        sampler = Sampler(mode=backend)\n        REAL_QPU = True\n\n        print(f\"\\n✅ GERÇEK QPU SEÇİLDİ: {backend_name}\")\n        print(f\"   Qubit sayısı     : {backend_nq}\")\n        print(f\"   Seçim yöntemi    : {how}\")\n        print(f\"   Channel          : {channel}\")\n\n        # ---- n_qubits'i backend kapasitesine kilitle ----\n        planned = int(TARGET_QUBITS)\n        if backend_nq > 0:\n            final_nq = min(planned, backend_nq)\n        else:\n            final_nq = planned\n\n        if final_nq != n_qubits:\n            print(f\"\\n🔧 n_qubits ayarı: planlanan {n_qubits} → backend limitli {final_nq}\")\n\n            def _fit_to_nq(X, n_target):\n                if X.shape[1] == n_target:\n                    return X\n                if X.shape[1] > n_target:\n                    return X[:, :n_target]\n                reps = int(np.ceil(n_target / X.shape[1]))\n                return np.tile(X, (1, reps))[:, :n_target]\n\n            X_train_q = _fit_to_nq(X_train_q, final_nq)\n            X_test_q = _fit_to_nq(X_test_q, final_nq)\n            X_train_q_sub = _fit_to_nq(X_train_q_sub, final_nq)\n            X_test_q_sub = _fit_to_nq(X_test_q_sub, final_nq)\n            n_qubits = final_nq\n            print(f\"   Güncel n_qubits = {n_qubits}\")\n            print(f\"   train subset shape = {X_train_q_sub.shape}\")\n        else:\n            print(f\"   n_qubits = {n_qubits} (backend yeterli)\")\n\n        if backend_nq < TARGET_QUBITS:\n            print(f\"⚠️ Backend ({backend_nq}q) istenen TARGET ({TARGET_QUBITS}) altında.\")\n            print(\"   Daha büyük sistem için Premium/Pay-as-you-go instance gerekebilir.\")\n\n    except Exception as e:\n        print(f\"⚠️ Gerçek donanım bağlantısı başarısız: {e}\")\n        print(\"   Aer simülatöre düşülüyor (öğrenci demosu için token/instance kontrol edin).\")\n        use_real_hardware = False\n        REAL_QPU = False\n        backend_name = \"aer_simulator\"\n        sampler = None\n        backend = None\n        if n_qubits > SHOT_BASED_SAFE_MAX:\n            print(f\"   Simülasyon için n_qubits {n_qubits} → {SHOT_BASED_SAFE_MAX}\")\n            n_qubits = SHOT_BASED_SAFE_MAX\nelse:\n    print(f\"use_real_hardware={use_real_hardware}, token={'var' if IBM_TOKEN else 'YOK'}\")\n    if not IBM_TOKEN:\n        print(\"⚠️ Token yok — gerçek QPU için AŞAMA 4'te IBM_QUANTUM_TOKEN gerekli.\")\n    if n_qubits > SHOT_BASED_SAFE_MAX:\n        print(f\"Simülasyon tavanı: n_qubits {n_qubits} → {SHOT_BASED_SAFE_MAX}\")\n        n_qubits = SHOT_BASED_SAFE_MAX\n    REAL_QPU = False\n\nprint(f\"\\nAktif backend : {backend_name}\")\nprint(f\"REAL_QPU      : {REAL_QPU}\")\nprint(f\"n_qubits      : {n_qubits}\")\nprint(\"✅ AŞAMA 16 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage17-md",
   "metadata": {
    "id": "stage17-md"
   },
   "source": "## AŞAMA 17: Sonuç Kaydı\n"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "stage17-code",
   "metadata": {
    "id": "stage17-code"
   },
   "outputs": [],
   "source": "run_id = datetime.now().strftime(\"%Y%m%d_%H%M%S\")\nout_dir = OUTPUT_PATH\nos.makedirs(out_dir, exist_ok=True)\n\nsummary = {\n    \"run_id\": run_id,\n    \"problem\": \"HomeCredit_Default_Risk_HighQubit\",\n    \"n_samples\": len(df),\n    \"n_qubits\": n_qubits,\n    \"TARGET_QUBITS\": TARGET_QUBITS,\n    \"MAX_TRAIN_SAMPLES_Q\": MAX_TRAIN_SAMPLES_Q,\n    \"MAX_TEST_SAMPLES_Q\": MAX_TEST_SAMPLES_Q,\n    \"backend\": backend_name,\n    \"use_real_hardware\": use_real_hardware,\n    \"quantum_model\": trained_model_name,\n    \"classical_best\": best_classical_name,\n    \"classical_auc\": best_c[\"roc_auc\"],\n    \"classical_f1\": best_c[\"f1\"],\n    \"quantum_auc\": q_metrics[\"roc_auc\"],\n    \"quantum_f1\": q_metrics[\"f1\"],\n    \"quantum_accuracy\": q_metrics[\"accuracy\"],\n}\n\nsummary_path = os.path.join(out_dir, f\"homecredit_highq_summary_{run_id}.json\")\nwith open(summary_path, \"w\") as f:\n    json.dump(summary, f, indent=2, default=str)\nprint(f\"✅ Özet: {summary_path}\")\n\nmetric_rows = []\nfor name, r in results.items():\n    metric_rows.append({\n        \"model\": name, \"type\": \"classical\",\n        \"roc_auc\": r[\"roc_auc\"], \"f1\": r[\"f1\"],\n        \"precision\": r[\"precision\"], \"recall\": r[\"recall\"], \"accuracy\": r[\"accuracy\"],\n    })\nmetric_rows.append({\n    \"model\": trained_model_name, \"type\": \"quantum\",\n    \"roc_auc\": q_metrics[\"roc_auc\"], \"f1\": q_metrics[\"f1\"],\n    \"precision\": q_metrics[\"precision\"], \"recall\": q_metrics[\"recall\"],\n    \"accuracy\": q_metrics[\"accuracy\"],\n})\nmetrics_df = pd.DataFrame(metric_rows)\nmetrics_path = os.path.join(out_dir, f\"homecredit_highq_metrics_{run_id}.csv\")\nmetrics_df.to_csv(metrics_path, index=False)\nprint(f\"✅ Metrikler: {metrics_path}\")\nprint(\"✅ AŞAMA 17 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage18-md",
   "metadata": {
    "id": "stage18-md"
   },
   "source": "## AŞAMA 18: Model Karşılaştırma\n"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "stage18-code",
   "metadata": {
    "id": "stage18-code"
   },
   "outputs": [],
   "source": "comparison = pd.DataFrame({\n    name: {\n        \"ROC-AUC\": r[\"roc_auc\"], \"F1\": r[\"f1\"],\n        \"Precision\": r[\"precision\"], \"Recall\": r[\"recall\"], \"Accuracy\": r[\"accuracy\"]\n    }\n    for name, r in results.items()\n})\ncomparison[trained_model_name] = {\n    \"ROC-AUC\": q_metrics[\"roc_auc\"], \"F1\": q_metrics[\"f1\"],\n    \"Precision\": q_metrics[\"precision\"], \"Recall\": q_metrics[\"recall\"],\n    \"Accuracy\": q_metrics[\"accuracy\"],\n}\ncomparison = comparison.T.round(4)\n\nprint(f\"=== Karşılaştırma (n_qubits={n_qubits}) ===\")\ndisplay(comparison.style.highlight_max(axis=0, color=\"lightgreen\"))\n\nfig, ax = plt.subplots(figsize=(11, 5))\ncomparison[[\"ROC-AUC\", \"F1\"]].plot(kind=\"bar\", ax=ax, color=[\"#3498db\", \"#e74c3c\"])\nax.set_title(f\"Model Karşılaştırması – Home Credit Default\\nn_qubits={n_qubits} (Quantum subset üzerinde)\")\nax.set_ylabel(\"Skor\")\nax.set_ylim(0, 1.05)\nplt.xticks(rotation=20)\nplt.tight_layout()\nplt.show()\n\ncomp_path = os.path.join(out_dir, f\"comparison_homecredit_highq_{run_id}.csv\")\ncomparison.to_csv(comp_path)\nprint(f\"✅ Tablo: {comp_path}\")\nprint(\"✅ AŞAMA 18 tamamlandı.\")\n"
  },
  {
   "cell_type": "markdown",
   "id": "stage19-md",
   "metadata": {
    "id": "stage19-md"
   },
   "source": "## AŞAMA 19: Yorumlama & 100+ Qubit Ölçekleme Rehberi\n\n### Neden hâlâ subset var?\n\nQSVC / Fidelity Kernel **örnek sayısı n** ile **O(n²)** devre ister.  \n100 qubit × 10.000 örnek → pratik değil (süre, kuyruk, klasik bellek).  \nBu yüzden **qubit sayısını artırırken örnek sayısını bilinçli düşük tutuyoruz**.\n\n### Home Credit özelinde notlar\n\n- **Class imbalance (~8% default)**: Stratified subset + klasik modellerde `class_weight` / `scale_pos_weight` kullanıldı.\n- **Tam rekabet skoru**: Kaggle’da 0.78–0.80 AUC’ler feature engineering + LightGBM/XGBoost ile geliyor. Quantum şu an **POC / eğitim** katmanıdır.\n- **Özellik seti**: Sadece `application_train` kullanıldı. bureau / previous_application / installments eklemek klasik tarafı güçlendirir; quantum tarafında boyut yine `TARGET_QUBITS` ile sınırlanır.\n\n### 100+ qubit cihazlarda ne kazanırsınız?\n\n1. Daha fazla özellik / daha zengin feature map (daha yüksek kapasiteli Hilbert uzayı)\n2. Daha geniş VQC ansatz (daha fazla parametre, daha karmaşık karar sınırı)\n3. Gelecekteki hata-düzeltmeli algoritmalar için yol\n4. Bugün pratik kazanç sınırlıdır: gürültü + derinlik + connectivity hâlâ darboğaz\n\n### Önerilen deney sırası\n\n| Adım | TARGET_QUBITS | Algoritma | Subset | Ortam |\n|------|---------------|-----------|--------|-------|\n| 1 | 8 | QSVC | 80–120 | Aer |\n| 2 | 12–16 | VQC | 60–100 | Aer / küçük QPU |\n| 3 | 20–40 | VQC | 40–80 | Büyük IBM backend |\n| 4 | 50–100+ | VQC / özel ansatz | çok küçük / batch | 100+ qubit sistem + error mitigation |\n\n### Operasyonel metrikler (kredi riski)\n\n- **ROC-AUC** sıralama kalitesini ölçer (Kaggle metriği).\n- **Recall** (kaçırılan default) iş riski açısından kritik olabilir.\n- Threshold’u 0.5’te bırakmayın; maliyet matrisi ile ayarlayın.\n- Klasik modeller bu veri setinde hâlâ çok güçlü baseline’dır; quantum şu an POC / araştırma katmanıdır.\n\n### Kontrol listesi\n\n- [ ] TARGET_QUBITS sistem belleği / QPU boyutuna uygun mu?\n- [ ] Kernel değerlendirme sayısı kabul edilebilir mi?\n- [ ] n_qubits > 16 ise sampling / gerçek backend kullanıldı mı?\n- [ ] Backend num_qubits ≥ n_qubits mi?\n- [ ] Recall / Precision trade-off operasyona uygun mu?\n- [ ] Class imbalance dikkate alındı mı (stratified subset)?\n\n---\n\n**Özet:** Bu notebook 100+ qubit **sınıfı sistemlere hazır** bir iskelet sunar: qubit sayısı ölçeklenebilir, feature expansion var, VQC yolu açık, büyük backend seçimi desteklenir.  \nTam veri + 100 qubit ile “tek tuş eğitim” bugünün NISQ gerçekliğinde mümkün değildir; doğru yaklaşım **yüksek qubit + kontrollü örnek boyutu + doğru algoritma (VQC)** kombinasyonudur.\n"
  },
  {
   "cell_type": "markdown",
   "id": "closing-md",
   "metadata": {
    "id": "closing-md"
   },
   "source": "## Kapanış\n\n- **Dosya:** High-Qubit versiyon — Home Credit Default Risk  \n- **Ana kontrol:** AŞAMA 12 → `TARGET_QUBITS`  \n- **Gerçek 100+ qubit:** AŞAMA 4 token + AŞAMA 16 `use_real_hardware=True`  \n- **Öneri:** Önce 8–12 qubit Aer, sonra 16–20 VQC, ardından erişiminiz olan en büyük IBM backend  \n- **Veri:** [Kaggle Home Credit Default Risk](https://www.kaggle.com/c/home-credit-default-risk) · referans: [yakupkaplan/Home-Credit-Default-Risk](https://github.com/yakupkaplan/Home-Credit-Default-Risk)\n\n**Tarih:** 2026 · Qiskit + IBM Quantum Runtime · Eğitim / POC amaçlı\n"
  }
 ],
 "metadata": {
  "colab": {
   "gpuType": "T4",
   "name": "",
   "version": ""
  },
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "04ab1ae62fbf451b9f210e390a032f9b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": "90px"
      }
     },
     "1af1ebeb282e4f7593769218e7c367f2": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "460px"
      }
     },
     "1ca43e06451347618e18ec0381559d64": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "2f323a1b5a9f49aab9a27e687dd71fd8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DropdownModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DropdownModel",
       "_options_labels": [
        "— Problem seçin —",
        "Machine Learning",
        "Optimization & Logistics"
       ],
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "DropdownView",
       "description": "Problem:",
       "description_tooltip": null,
       "disabled": false,
       "index": 0,
       "layout": "IPY_MODEL_d679c6f5d48d43f38f517bb35d89f357",
       "style": "IPY_MODEL_ec03bd8af2474b09b1257d54a1253d3c"
      }
     },
     "40a9efa833b545c78eb128b4c4b01b1c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "5491157d42084865975e8b46b92ed164": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "VBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "VBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "VBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_c7873b7843c44d5da4baf4d20db9eb30",
        "IPY_MODEL_2f323a1b5a9f49aab9a27e687dd71fd8",
        "IPY_MODEL_7882d40f103a4b34b9010c2d46e9abe3",
        "IPY_MODEL_afca07d22773485093542e60cba6b85a",
        "IPY_MODEL_e99355c244094af3bc0f9d81bdd28ac7"
       ],
       "layout": "IPY_MODEL_8170a79b960a4f6c9ec222bdc7493964"
      }
     },
     "6c63a0eca17e42439c243a4a70afb546": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": "90px"
      }
     },
     "7882d40f103a4b34b9010c2d46e9abe3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DropdownModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DropdownModel",
       "_options_labels": [
        "— önce problem —"
       ],
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "DropdownView",
       "description": "Donanım:",
       "description_tooltip": null,
       "disabled": true,
       "index": 0,
       "layout": "IPY_MODEL_1af1ebeb282e4f7593769218e7c367f2",
       "style": "IPY_MODEL_04ab1ae62fbf451b9f210e390a032f9b"
      }
     },
     "8170a79b960a4f6c9ec222bdc7493964": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "afca07d22773485093542e60cba6b85a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DropdownModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DropdownModel",
       "_options_labels": [
        "— önce donanım —"
       ],
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "DropdownView",
       "description": "Algoritma:",
       "description_tooltip": null,
       "disabled": true,
       "index": 0,
       "layout": "IPY_MODEL_ea06dd03d3324c52af3071f6f4efc035",
       "style": "IPY_MODEL_6c63a0eca17e42439c243a4a70afb546"
      }
     },
     "be7415e619534728987516438a077202": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "c7873b7843c44d5da4baf4d20db9eb30": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_1ca43e06451347618e18ec0381559d64",
       "placeholder": "​",
       "style": "IPY_MODEL_40a9efa833b545c78eb128b4c4b01b1c",
       "value": "<h3>🔧 Pipeline Seçim Motoru <span style='font-size:12px;color:#64748b;'>(High-Qubit Home Credit Default Risk)</span></h3>"
      }
     },
     "d679c6f5d48d43f38f517bb35d89f357": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "460px"
      }
     },
     "e99355c244094af3bc0f9d81bdd28ac7": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_be7415e619534728987516438a077202",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "text/markdown": "### Seçim: **Machine Learning** → **Superconducting Qubits** → **VQC**",
          "text/plain": "<IPython.core.display.Markdown object>"
         },
         "metadata": {},
         "output_type": "display_data"
        },
        {
         "data": {
          "text/markdown": "**Cihaz:** `ibm_or_aer`",
          "text/plain": "<IPython.core.display.Markdown object>"
         },
         "metadata": {},
         "output_type": "display_data"
        },
        {
         "data": {
          "text/markdown": "**Model:** $f_\\theta(x) = \\langle 0| U^\\dagger(x,\\theta) M U(x,\\theta) |0\\rangle$",
          "text/plain": "<IPython.core.display.Markdown object>"
         },
         "metadata": {},
         "output_type": "display_data"
        },
        {
         "data": {
          "text/html": "<div style='padding:12px;background:#f0fdf4;border-left:4px solid #22c55e;border-radius:8px;'><b>✅ Hazır.</b> SELECTED_ALGO=<code>VQC</code> — Yüksek qubit için <b>VQC</b> önerilir.</div>",
          "text/plain": "<IPython.core.display.HTML object>"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ]
      }
     },
     "ea06dd03d3324c52af3071f6f4efc035": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": "460px"
      }
     },
     "ec03bd8af2474b09b1257d54a1253d3c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": "90px"
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}