本リポジトリは朝倉書店発行書籍『データの前処理』(Pythonによるビジネスデータサイエンス 第2巻)のサポートサイトです。
※本リポジトリに関する更新履歴はwikiページをご参照ください。
サンプルプログラムはjpyter notebook(もしくはjupyter lab)で動作するipynbの形式で配布しています。以下に示したインストール方法を参考に実行環境を構築しコードを実行してください。
フォルダ名 | 説明 |
---|---|
Chapter_2 |
2章「データの収集」で使用するデータと.ipynb 形式のノートブック |
Chapter_3 |
3章「表構造データの処理技術」で使用するデータと.ipynb 形式のノートブック |
Chapter_4 |
4章「実践:公的統計」で使用するデータと.ipynb 形式のノートブック |
Chapter_5 |
5章「実践:マーケティング」で使用するデータと.ipynb 形式のノートブック |
Chapter_6 |
6章「実践:ファイナンス」で使用するデータと.ipynb 形式のノートブック |
Chapter_7 |
7章「実践:自然言語処理」で使用するデータと.ipynb 形式のノートブック |
Appendix_A |
付録A「付録A:Pythonの基礎」で使用するデータと.ipynb 形式のノートブック |
このページの上の緑の「Code」ボタンから「Download ZIP」でZIPファイルを作業をするフォルダにダウンロードし解凍してください。もしくは、以下に示す通り、git
コマンドでclone
して利用してください。
git
がインストールされていない場合は下記サイトを参照してインストールしてください。
サンプルプログラムをダウンロード(clone)する作業用のフォルダ/ディレクトリを適当に作成してください。
作成できたら下記コマンドを実行してください。サンプルプログラムがダウンロード(clone)されます。
※[作業用フォルダ/ディレクトリへのパス]
の部分は作成した作業用フォルダ/ディレクトリのパス(絶対パスもしくは相対パス)に置き換えてください。
cd [作業用フォルダ/ディレクトリへのパス]
git clone https://github.com/asakura-data-science/preprocessing.git .
ご自身でライブラリ等をインストールせずに、インストール済みのDockerイメージを利用される場合は、4. Docker実行環境の利用を参照してください。Docker環境を使えばWindows環境でもNYSOLライブラリを使用できます。
Python 3
がインストールされていない場合はPython 3
をインストールします。
下記コマンドを実行してPython 3
がインストールされているか確認します。
python --version
コマンドプロンプトを起動して上記コマンドを入力し、enter/returnキーを押して実行してください。 以降、「コマンドを実行する」という表現は、コマンドプロンプト上でのコマンド実行を表します。
Python 3.x.x
のように表示されればPython 3
がインストールされています。
python: command not found
のように表示された場合は、下記サイトを参照してPython 3
をインストールしてください。
- Window環境へのインストール https://www.python.jp/install/windows/index.html
下記コマンドを実行してPython 3
がインストールされているか確認します。
python3 --version
ターミナルを起動して上記コマンドを入力し、enter/returnキーを押して実行してください。 以降、「コマンドを実行する」という表現は、ターミナル上でのコマンド実行を表します。
Python 3.x.x
のように表示されればPython 3
がインストールされています。
python3: command not found
のように表示された場合は、下記サイトを参照してPython 3
をインストールしてください。
- Mac環境へのインストール https://www.python.jp/install/macos/index.html
- Linux(Ubuntu)環境へのインストール https://www.python.jp/install/ubuntu/index.html
- Lunux(CentOS)環境へのインストール https://www.python.jp/install/centos/index.html
また、同一PC内にPython 3
の複数バージョンをインストールしたい場合などではpyenv
等を利用します。pyenv
のインストール方法については下記サイト等をご参照ください。
なお、pyenv
でPython 3
をインストールした場合は、以降のインストールガイドにおけるpython3
pip3
コマンドはpython
pip
に差し替えて(コマンド末尾の3を除いて)実行してください。
- Mac環境への
pyenv
インストール
pyenvを使ってMacにPythonの環境を構築する (https://qiita.com/1000ch/items/93841f76ea52551b6a97) - Linux(Ubuntu)環境への
pyenv
インストール
ubuntu 20.04 / 18.04 に pyenv をインストールする話 (https://qiita.com/neruoneru/items/1107bcdca7fa43de673d) - Lunux(CentOS)環境への
pyenv
インストール
pyenv/Python をユーザ環境にインストールする手順(CentOS 8)(https://nwengblog.com/pyenv/)
pyenvを用いたpython環境構築手順(CentOS7.1)(https://qiita.com/ksugawara61/items/ba9a51ebfdaf8d1a1b48)
本書内で利用するPythonパッケージをインストールします。以下では、Windows, Mac, Linuxに分けてその方法を示します。また、NYSOLのインストールについても最後に説明しています。
なお、LinuxについてはCentOS
のインストール方法のみ紹介しています。CentOS
以外のディストリビューションのLinuxについては本ページでのインストール方法を参考に、各ライブラリのインストールガイドなどに沿ってインストールを行ってください。
WindowsではAnacondaをインストールし、Anacondaに同梱されていないライブラリをpipで追加インストールします。
-
anaconda3のインストール https://www.anaconda.com/products/individual よりPython3.8 の64-Bit Graphical Installerをダウンロードしてインストールしてください。
-
pipのアップグレード インストールに用いる
pip
コマンドは頻繁に更新されていますので、まずpip
コマンド自体をアップグレードしておきます。
pip install -U pip
- anacondaに入っていないライブラリのインストール
WindowsメニューのAnaconda3(64-bit)よりAnaconda Powershell Prompt(anaconda3)を起動して以下のインストールしてください。
7章の「実践:自然言語処理」の章末問題で利用する
MeCab
とJuman
についてはインストールが簡単ではないので省略しています。ネット上に詳細な解説記事がありますので検索し参照してください。 以下のPS>はPowershellのプロンプトを表しています。
PS> pip install python-Levenshtein
PS> pip install spacy
PS> python -m spacy download en_core_web_sm
PS> install sudachipy sudachidict_core
PS> install wordcloud
PS> install janome
PS> install nagisa
動作確認したWindowsのバージョン:
- Windows 10 Pro version 20H2(OSビルド19042.964)
- Windows 10 Home version 1803
(Windows Homeでは、nagisaのインストールではコンパイル済のパッケージ(wheel)が用意されていないため、コンパイラが必要となります。)
- pip3のアップグレード
インストールに用いるpip3
コマンドは頻繁に更新されていますので、まずpip3
コマンド自体をアップグレードしておきます。
pip3 install -U pip
-
Homebrewのインストール
Homebrewによるアプリケーションのインストールをしているため、以下のサイトを参考にHomebrewをインストールしてください。 https://brew.sh/index_ja -
本書のプログラムを実行するために必要なライブラリ
次に下記コマンドを実行し、各パッケージをインストールします。
pip3 install pandas
pip3 install numpy
pip3 install bs4
pip3 install xlrd
pip3 install pymysql
pip3 install python-Levenshtein-wheels
pip3 install matplotlib
pip3 install seaborn
pip3 install spacy
python3 -m spacy download en_core_web_sm
pip3 install sudachipy sudachidict_core
pip3 install wordcloud
pip3 install networkx
pip3 install janome
pip3 install nagisa
pip3 install mlxtend
pip3 install jupyterlab
# Mecabの環境構築
brew install mecab
wget -O mecab-ipadic-2.7.0-20070801.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM'
tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8
sudo make install
pip3 install mecab-python
# JumanとKNPの環境構築
brew install jump
pip3 install pyknp
- pip3のアップグレード
インストールに用いるpip3
コマンドは頻繁に更新されていますので、まずpip3
コマンド自体をアップグレードしておきます。
pip3 install -U pip
- ライブラリのコンパイルなどで必要なツール
下記コマンドを実行してインストールします。
sudo yum install wget
sudo yum install cmake
- 本書のプログラムを実行するために必要なライブラリ
次に下記コマンドを実行し、各パッケージをインストールします。
pip3 install pandas
pip3 install numpy
pip3 install bs4
pip3 install xlrd
pip3 install pymysql
pip3 install python-Levenshtein-wheels
pip3 install matplotlib
pip3 install seaborn
pip3 install spacy
python3 -m spacy download en_core_web_sm
pip3 install sudachipy sudachidict_core
pip3 install wordcloud
pip3 install networkx
pip3 install janome
pip3 install nagisa
pip3 install mlxtend
pip3 install jupyterlab
# Mecabの環境構築
## Mecabのインストール
wget -O mecab-0.996.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE'
tar zxvf mecab-0.996.tar.gz
cd mecab-0.996./configure --with-charset=utf8
make
sudo make install
## Mecab辞書のインストール
wget -O mecab-ipadic-2.7.0-20070801.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM'tar zxfv mecab-ipadic-2.7.0-20070801.tar.gzcd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8
make
sudo make install
## mecab-pythonのインストール
pip3 install mecab-python
# JumanとKNPの環境構築
## Juman++のインストール
wget https://github.com/ku-nlp/jumanpp/releases/download/v2.0.0-rc3/jumanpp-2.0.0-rc3.tar.xz
tar xvf jumanpp-2.0.0-rc3.tar.xz
cd jumanpp-2.0.0-rc3
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
make
sudo make install
## pyknpのインストール
pip3 install pyknp
- NYSOLの特徴
NYSOL(「にそる」と読む)は、データマイニング(大規模データの探索的な知識発見手法)を柔軟に実施することを目的に開発されてきたソフトウェアです。それをPythonで利用できるようにしたのがnysol_pythonで、いくつかのライブラリ群から構成されます。その中でも大規模CSVデータを高速かつ柔軟に処理する目的で開発されたライブラリがmcmd(「えむこまんど」と読む)で、nysol.mcmd
で参照できます。mcmdは、pandasで記述された多くの処理を実現でき、以下のような特徴を持ちます。
- 利点
- メモリに収まらないような大規模データでも処理可能
- テキスト処理を基本とするのでデータ型をほとんど意識しなくてよい。
- コマンドラインでもほぼ同じ書式で利用できる。
- 欠点
- 現在のところUnix系OSでしか動作せず、Windows環境では利用できない。
- ネット上で参照できるドキュメントが少ない。
- サンプルプログラム
mcmdによるサンプルプログラムは、オリジナルのプログラム名に'_mcmd'を加えたファイル名で同梱しています。例えば、'3/3-2_mcmd.ipynb'というコードは、オリジナルの'3/3-2.ipynb'と同じ処理をmcmdで記述したものです。 Windows環境で利用するには仮想環境のDockerを利用してください。 Mac/Linux環境でnysol
ライブラリを使用したい場合は追加で下記をインストールします。
- Macでインストール
# 以下のライブラリをHomebrewでインストールする。
brew install autoconf
brew install automake
brew install libtool
brew install boost
# nysol_pythonのインストール
pip3 install nysol
- Linux(CentOS)でインストール
# 以下のライブラリをyumでインストールする。
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install boost-devel
sudo yum install libxml2-devel
# nysol_pythonのインストール
pip3 install nysol
下記コマンドを実行して、jupyterlab
を起動してください。
cd [作業用フォルダ/ディレクトリへのパス]
jupyter-lab
すると、Webブラウザが起動してjupyterlabのページが開き、サンプルプログラムのフォルダ構成が表示されます。
jupyterlabの使用方法については、本書籍 付録B「Jupyterを使ったプログラミング環境」をご覧ください。
Docker
がインストールされていない場合は下記サイトを参照してインストールしてください。
- Window環境へのインストール
- Windows 10 の場合
- https://docs.docker.com/docker-for-windows/install/
- (日本語サイト)
- Windows 10 Pro, Enterprise, Education : https://docs.docker.jp/docker-for-windows/install.html
- Windows 10 Home : https://docs.docker.jp/docker-for-windows/install-windows-home.html
- Windows 10 以外, もしくは上記でうまくインストールできなかった場合は
Docker Toolbox
をインストールします。- https://www.docker.com/products/docker-toolbox
※Docker Toolbox
の概要はこちらのサイトを参照してください。https://docs.docker.jp/toolbox/overview.html?highlight=toolbox
- https://www.docker.com/products/docker-toolbox
- Windows 10 の場合
- Mac環境へのインストール
- Linux(Ubuntu)環境へのインストール https://docs.docker.com/engine/install/ubuntu/
- Lunux(CentOS)環境へのインストール https://docs.docker.com/engine/install/centos/
下記コマンドを実行してDocker
がインストールされているか確認できます。
docker --version
※Windows 10の場合はデスクトップにある「Docker for Windows」、Docker Toolbox
を使用する場合はデスクトップにある「Docker Quickstart Terminal」を起動します。コマンドプロンプトと同様の画面が開きますので、そこでコマンドを実行します(以下、Docker
の操作について同様)。
下記のdockerコマンドを実行すると、本書用に作成したDockerイメージがダウンロードされ、コンテナが起動します。Dockerイメージのダウンロードはネットワーク環境によって5〜20分ほど要します。また、Dockerイメージのサイズが9GB近くありますので、ディスクの空き容量が十分にあるか確認してから実行してください。
docker run --rm asakurads/preprocessing:1.0
画面に表示される実行ログにhttp://127.0.0.1:8888/lab
という表示が出力されればjupyterlabの起動完了です。
Webブラウザを起動して下記URLを入力するとjupyterlabのページが開き、サンプルプログラムのフォルダ構成が表示されます。
jupyterlabの使用方法については、本書籍 付録B「Jupyterを使ったプログラミング環境」をご覧ください。
ローカルPCのポート番号8888が別のプロセスで使用されている場合はdockerコンテナの起動コマンドを下記のように変更してください。下記オプションのxxxx
の部分にローカルPCで使用可能なポートを指定します。
docker run --rm -p xxxx:8888 asakurads/preprocessing:1.0
WebブラウザのURLは下記になります(xxxxは上記コマンドで指定したポート番号)。
上記4.2、4.3のdockerコマンドで起動したコンテナは--rm
オプションが指定されているため、コンテナ終了時に自動的に削除されます(dockerコマンドを実行するごとに新しいコンテナが作成されます)。
起動したdockerコンテナを削除せずに継続して使用したい場合は下記dockerコマンドで起動します。--rm
オプションを外し、--name
オプションでコンテナ名(ここではasakura_pre)を指定します。また、-d
オプションでバックグラウンド実行になります。
docker run -d -p 8888:8888 --name asakura_pre asakurads/preprocessing:1.0
dockerコンテナの操作で最低限必要なコマンドを下記に紹介しておきます(asakura_preはコンテナ名)。その他のdocker操作コマンドは公式サイト(日本語)やネットで調べてください。
#コンテナの実行ログの出力
docker container logs -f asakura_pre
#コンテナの起動
docker container start asakura_pre
#コンテナの停止
docker container stop asakura_pre
#コンテナの削除(コンテナが停止した状態でしか削除できない)
docker container rm asakura_pre
- Python: https://www.python.jp/
- pandas: https://pandas.pydata.org/
- jupyter: https://jupyter.org/
- NYSOL: https://www.nysol.jp/
- Docker: https://www.docker.com/ (日本語サイト) https://docs.docker.jp/
- RESAS: https://resas.go.jp/#/29/29443
- 総務省統計局: https://www.stat.go.jp/
- 金融データソリューションズ: https://www.fdsol.co.jp/index.html
- 日経NEEDS: http://www.nikkei.co.jp/needs/
- JPXデータクラウド: http://db-ec.jpx.co.jp/
- Yahoo!ファイナンス: https://finance.yahoo.co.jp/
- モーニングスター: https://www.morningstar.co.jp/
- Quandl: https://www.quandl.com/
- Bloomberg: https://www.bloomberg.co.jp/
- factset: https://www.factset.com/
- newsapi: https://newsapi.org/
- Spacy: https://spacy.io/
- Sudachi: https://github.com/WorksApplications/Sudachi
- Janome: https://mocobeta.github.io/janome/
- nagisa: https://github.com/taishi-i/nagisa
- mecab: https://taku910.github.io/mecab/
- JUMAN: https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN