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
runsdengan model, parameter JSON, metrik, dan stempel waktu - Helper
log_rununtuk mencatat setiap proses pelatihan ORDER BY ... DESC LIMITuntuk menemukan proses terbaik, sertaWHEREuntuk memfilter- Agregasi
GROUP BYdan 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
- SQLite dengan Modul sqlite3 Python
- Integrasi Pandas dan SQL
- Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin
- Pengantar Basis Data Vektor