Python
Contents
Python#
About Python Language#
ここでは神経科学における解析に話を限定します.神経科学で取得される主なデータは電気信号ということもあり,信号処理に適した代表的な言語としてMATLABがよく使われている印象です.しかし,最近ではデータセットの質と精度の向上に伴う機械学習・統計処理分野の発展もあり,Pythonも増えてきている印象です(2023 年 執筆現在).
私の狭い知識では心許ないので,ChatGPT に訊いてみました.
ChatGPT
MATLAB vs Python for neuroscience?
MATLAB と Python はどちらも神経科学研究で広く使われており、どちらにも利点と欠点があります。MATLAB は、ユーザーフレンドリーな GUI と豊富なツールボックスを備え、神経データ解析のための標準的なツールです。一方、Python は、その柔軟性、利用可能なライブラリの多さ、オープンソースの性質から、ますます人気が高まっています。Python は神経科学者やデータサイエンティストのコミュニティが拡大しており、それ以外でも、特に産業界や機械学習で広く利用されています。最終的に、MATLAB と Python のどちらを選ぶかは、あなたの研究ニーズや好みによります。
とはいえ真理はきっと最後の一文なのでしょう.好みに応じて決めるのが私もよいと思います.
Environment Setup#
このノートブックにあるコードは,一つ一つコピーしながら自分の環境で実行していく以外に,同じノートブックを実行環境下に複製して使うこともできます.ローカルにレポジトリを丸ごとコピーする場合は Git,クラウド上で実行する場合は Google Colaboratory の使用がオススメです.
Python Environment#
Python では様々なライブラリをインストールし,import して使うことになるため,仮想環境によりライブラリ空間をプロジェクトごとに分離することが望ましいです.
以下は Python 標準の venv を用いて仮想環境を管理する例です.
プロジェクトの仮想環境作成:
$ mkdir [PROJECT DIRECTORY] $ cd [PROJECT DIRECTORY] $ python3 -m venv [NEW ENV NAME]
Tip
[NEW ENV NAME]はプロジェクトに関係なく一貫して
venv
に統一するのがオススメ.すなわち$ python3 -m venv venv
で統一する.以降のコードは,これにしたがうとする.仮想環境のアクティベーション:
$ . venv/bin/activate (venv) $ which python ~/[PROJECT DIRECTORY]/venv/bin/python
ライブラリのインストール:
(venv) $ pip install [package name]
スクリプトの実行など:
(venv) $ python3 script.py
Git#
How to Clone This Repository#
MEA Book のノートブック一覧を丸ごとローカルにコピーして走らせたい方は,次のように Github からクローンしてください.CLI や Git が苦手な方は,Github から Download ZIP もできます.
$ git clone https://github.com/tk-neuron/meabook.git
クローン後,次の手順で同じ Python 環境を構築できます.
$ cd meabook/
$ python3 -m venv venv
$ . venv/bin/activate
(venv) $ pip install -r requirements.txt
How to Contribute to MEA Book#
また,Contribution(寄稿)してくださる方を積極的に募集しています.基本的にはプルリクエストを通じて行ってくださると助かりますが,小さな提案の場合は Github の機能である Issue を通じて送ってくださるのも歓迎です.
以下にプルリクエスト作成までの大まかな流れを紹介します.まず,上記の手順でレポジトリをクローンした後,次のように新しいブランチを切って移動してください.ブランチ名には追加したい機能の名前を含めることが多いです.
$ git checkout -b [feature/XXX]
新しいノートブックを追加したり,既存のファイルを変更したりして編集が済んだら,コミットしてください.
$ git add -p [file name]
$ git commit -m [commit message]
コミットが蓄積してブランチが仕上がったら,次のようにブランチの先頭をプッシュしてください.
$ git push origin HEAD
すると,Github 上で先ほどプッシュしたブランチに紐づくプルリクエストが編集できるようになります.プルリクエストとは,変更の内容をまとめて,ブランチを統合するためのリクエストを送っていただくものです.プロジェクトのオーナーはプルリクエストをレビューし,内容が問題ない場合はメインのブランチに統合され,今回の場合は Web ページに提案された変更内容が反映されます.
Google Colaboratory (Colab)#
Google のサーバー上に構築された Jupyter 環境に無料でアクセスできるツールで,Python による解析が環境構築不要で行えます.定番のライブラリ群はすでにインストールされているため,Python・環境構築に慣れていない方はまずこちらから始めてみるのがオススメです.
各ノートブックの右上にある Open Colaboratory というボタンをクリックしていただくと,Colab のページ が開き,すぐに解析を始めることができます.
Colab 上ではファイルのやり取りを Google Drive を通じて行います.本ノートブックでもサンプルデータを用いて解析を行うため,詳しくは次章 Datasetsを参照してください.