
Sistem berbasis aturan
Sistem berbasis aturan adalah seperangkat aturan yang telah ditentukan sebelumnya untuk membuat keputusan atau memberikan rekomendasi. Sistem mengevaluasi data terhadap aturan yang disimpan dan melakukan tindakan tertentu berdasarkan pemetaan.
Di bawah ini adalah beberapa contoh:
Deteksi Penipuan: Dalam deteksi penipuan, sistem berbasis aturan dapat digunakan untuk menandai dan menyelidiki transaksi mencurigakan berdasarkan aturan yang telah ditentukan dengan cepat.
Sekitar sepuluh tahun yang lalu, saya ingat membuat algoritme untuk menangkap penipu catur. Cara dasar para penipu bertindak adalah dengan memiliki aplikasi catur komputer di jendela lain yang menyarankan langkah terbaik. Apa pun kerumitan posisinya, setiap gerakan membutuhkan waktu 4–5 detik. Tambahkan “ambang akurasi” — seberapa dekat dengan garis komputer “terbaik” yang dilakukan pemain, dan Anda akan memiliki sistem yang cukup kuat.
Gim catur vs. penipu. Gambar yang dihasilkan oleh penulis.
Kesehatan: Sistem berbasis aturan dapat digunakan untuk mengelola resep dan mencegah kesalahan pengobatan. Mereka juga bisa sangat berguna untuk membantu dokter meresepkan analisis tambahan yang akan diambil oleh pasien berdasarkan hasil yang sebelumnya.
Manajemen Rantai Pasokan: Dalam manajemen rantai pasokan, sistem berbasis aturan dapat digunakan untuk menghasilkan peringatan untuk persediaan rendah, membantu mengatur tanggal kedaluwarsa, atau untuk pengenalan produk baru.
sistem berbasis ML
Sistem Pembelajaran Mesin (ML) menggunakan algoritme untuk belajar dari data dan membuat prediksi atau mengambil tindakan tanpa diprogram secara eksplisit untuk melakukannya. Sistem ML menggunakan pengetahuan yang diperoleh dengan dilatih pada data dalam jumlah besar untuk membuat prediksi dan keputusan untuk data baru. Algoritme ML dapat meningkatkan kinerjanya karena lebih banyak data digunakan untuk pelatihan. Sistem ML mencakup pemrosesan bahasa alami, pengenalan gambar dan ucapan, analitik prediktif, dll.
Deteksi penipuan: bank mungkin menggunakan sistem ML untuk belajar dari transaksi penipuan sebelumnya dan mengidentifikasi potensi aktivitas penipuan secara real-time. Atau, itu mungkin merekayasa balik sistem dan mencari transaksi yang terlihat sangat “aneh”.
Perawatan kesehatan: rumah sakit mungkin menggunakan sistem ML untuk menganalisis data pasien dan memprediksi kemungkinan pasien mengembangkan penyakit tertentu berdasarkan beberapa sinar-X.
Computer Vision untuk Pemotretan Sinar-X. Github
Rantai Pasokan: perkiraan permintaan berdasarkan riwayat penjualan untuk berbagai pengguna/lokasi/item/SKU
Pro dan kontra
Sistem berbasis aturan dan ML memiliki kelebihan dan kekurangannya masing-masing. Mari kita pergi melalui mereka.
Sistem berbasis aturan: Keuntungan
Sederhana untuk dipahami dan ditafsirkan Cepat untuk diterapkan Mudah untuk dimodifikasi Kuat
Sistem berbasis aturan: Kerugian
Isu yang melibatkan sejumlah besar variabel Masalah dengan berbagai kendala Terbatas pada aturan yang ada
Sistem berbasis ML: Keuntungan
Sistem pembelajaran otonom Kemampuan untuk mengatasi masalah yang lebih rumit Efisiensi lebih tinggi dengan intervensi manusia yang lebih sedikit dibandingkan dengan sistem berbasis aturan Fleksibilitas untuk beradaptasi dengan perubahan data dan lingkungan dari waktu ke waktu melalui pembelajaran berkelanjutan
Sistem berbasis ML: Kerugian
Membutuhkan data. Terkadang sangat terbatas pada data ML yang terlihat sebelum kemampuan kognitif yang terbatas
Ada cara pasti untuk menggabungkan kelebihan kedua metode — sistem hybrid
Sistem berbasis hybrid
Aturan, ML, dan Sistem Hybrid. Gambar yang dihasilkan oleh penulis.
Sistem hybrid, menggabungkan sistem berbasis aturan dan algoritma pembelajaran mesin, menjadi semakin populer akhir-akhir ini. Mereka dapat memberikan hasil yang lebih kuat, akurat, dan efisien, terutama ketika berhadapan dengan masalah yang kompleks.
Mari kita lihat jenis sistem hybrid yang dapat diimplementasikan menggunakan dataset rental:
Contoh kumpulan data. Gambar yang dihasilkan oleh penulis.
1. Aturan(Xi) → ML(Xi): Rekayasa fitur. Misalnya, mengonversi lantai menjadi salah satu dari tiga kategori: tinggi, sedang, atau rendah, bergantung pada jumlah lantai di dalam gedung.
2. ML(Yi) → Rule(Yi): Pemrosesan pasca. Pembulatan atau normalisasi hasil akhir.
3. ML(Yi) → Rule(Zi): Menggunakan prediksi ml untuk keputusan lainnya. Misalnya, haruskah kita mengajukan tawaran untuk sebuah flat berdasarkan probabilitas flat tersebut terjual minggu ini (sold_7), dan apakah harganya akan turun (price_drop)?
4. ML(Yi) + Aturan(Yi) → perkiraan gabungan. Memadukan hasil ML dengan berbasis aturan/domain/tabel.
Sebelum masuk ke kode, mari kita pikirkan beberapa perusahaan atau alat terkenal yang menggunakan sistem rule-ml di bawah tenda.
Saya berharap perusahaan seperti Grammarly atau QuillBot menggunakan sistem hybrid NLP untuk memeriksa ejaan dan pengulangan. Kasus lain — adalah sistem pencarian dan rekomendasi yang memiliki parameter yang dapat dikonfigurasi untuk meningkatkan hasil tertentu lebih tinggi.
OK, mari kita lihat beberapa kasus praktis.
Kasus Praktis
Anda dapat menemukan buku catatan di bawah contoh dan lainnya di Github.
Penyakit perapian
Mari kita lihat kerangka data penyakit jantung:
Bingkai Data Penyakit Jantung. Gambar yang dibuat oleh penulis
Mari terapkan Hutan Acak untuk memprediksi kelas target:
clf = RandomForestClassifier(n_estimators=100, random_state=random_seed X_train, X_test, y_train, y_test = train_test_split( df.iloc[:, :-1]df.iloc[:, -1]test_size=0.30, random_state=random_seed ) clf.fit(X_train, y_train))
Salah satu alasan kami memilih Hutan Acak adalah kemampuan kepentingan fitur bawaannya. Di bawah ini Anda dapat melihat pentingnya fitur yang digunakan untuk pelatihan:
Kepentingan Fitur untuk Kumpulan Data Terpilih. Dihasilkan oleh penulis.
Mari kita lihat hasil kami:
y_pred = pd.Series(clf.predict(X_test), index=y_test.index cm = kebingungan_matrix(y_test, y_pred, label=clf.classes_) conf_matrix = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=clf.classes_) conf_matrix.plot( ))
Matriks Kebingungan untuk Model Hutan Acak Murni f1_score(y_test, y_pred): 0,74 recall_score(y_test, y_pred): 0,747
Sekarang, bayangkan seorang ahli jantung melihat model Anda. Berdasarkan pengalaman dan pengetahuan domainnya, ia menyarankan bahwa fitur Thalassemia (thal) jauh lebih penting daripada yang ditunjukkan di atas. Anda memutuskan untuk membuat plot histogram dan melihat hasilnya.
Plot Histogram untuk Fitur dan Target
Mari kita tetapkan aturan wajib
y_pred[X_test[X_test[“thal”] == 2].indeks]= 1
Matriks konfusi, dalam hal ini, akan berubah:
Matriks Kebingungan untuk Model Hutan Acak Hibrida f1_score(y_test, y_pred): 0,818 recall_score(y_test, y_pred): 0,9
Seperti yang Anda lihat, hasilnya meningkat. Pengetahuan domain kami memainkan peran penting dalam memperkirakan skor pasien kami.
Transaksi penipuan
Kumpulan data lain, yang akan kita lihat adalah transaksi penipuan bank.
Bingkai Data Penipuan. Gambar yang dibuat oleh penulis
Dataset sangat tidak seimbang:
df[“Class”].value_counts() 0 28431 1 4925
Untuk membuat aturan, mari kita lihat peta kotak distribusi fitur:
BoxPlot untuk Fitur dan Target. Gambar yang dibuat oleh penulis
Salah satu solusi yang mungkin, selain menulis kelas HybridEstimator kita sendiri, akan menggunakan paket human-learn:
dari hulearn.classification import FunctionClassifier rules = { “V3”: (“<=", -2), "V12": ("<=", -3), "V17": ("<=", -2) , } def create_rules(data: pd.DataFrame, rules): filtered_data = data.copy() untuk col dalam aturan: filtered_data[col] = eval(f"filtered_data[col] {aturan[col][0]} {aturan[col][1]}") hasil = np.array(filtered_data[list(rules.keys())].min(axis=1)).astype(int) mengembalikan hasil hybrid_classifier = FunctionClassifier(create_rules, rules=rules)
Kita dapat membandingkan hasil untuk sistem murni berbasis 3 aturan dan metode kNN kita, yang menangani ketidakseimbangan dengan cukup baik:
Matriks Kebingungan untuk Model 3-Aturan dan kNN. Gambar yang dibuat oleh penulis
Anda dapat menemukan lebih banyak contoh sistem hybrid dan penggunaannya, termasuk sakelar pengaman dan menghadapi prediksi buruk, di notebook di GitHub.
Pengalaman pribadi
Contoh di atas bagus, tetapi bagaimana dengan sistem ML dalam produksi?
Saya baru saja memesan barang untuk dikirim dan menemukan bidang yang menarik untuk dilacak — perkiraan pengiriman. Saya mengerti ketika perkiraan waktu adalah tiga hari tetapi tidak menampilkan detik terlalu banyak?
Gambar yang dibuat oleh penulis
Di salah satu proyek saya baru-baru ini, kami melakukan peramalan permintaan. Tiga cara bagaimana sistem hybrid diimplementasikan:
1. Format Keluaran (tanpa Penyaringan Data)
Mengubah perkiraan ML menjadi kuantitas bisnis untuk diisi ulang:
Mengonversi Prakiraan ke Kuantitas Aktual. Gambar yang dibuat oleh penulis
2. Format Keluaran NPI (tanpa Penyaringan Data)
Setiap kali produk baru diperkenalkan ke pasar, untuk beberapa hari pertama, kami dapat menggunakan pengetahuan domain penjualan:
Menggunakan Pengetahuan Domain NPI untuk Peramalan Permintaan
3. Pilih Threads (with Data Filtering) untuk Time Series
Model deret waktu mungkin memerlukan banyak waktu untuk dijalankan, terutama jika model tersebut dirancang untuk menjalankan satu item/sku dalam satu waktu. Salah satu solusi untuk mempercepat perkiraan adalah memilih/menyortir utas yang paling berharga untuk dihitung terlebih dahulu:
Kemungkinan Distribusi Prakiraan Penjualan untuk Item
Kesimpulan
Sistem ML-aturan hibrid menawarkan manfaat praktis seperti penerapan cepat, ketahanan terhadap outlier, dan peningkatan transparansi. Mereka bermanfaat saat menggabungkan logika bisnis dengan pembelajaran mesin. Misalnya, sistem aturan-ML hibrida dalam layanan kesehatan dapat mendiagnosis penyakit dengan menggabungkan aturan klinis dan algoritme pembelajaran mesin yang menganalisis data pasien.
Karena bisnis dan ilmu data terus berintegrasi, sistem hybrid dapat menjadi sangat penting dalam integrasi yang lebih mulus. Sistem ini menawarkan kombinasi berharga dari pengetahuan berbasis aturan dan kemampuan pembelajaran mesin, memberikan solusi yang lebih komprehensif dan akurat untuk masalah yang kompleks. Fleksibilitas dan kemampuan beradaptasi sistem aturan-ML hybrid membuatnya efektif di banyak industri.
Sistem ML Bisnis dari Awal hingga Produk
Pembelajaran mesin telah dengan cepat mengubah dunia bisnis dalam beberapa tahun terakhir, menawarkan peluang baru untuk…
Data Scientist 2.0: Berkembang Bersama Industri
Temukan Rahasia Menjadi Data Scientist 2.0! Artikel terbaru menjelaskan bagaimana menjadi…
Pernahkah Anda menghadapi kasus ketika model aturan atau hibrida mengungguli ml murni? Tinggalkan di komentar di bawah.
Awalnya diterbitkan di Linkedin