データのクリーニング、トレーニングデータの準備など、一連のステップを含む機械学習アルゴリズムがあります。各ステップは、python クラスの個別のメソッドに保存されます。クラスのインスタンス化時にステップが自動的に実行されるように、クラスを構築するためのベストプラクティスの方法は何だろうと思っています。
これが私がやったことです(コードは説明用ですが、このアプローチは実際のアルゴリズムで機能します)。少しゴツい感じです。もっとエレガントな方法はありますか?
class Kaggle():
"""
An algorithm
"""
def __init__( self ):
self.bar = 1
def step_one( self, some_text_data ):
self.bar = 1 ** 2
# Do some data cleaning
# return processed data
def step_two( self ):
foo = step_one(baz)
# do some more processing
def step_three( self ):
bar = step_two()
# output results
def run( self ):
self.step_one()
self.step_two()
self.step_three()
if __name__ == "__main__":
kaggle = Kaggle()
kaggle.run()