0Pricing
Learn AI with Python · Pelajaran

Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin

Mempertahankan prediksi model, log eksperimen, dan data fitur dalam basis data relasional.

Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Melacak Eksperimen Pembelajaran Mesin

Saat melatih model, Anda menghasilkan puluhan proses dengan pengaturan dan skor yang berbeda. Tanpa pencatatan, Anda akan kehilangan informasi tentang konfigurasi yang bekerja paling baik.

Sebuah basis data eksperimen mencatat setiap proses sehingga Anda dapat mengueri, membandingkan, dan mereproduksi hasil terbaik.

Merancang Tabel Eksperimen

Skema yang baik mencatat identitas proses, model, hiperparameter utama, metrik, dan cap waktu. Simpan hiperparameter yang fleksibel sebagai kolom teks JSON.

import sqlite3

conn = sqlite3.connect("experiments.db")
conn.execute("""
CREATE TABLE IF NOT EXISTS runs (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    model TEXT NOT NULL,
    params TEXT,
    accuracy REAL,
    f1 REAL,
    created_at TEXT DEFAULT (datetime("now"))
)
""")
conn.commit()

Mengapa Cap Waktu dan ID?

id yang bertambah otomatis memberi setiap proses pengenal yang stabil, sedangkan created_at memungkinkan Anda mengurutkan proses berdasarkan waktu atau menemukan yang terbaru.

DEFAULT (datetime("now")) mengisi cap waktu secara otomatis saat penyisipan.

Mencatat Suatu Proses

Setelah pelatihan, sisipkan hasilnya. Serialisasikan kamus hiperparameter ke JSON agar skema tetap fleksibel untuk berbagai model.

import json, sqlite3

params = {"n_estimators": 200, "max_depth": 8}
conn.execute(
    "INSERT INTO runs (model, params, accuracy, f1) VALUES (?, ?, ?, ?)",
    ("random_forest", json.dumps(params), 0.913, 0.902),
)
conn.commit()

Pembantu log_run yang Dapat Digunakan Kembali

Bungkus penyisipan dalam sebuah fungsi yang Anda panggil di akhir setiap skrip pelatihan. Pencatatan yang konsisten memungkinkan perbandingan di kemudian hari.

def log_run(conn, model, params, accuracy, f1):
    conn.execute(
        "INSERT INTO runs (model, params, accuracy, f1) VALUES (?, ?, ?, ?)",
        (model, json.dumps(params), accuracy, f1),
    )
    conn.commit()

Memilih Proses Terbaik

Temukan model terbaik dengan mengurutkan berdasarkan metrik. ORDER BY accuracy DESC bersama LIMIT mengembalikan hasil terbaik.

cur = conn.execute(
    "SELECT model, accuracy, f1 FROM runs ORDER BY accuracy DESC LIMIT 5"
)
for row in cur.fetchall():
    print(row)

Menyaring Berdasarkan Model atau Ambang

Persempit perbandingan dengan WHERE: pilih hanya satu keluarga model atau hanya proses dengan skor di atas target.

cur = conn.execute(
    "SELECT model, accuracy FROM runs WHERE model = ? AND accuracy > ? ORDER BY accuracy DESC",
    ("random_forest", 0.90),
)
print(cur.fetchall())

Mengagregasikan Berbagai Proses

Agregasi SQL merangkum banyak proses sekaligus: hasil terbaik, rata-rata, dan jumlah untuk setiap model dengan GROUP BY.

cur = conn.execute("""
SELECT model,
       COUNT(*) AS n,
       MAX(accuracy) AS best,
       AVG(accuracy) AS mean
FROM runs
GROUP BY model
ORDER BY best DESC
""")
print(cur.fetchall())

Memuat Hasil ke pandas

Untuk perbandingan yang lebih kaya, tarik tabel ke dalam DataFrame dan analisis dengan pandas—urutkan, susun pivot, dan buat grafik.

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine("sqlite:///experiments.db")
df = pd.read_sql("SELECT * FROM runs", engine)
print(df.sort_values("accuracy", ascending=False).head())

Membandingkan Eksperimen di pandas

Perluas parameter JSON menjadi kolom untuk mengaitkan hiperparameter dengan metrik—tepat seperti inilah yang memandu eksperimen Anda berikutnya.

import json, pandas as pd

params_df = df["params"].apply(json.loads).apply(pd.Series)
full = pd.concat([df, params_df], axis=1)
print(full.groupby("max_depth")["accuracy"].mean())

Mereproduksi Model Terbaik

Karena setiap proses menyimpan hiperparameternya, mereproduksi model terbaik cukup dilakukan dengan membaca barisnya dan membuat ulang model menggunakan parameter tersebut.

best = df.sort_values("accuracy", ascending=False).iloc[0]
import json
best_params = json.loads(best["params"])
print("Reproduce", best["model"], "with", best_params)

Pemeriksaan Singkat: Proses Terbaik

Anda ingin mendapatkan lima proses dengan akurasi tertinggi dari tabel.

Ringkasan: Menyimpan dan Mengueri Hasil Pembelajaran Mesin

Anda telah membangun alur kerja pelacakan eksperimen:

  • Tabel runs dengan model, parameter JSON, metrik, dan stempel waktu
  • Helper log_run untuk mencatat setiap proses pelatihan
  • ORDER BY ... DESC LIMIT untuk menemukan proses terbaik, serta WHERE untuk memfilter
  • Agregasi GROUP BY dan pandas untuk perbandingan yang lebih mendalam
  • Parameter yang disimpan membuat pemenang dapat direproduksi

Selanjutnya: basis data vektor untuk pencarian berbasis representasi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin” gratis?

Ya — teks lengkap “Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin”?

Mempertahankan prediksi model, log eksperimen, dan data fitur dalam basis data relasional. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. SQLite dengan Modul sqlite3 Python
  2. Integrasi Pandas dan SQL
  3. Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin
  4. Pengantar Basis Data Vektor
← Kembali ke Learn AI with Python