質問の概要
探索的データ解析(EDA)のお作法的な質問です。
ipynbを使った効率的なデータ分析の方法について知りたいです。
なお構造化データに対する、機械学習を用いた典型的な回帰問題を解いています。
現状実施している、データ分析の手順
以下のような手順で取り組んでいます。
1. 全体のデータを、ある程度互いに独立していることが見込めるカテゴリ(データ群)に分割
EDAを高速に行いたいこと、全データがメモリに乗り切らないことがデータ分割の理由です。
例えば小売店の売り上げの予測でいえば「食品の売上」「衣類の売上」のように、互いに比較的独立していそうなデータ群ごとに分割しています。
2. 分割された一部のデータだけを用いて前処理やアルゴリズム(学習と予測)を検討
前処理や分析の過程を理解するため、セルごとに可視化をしながら実行しています。
3. 全データに対して、同じ前処理やアルゴリズム(学習と予測)を実装
前処理から学習、予測までの一連の流れを、それぞれのデータ群に対して実行します。
最後に全データに対する予測結果をもって、予測結果の評価をします。
困っていること
上記の手順のうち、手順2と手順3は繰り返しいったりきたりするわけですが
ノートブック上には30~50くらいのセルが存在し、手順2ではセルごとに逐次実行している
手順3の実施時には、異なるデータに対して上記の30~50のセル全体を繰り返し実行したい
という事情があり、どうすれば効率的に実施できるか困っています。
イメージとしては、複数のコードセルに対してfor文を回す、という感じです。
苦し紛れに以下のようにしました。
- 手順2で使っている「逐次処理用Notebook」からコードセルを一つずつコピー
- 新規に作成した「バッチ処理用Notebook」の1つのコードセルに上記を全てペースト
- 「バッチ処理用Notebook」の当該コードセルをfor文で囲み、まとめて実行(手順3)
が、当然ダブルメンテになるのでしんどいです。
ど素人で恐縮ですが、うまく回していらっしゃる方、アドバイスをいただけないでしょうか。
回答1件
あなたの回答
tips
プレビュー