Menguji model

Machine Learning Ujung ke Ujung

Joshua Stapleton

Machine Learning Engineer

Deployment

  • Langkah berikutnya dalam siklus ML
  • Setelah pelatihan dan evaluasi
  • Membuat model siap digunakan

Fase deployment pada siklus machine learning

Machine Learning Ujung ke Ujung

Testing

  • Testing:
    • Model tidak crash
    • Mengembalikan output yang masuk akal saat inferensi
    • Mengembalikan output dalam waktu yang wajar

Fase deployment pada siklus machine learning

Machine Learning Ujung ke Ujung

Unittest

  • Testing
    • Menandai kejadian anomali/tidak terduga
    • Memastikan model bekerja sesuai harapan

 

  • unittest
    • Pustaka Python bawaan untuk menulis test
    • Test case: jenis cakupan pengujian
    • Metode test case: satu test untuk satu aspek kasus
Machine Learning Ujung ke Ujung

Penggunaan unittest

import unittest


class TestModelInference(unittest.TestCase):
def setUp(self): self.model = fitted_model self.X_test = X_test
def test_prediction_output_shape(self): y_pred = self.model.predict(self.X_test) self.assertEqual(y_pred.shape[0], self.X_test.shape[0])
if __name__ == '__main__': unittest.main()
Machine Learning Ujung ke Ujung

Penggunaan unittest (lanj.)

 

    def test_input_values(self):
        print("Running test_input_values test case")

        # Get inputs (each row in testing set)
        for input in X_test: 
            for value in input:
                # if value is cholestrol, for example:
                self.assertIn(value, [0, 500])
Machine Learning Ujung ke Ujung

Testing di Python

Machine Learning Ujung ke Ujung

Hal yang boleh dan tidak dalam testing

Praktik terbaik

  • JANGAN...
    • Menulis terlalu banyak test
    • Menulis test yang redundan
    • Menulis test untuk komponen yang sangat andal

 

  • LAKUKAN...
    • Tulis test untuk meningkatkan keandalan
    • Tulis test untuk memeriksa/mengelola ekspektasi
    • Tulis test untuk fungsionalitas baru
Machine Learning Ujung ke Ujung

Manfaat testing

Manfaat TDD

  • Percaya diri saat pengembangan
    • Iterasi stabil
    • Lebih sedikit kekhawatiran soal bug
  • Kinerja
    • Keandalan
    • Siap produksi
Machine Learning Ujung ke Ujung

Ayo berlatih!

Machine Learning Ujung ke Ujung

Preparing Video For Download...