「GitHubツールでデータサイエンスプロジェクトをスーパーチャージングする」
「GitHubツールでデータサイエンスプロジェクトをスーパーチャージする方法」
テクノロジーは急速に進化し、私たちの職場を変革する新しいイノベーションをもたらしています。特にこれらの進歩によって特に影響を受けているのは、データサイエンティストの役割です。データサイエンスは既に興味深い分野ですが、新しいツールによって生産性と能力の面で次のレベルに進んでいます。これらの新しいテクノロジーの助けを借りて、データサイエンティストはこれまで以上に高速かつ効率的に作業できるようになりました。この記事では、これらの進歩をご紹介します。
Python、VS Code、GitHubツールを使用したデータサイエンスプロジェクト
まずは、データサイエンスのワークフローの生産性を向上させる革新的なGitHubツールや機能について詳しく見ていきましょう。具体的には、季節性や天候条件に基づいて自転車レンタル事業のレンタル数を予測する予測モデルを作成する依頼があったと想像してみましょう。
そんなモデルを構築するために、過去のレンタルデータセットから始めて、PythonのJupyterノートブックを使用してデータ分析や実験を行います。VS Codeで行います。このプロジェクトの生産性向上の秘訣は、次の2つの要素です:
- GitHub Copilot:VS Codeインターフェースに組み込まれたAI搭載アシスタントで、インラインの提案、スラッシュコマンド、チャットエクスペリエンスを提供します。
- GitHub Codespaces:クラウドでホストされる事前定義の開発環境です。
ワークスペースの作成
最初のPythonコードを書く前、または新しいJupyterノートブックを作成する前に、ローカルマシンに最新バージョンのPythonがインストールされている必要があります。また、VS CodeにPython拡張機能をインストールする必要もあります。そして、データの探索、クリーニング、可視化に必要なPythonライブラリと機械学習モデルのトレーニングと評価に必要なライブラリもインストールする必要があります。これらの準備工程はプロジェクトによって異なる場合があり、いくつかは競合や依存関係があり、ワークフローにさらなる努力を必要とする場合もあります。また、同じプロジェクトでチームと協力する場合は、彼らも同じインストールプロセスを複製する必要があります。
そこで、GitHub Codespacesが非常に役に立つ状況です。このツールを使用すると、プロジェクトの再現性のある事前設定済みのワークスペースをクラウド上に作成し、共有することができます。では、どう始めればいいでしょうか?
IDE(VS Code)でGitHub Copilot Chatを有効にした後、ビルトイン仮想アシスタントとチャットインターフェースを介して対話することができます。自然言語で質問したり、予め定義されたスラッシュコマンドを使用して期待する回答の範囲を定義することができます。
たとえば、「/createWorkspace for a Jupyter Python notebook with a GitHub Codespaces configuration installing pPandas, numpy and scikit-learn」というプロンプトは、プロジェクトのための提案されたディレクトリ構造を出力します:
- `.devcontainer/devcontainer.json` – GitHub Codespaces開発コンテナの設定ファイルで、使用するDockerイメージとコンテナにインストールする拡張機能を指定します。
- `.devcontainer/requirements.txt` – 開発コンテナにインストールするPythonパッケージをリストアップする設定ファイルです。
- `data/my_data.csv` – Jupyterノートブックで使用するデータを含むファイルのプレースホルダです。
- `notebooks/my_notebook.ipynb` – pPandas、numpy、およびscikit-learnをインポートするテンプレートJupyterノートブックファイルです。
- `README.md` – プロジェクトのドキュメントを含むファイルのプレースホルダです。
また、下部の「ワークスペースを作成」をクリックすることで、ディレクトリ構造がローカルに作成され、ファイルがいくつかの基本コンテンツで初期化されます。このコンテンツは、シナリオに合わせてカスタマイズできます。
それでは、ここからGitHub Codespacesを作成するには、まずVisual Studio Codeのサイドバーメニューの「ソースコード」パネルを通じて、コードをGitHubに公開する必要があります。
その後、ビルドに使用される設定ファイルをカスタマイズすることができます。たとえば、devcontainer.jsonファイルに以下のコードを使用して、GitHub CopilotとGitHub Copilotチャットの拡張機能を追加できます:
"customizations": { "vscode": { "extensions": [ "github.copilot", "github.copilot-chat" ] }
注意点として、‘customizations’フィールドは、json構造の中でコンテナの‘name’と同じレベルにある必要があります。GitHub Copilotが作成したjsonファイルに既に拡張機能の配列がある場合は、それに2つの拡張機能を追加するだけです。
これにより、リモート環境でもGitHub Copilotの機能を使用することができます。
その後、フォルダ構造内のdevcontainer設定ファイルを使用して、リモートGitHub Codespacesを作成するためにGitHub Copilotチャットのサポートを再度依頼することができます。「このフォルダ構造のdevcontainer設定ファイルを使用して、今からGitHub Codespacesを作成するにはどうすればよいですか?」
応答で提供される指示に従うことで、事前定義済みの要件で構成されたGitHub Codespacesをビルドして開くことができます。
Pythonコードの記述、デバッグ、およびドキュメント化
Visual Studio CodeでGitHub Codespacesを開いたら、実験を開始することができます。プロジェクトの最初のステップは、Pandasデータフレームにモデルトレーニングに使用するデータをインポートすることです。Pythonコードを書く際には、GitHub Copilotからインラインの提案(スクリーンショットの灰色のライン)を受け取ることができます。これらの提案は、完全に受け入れることも、一部のみ受け入れることも、無視することもできます。
また、Pandasライブラリは、GitHub Codespacesを構築するために使用される要件ファイルにリストされているため、最初のコードセルを実行する前に追加の手順は必要ありません。
次に、データの可視化を行いましょう。例えば、データセット内の自転車のレンタル分布を表したmatplotlibのヒストグラムを作成したいとします。
上記の例では、軸オブジェクトが定義されていないためにNameErrorの例外が発生しています。このような場合、GitHub Copilotはエラーのトラブルシューティングを支援します。Copilotを使用して修正するボタンをクリックするだけで、エラーの分析と修正のためのコード変更の提案を取得することができます。
データの探索とクリーニングを行った後(これらの詳細は本記事の範囲外です)、回帰モデルのトレーニングに進みましょう。これがソリューションの核心部分なので、コードに付随する明確なドキュメントがあればありがたいです。GitHub copilot /docコマンドを使用して、コードの文書化という煩雑で欠かせない作業を加速することができます。
興味のあるコードの部分を選択し、チャットウィンドウにコマンドを入力することで、簡単に望んだ出力を得ることができます。たとえば、ノートブックのマークダウンセルのコンテンツとして使用できます。
要約
この記事では、GitHubのツール、Python、およびVS Codeを活用して、データサイエンティストが生産性を向上させ、コラボレーションを強化するためのいくつかのヒントとトリックを提供しました。GitHub Codespacesを使用して再現可能なワークスペースを作成し、GitHub Copilotとのチャットインターフェースを介してプロジェクトのセットアップを効率化する方法について説明しました。また、GitHub Copilotがインラインの提案を提供し、デバッグを支援し、ドキュメンテーションのタスクを自動化する方法も示しました。これにより、データサイエンスプロジェクトの効率と効果が向上します。
デモで使用したプロンプトを環境で試す場合は、異なる結果が得られる可能性があることに注意してください。GitHub CopilotはOpenAI GPT-4モデルで駆動しており、大規模な言語モデルと同じく非決定的です。つまり、同じ入力に対して異なる出力が得られることがあります。
GitHubとVS Codeを使用して生産性を向上させる方法について詳しく学びたいですか? VS Code Explains シリーズを視聴し、GitHubツールに関するデータサイエンスプロジェクトのスーパーチャージングウェビナーに参加しましょう。
著者について:
Carlotta Castelluccio – AI Cloud Advocate
Gabriela De Queiroz – AI – Microsoft for Startupsのディレクター
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles