जहां तक मुझे पता है कि टीडीडी का सामान्य वर्कफ़्लो ब्लैक बॉक्स परीक्षण पर आधारित है। सबसे पहले हम इंटरफ़ेस को परिभाषित करते हैं और फिर एक या परीक्षण का सेट लिखते हैं और फिर हम सभी परीक्षणों को पार करने वाले कोड को लागू करते हैं। तो नीचे दिए गए उदाहरण को देखो:मशीन सीखने में टीडीडी के लाभ
from abc import ABCMeta
class InterfaceCalculator:
__metaclass__ = ABCMeta
@abstractmethod
def calculate_mean(self):
pass
अनुकरणीय परीक्षण का मामला
from unittest import TestCase
class TestInterfaceCalculator(TestCase):
def test_should_correctly_calcluate_mean(self):
X=[1,1]
expected_mean = 1
calcluator =Calculator()
self.assertAlmostEqual(calculator.calculate_mean(X), expected_mean)
मैं कक्षा कैलक्यूलेटर (InterfaceCalculator) के कार्यान्वयन को छोड़, क्योंकि यह मामूली बात है।
निम्नलिखित विचार को समझना बहुत आसान है। मशीन लर्निंग के बारे में कैसे? निम्नलिखित उदाहरण पर विचार करें। हम बिल्ली, कुत्ते फोटो वर्गीकरण को लागू करना चाहते हैं। इंटरफ़ेस से शुरू करें।
from abc import ABCMeta
class InterfaceClassifier:
__metaclass__ = ABCMeta
@abstractmethod
def train_model(self, data):
pass
@abstractmethod
def predict(self, data):
pass
मैं unittests
from unittest import TestCase
class TestInterfaceCalculator(TestCase):
def __init__(self):
self.model = CatDogClassifier()
def test_should_correctly_train_model(self, data):
"""
How can be implemented?
"""
self.model.train_model(data)
def test_should_correctly_calcluate_mean(self):
input ="cat.jpg"
expected_result = "cat"
calcluator =.assertAlmostEqual(self.model.preditct(input), expected_result)
यह रास्ता मशीन सीखने मॉडल पर काम में मदद करने के TDD उपयोग करने के लिए है की बहुत चौखट सेट तैयार? या इस मामले में टीडीडी बेकार है। यह केवल इनपुट डेटा की शुद्धता को सत्यापित करने और प्रशिक्षित मॉडल के उच्च स्तर परीक्षण को जोड़ने में हमारी सहायता कर सकता है? मैं अच्छे स्वचालित परीक्षण कैसे बना सकता हूं?
कह नहीं सकते मैं टेस्ट स्वीट के हिस्से के रूप में इस किया है, लेकिन पहली बात यह है कि मन में आता है एक बेंचमार्क या अनुभवहीन वर्गीकारक के खिलाफ वर्गीकारक के पार सत्यापन त्रुटि परीक्षण कर रहा है। –