天天看點

《貝葉斯思維:統計模組化的Python學習法》——2.7 讨論

本節書摘來異步社群《貝葉斯思維:統計模組化的python學習法》一書中的第2章,第2.7節,作者:【美】allen b. downey,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

本章介紹了suite類,它封裝了貝葉斯update架構。

suite是一個抽象類(abstract type),這意味着它定義了suite應該有的接口,但并不提供完整的實作。suite接口包括update和likelihood方法,但隻提供了update的實作,而沒有likelihood的實作。

具體類(concrerte type)是繼承自抽象父類的類,而且提供了缺失方法的實作。例如,monty擴充自suite,是以它繼承了update并且實作了likelihood。

如果你熟悉設計模式,你可能會意識到這其實是設計模式中模闆方法的一個例子。

大多數在以下章節中的例子遵循相同的模式,對于每個問題我們定義一個擴充的suite對象,繼承了update方法,并提供了likelihood。在少數情況下,會重寫update方法,通常是為了提高性能的緣故。