目的
Python 3系, (Python 2系), R, Scala, Java(JDK), Apache Spark を導入する
IDE( integrated development environment )として
・Jupyter notebook
・Rtudio
Macでは、 pythonは標準で 以下にンストールされてますが
/usr/bin/python /System/Library/Frameworks/Python.framework
これはApple が管理しているものですので。
Data Scienceで利用する場合は独自にインストールした方が良いです
Homebrewを使ってインストールします。
最近では3系をインストールした方が良いでしょう。
すでに開発している人はpython2系が必要でしょう
ここでは、共存は しないでpytho3系だけとする
python3系は Apache Sparkで pyspark が2系ですのでそれを使う
準備
Xcode と コマンドライン・デベロッパ・ツールをインストール
App Store から Xcordeをインストール
Xcordを立ち上げる、ライセンス認証をする
立ち上がったら、メニューから
[Xcord ] > [ Open Developer Tool ]> [ More Developer Tool…] を選ぶ
Apple Developer ログインページが開くのでSign In すると
Downloads for Apple Developers ページが開く
Xcodeと同じバージョンの Command Line Tools を選んでダウンロード、インストール
裏技
$ git ―version
コマンドライン・デベロッパ・ツールを導入するダイアログが出るので
インストールする [インストール]を選ぶ
[Xcodeを入手]はここでは選ばないrewで
Xcodeは App Storeからインストールして、一度開いてライセンス認証をしておく
コマンドライン・デベロッパ・ツールだけでも良いと思うのだけど、HomebrewでXcodeがないと
インストールできないものがある。
HomebrewはXcodeとコマンドライン・デベロッパ・ツールインストール導入が前提になっている
Homebrew をインストールする
/usr/local/ ディレクトリのパーミションを変更する
変更前
drwxr-xr-x 2 root wheel 68 7 31 05:49 local
変更後
drwxr-xr-x 2 username admin 68 7 31 05:49 local
つまりパーミションを所有者をログインユーザー グループをadminにする
$ sudo chown -R $(whoami):admin /usr/local
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew doctor # homebrewの診断
Your system is ready to brew.
XQuartz のインストール
# Rで描画のために XQuartzが必要なので、以下からダウンロード・インストール
https://www.xquartz.org
Javaのインストール
$ brew tap caskroom/cask
$ brew install brew-cask
$ brew cask install java
# 確認
$ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
$ which java
/usr/bin/java
Rのインストール
$ brew tap homebrew/science
$ brew install R
# 確認
$ which R
/usr/local/bin/R
Quartzが立ち上がり描画すれば成功
$ R
Rの終了は q()
Save workspace image? [y/n/c]: n 作業を保存するかしないか
RStudio インストール R IDE
RStudioホームページ https://www.rstudio.com/
RStudio Desktop ダウンロードページ
Open Source Editionで十分 MacOSX 10.6+ を選んでダウンロード・インストール
アプリケーションホルダーのRStudioを開く これで使えます
Macの場合 ホームホルダー直下に ..Rprofileを置くことで描画文字化けが防げます
https://gist.github.com/amano41/4173965 からダウンロードします
ページの右上4〜5行目にある [ Download ZIP ] ボタンを押します
ダウンロードした Rprofile.Rをホームホルダーに移動します
$ cd ~
$ mv Rprofile .Rprofile
Python3 インストール pip3含まれる
$ brew install python3
Data science 環境パッケージインストール
# numpyにscipyが依存しているので順番が重要です
$ pip3 install numpy
$ pip3 install scipy
$ pip3 install pandas
$ pip3 install matplotlib
$ pip3 install statsmodels
$ pip3 install scikit-learn
$ pip3 install pymc
$ pip3 install jupyter
パッケージインストール・テスト
$ ipython --pylab
In [1]: import numpy
In [2]: import scipy
In [3]: import pandas
In [4]: x = randn(1000)
In [5]: hist(x,100)
これでヒストグラムが描画できればOK
終了は exit()
ここまでにインストールされたパッケージ
$ pip3 list
appnope (0.1.0)
cycler (0.10.0)
decorator (4.0.10)
entrypoints (0.2.2)
ipykernel (4.5.0)
ipython (5.1.0)
ipython-genutils (0.1.0)
ipywidgets (5.2.2)
Jinja2 (2.8)
jsonschema (2.5.1)
jupyter (1.0.0)
jupyter-client (4.4.0)
jupyter-console (5.0.0)
jupyter-core (4.2.0)
MarkupSafe (0.23)
matplotlib (1.5.3)
mistune (0.7.3)
nbconvert (4.2.0)
nbformat (4.1.0)
notebook (4.2.3)
numpy (1.11.1)
pandas (0.18.1)
patsy (0.4.1)
pexpect (4.2.1)
pickleshare (0.7.4)
pip (8.1.2)
prompt-toolkit (1.0.7)
ptyprocess (0.5.1)
Pygments (2.1.3)
pymc (2.3.6)
pyparsing (2.1.9)
python-dateutil (2.5.3)
pytz (2016.6.1)
pyzmq (15.4.0)
qtconsole (4.2.1)
scikit-learn (0.18)
scipy (0.18.1)
setuptools (25.2.0)
simplegeneric (0.8.1)
six (1.10.0)
statsmodels (0.6.1)
terminado (0.6)
tornado (4.4.2)
traitlets (4.3.1)
wcwidth (0.1.7)
wheel (0.29.0)
widgetsnbextension (1.2.6)
パッケージの概要説明
Numpy Pythonで科学計算を行うための拡張モジュール 多次元配列,行列 演算処理
>Scipy NumPy base 科学技術計算用の統計関数、画像、信号処理などのライブラリ
Matplotlib 2次元のグラフ描画用のモジュールで、Ipythonとの組み合わせで
Pandas パフォーマンスに優れたデータ分析モジュールで、 時系列データ得意
jupyter $ jupiter notebook とすると、ブラウザーが上がりIDEとして利用できる
ipython jupyterによってインストールされた ほかんが出来る拡張シェル
Statsmodels 統計解析パッケージ
scikit-learn 機械学習ライブラリで、分類や回帰、クラスタリング評価尺度等
PyMC Pythonのベイズ統計用ライブラリです 特にMCMCに重点を置いています
パッケージ テスト
$ ipython --pylab
In [1]: import numpy
In [2]: import scipy
In [3]: import pandas
In [4]: x = randn(1000)
In [5]: hist(x,100)
ヒストグラムが描画できれば OK
python の終了は exit()
日本語形態素解析 Tool MeCabをインストール
システムに MeCabと辞書をインストルする
$ brew install mecab
$ brew install mecab-ipadic
Taminalでテスト ---------------------------
$ mecab
今日も元気で食事がうまい
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
も 助詞,係助詞,*,*,*,*,も,モ,モ
元気 名詞,形容動詞語幹,*,*,*,*,元気,ゲンキ,ゲンキ
で 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
食事 名詞,サ変接続,*,*,*,*,食事,ショクジ,ショクジ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
うまい 形容詞,自立,*,*,形容詞・アウオ段,基本形,うまい,ウマイ,ウマイ
EOS
RでMeCabを使う RMeCab
パッケージRMeCabをインストールする
$ R
install.packages("RMeCab", repos = "http://rmecab.jp/R")
library(RMeCab)
result<- p="" rmecabc="">unlist(result)
名詞 助詞 名詞 助動詞 名詞 助詞 形容詞
"今日" "も" "元気" "で" "食事" "が" "うまい" 抜けるには
control + d
->
pythonでMeCabを使う
mecab-python3をpython3環境にインストール
$ pip install mecab-python3
python3でも構わないのだけど、ipython やっている、コードは同じ
$ ipython --pylab
In [1]: import MeCab
In [2]: text = "豊洲市場の築地移転はどうなるのか?"
In [3]: t = MeCab.Tagger("-Ochasen")
In [4]: result = t.parse(text)
In [5]: print(result)
豊洲
トヨス
豊洲
名詞-固有名詞-人名-姓
市場
シジョウ
市場
名詞-一般
の
ノ
の
助詞-連体化
築地
ツキジ
築地
名詞-固有名詞-地域-一般
移転
イテン
移転
名詞-サ変接続
は
ハ
は
助詞-係助詞
どう
ドウ
どう
副詞-助詞類接続
なる
ナル
なる
動詞-自立
五段・ラ行
基本形
の
ノ
の
名詞-非自立-一般
か
カ
か
助詞-副助詞/並立助詞/終助詞
?
?
?
記号-一般
EOS
Apache Sparkの導入
Sparkは
- 分散処理のフレームワークでHadoopの後継といわれています。
- インメモリ処理による高速化
- 言語サポートの広さ、Java,Scala,python,Rが使える
- 一台から始められる
Apache Spark インストール
Apache SparkはScalaをインストールしなくとも良いが学習のためインストルする
sbtはScalaの開発ツール
$ brew install scala
$ brew install apache-spark
$ brew install sbt
/usr/local/bin/ 以下にシンボリックリンクがあるので PATHは通っています。
Apache sparkは開発言語別に以下が用意されています。
- spark-shell Scala
- pyspark python
- sparkR R