==== データサイエンス ====
このページの短縮URLは http://bit.ly/websys-ds2019 です。
[[https://www.websys.edu.uec.ac.jp/websys/|ウェブシステムデザインプログラム]]の中の1単元です。
=== 教科書・参考書 ====
* [[http://www.deeplearningbook.org/|Deep Learning]]
* (Web) http://www.deeplearningbook.org/
* [[https://asciidwango.jp/post/171302668055/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92|邦訳]]
* [[http://www.deeplearningbook.org/lecture_slides.html|著者による講義のスライド]]
* [[http://faculty.marshall.usc.edu/gareth-james/ISL/|Introduction to Statistical Learning with Applications in R]]
* (Web) http://www-bcf.usc.edu/~gareth/ISL/
* (PDF) http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Seventh%20Printing.pdf
* 和訳 「Rによる統計的学習入門」 朝倉書店 https://www.asakura.co.jp/books/isbn/978-4-254-12224-4/
* GitHub
* https://github.com/tdpetrou/Machine-Learning-Books-With-Python
* https://github.com/JWarmenhoven/ISLR-python
* https://github.com/qx0731/ISL_python
* https://github.com/tdpetrou/Machine-Learning-Books-With-Python/tree/master/Introduction%20to%20Statistical%20Learning
* https://yuany-pku.github.io/2018_math4432/
=== 線形代数 ====
http://www.deeplearningbook.org/slides/02_linear_algebra.pdf
=== 確率 ====
http://www.deeplearningbook.org/slides/03_prob.pdf
=== 数値解析 ====
http://www.deeplearningbook.org/slides/04_numerical.pdf
=== 機械学習 ====
http://www.deeplearningbook.org/slides/05_ml.pdf
==== 去年の内容 ====
The Elements of Statistical Learning
* (Web) https://web.stanford.edu/~hastie/ElemStatLearn/
* (PDF) https://web.stanford.edu/~hastie/ElemStatLearn/download.html
* 和訳 「統計的学習の基礎―データマイニング・推論・予測―」 共立出版 http://www.kyoritsu-pub.co.jp/bookdetail/9784320123625
Python Data Science Handbook
(HTML) https://jakevdp.github.io/PythonDataScienceHandbook/
(Jupyter Notebooks on GitHub) https://github.com/jakevdp/PythonDataScienceHandbook
和訳 「Pythonデータサイエンスハンドブック —Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習」オライリー・ジャパン https://www.oreilly.co.jp/books/9784873118413/
=== データサイエンス #1, #2 ===
[[http://www-bcf.usc.edu/~gareth/ISL/|An Introduction to Statistical Learning]]という書籍に基づいた講義を行います。今週はこの本の2章と5章に基づきます。スライドは[[https://www.r-bloggers.com/in-depth-introduction-to-machine-learning-in-15-hours-of-expert-videos/|著者たちが公開しているスライド]]を用います。他の箇所についてもビデオ講義が公開されていますので、参考にしてください。
=== データサイエンス #3, #4 ===
同書はRでの講義を想定していますが、Pythonのコードを公開してくれている方々がいます。下記のGitHubのレポジトリを参照してください。
* [[https://github.com/JWarmenhoven/ISLR-python]] (Python 3用?)
* [[https://github.com/qx0731/ISL_python]] (Python 2用)
すべてのファイルをダウンロードするには、gitコマンドでクローンを手元に作ってください。
git clone https://github.com/JWarmenhoven/ISLR-python.git
git clone https://github.com/qx0731/ISL_python.git
今回は[[http://g01.aix.uec.ac.jp|AIXのサーバ上のJupyter]]を使おうと考えています。こちらが動かない場合には、下記のメモを参考に、IEDにローカルにJupyterを一時的にインストールしてもらいます。
# 授業で用いる環境
# anaconda3-5.0.1
# PATHを通す
setenv PYENV_ROOT /usr/local/class/ds/pyenv
setenv PATH "$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"
# PATHを通したpyenv環境にインストールされているものを確認
pyenv versions
### 結果
# * system (set by /usr/local/class/ds/pyenv/version)
# anaconda3-5.0.1
# 作業するフォルダの作成(名前は何でもよいです)
mkdir web_ds
cd web_ds
# フォルダの環境をanaconda3-5.0.1に変える
pyenv local anaconda3-5.0.1
#####
# 講義の実習
#####
# githubからダウンロード(ブラウザで開いてダウンロードしても良いです。)
# URL: https://github.com/JWarmenhoven/ISLR-python
git clone https://github.com/JWarmenhoven/ISLR-python
# jupyter-notebookの起動
jupyter-notebook &
まず "Chapter 2" のノートを開いてください。
次に "Chapter 3" のノートを開いてください。
最後に "Chapter 4"のノートを開いてください。
最後に[[http://stat.inf.uec.ac.jp/doku.php?id=mselab:2017:stat|ここ]]を体験してもらいます。
=== Pythonのインストール ===
Pythonを使うには[[https://www.anaconda.com/|Anaconda]]というディストリビューションを使うと便利です。またPythonを切り替えるには、[[https://github.com/pyenv/pyenv|pyenv]]というコマンドの導入が便利です。これらはWindows/macOS/Linuxで利用できます。
jupyter-notebookはipythonというインタラクティブなPythonにノート機能を付与してくれています。ローカルにweb serverを動かして、Pythonとの通信を管理し、記録してくれます。
=== メモ ===
以下は自分で用意する手順です。今回は不要です。
#
# 1730040 Kubota Taiki
# 2018 Webデザイン用
#####
# IEDについて
#####
# OS
LINUX RedHat Server 6.8
# アルファベット入力
Control + Space
# スクリーンショット
Fn + I
# スクリーンショット(ウィンドウのみ)
Fn + Win + I
# defaultのPython
2.7.6
#####
# gitからpyenvのダウンロード
#####
# homeの直下にダウンロードする
# 参考元です。必要であれば、みてください。
# http://tadasy.hateblo.jp/entry/20130918/1379509506
# https://qiita.com/yuta_h3/items/2988c4d0811bf8c344c0
git config --global http.postBuffer 524288000
git clone https://github.com/pyenv/pyenv ~/.pyenv
#####
# pyenvを使用するための下準備
#####
# まず、PATHを通します。
# bash_profileにPATHを追加するように追記して
echo 'setenv PYENV_ROOT "$HOME/.pyenv"' >> ~/.bash_profile
echo 'setenv PATH "$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# bash_profileの読み込み
source ~/.bash_profile
# PATHが通っているかの確認
echo $PATH
#####
# pyenvの使用して、今回使用するpythonの環境のインストールや設定
#####
# インストールできるpythonの種類や開発環境などの一覧
pyenv install --list
# 今回はanaconda3-5.0.1を使用します
pyenv install anaconda3-5.0.1
# インストールしたversionの確認
pyenv versions
* system (set by /home0/y2017/a1111111/.pyenv/version)
anaconda3-5.0.1
# 開発を行うフォルダの作成とそのフォルダのpythonを設定する
mkdir webd(名前はなんでもいいです)
cd webd
# フォルダで使うバージョンを指定
pyenv local anaconda3-5.0.1
# 確認。たしかに変わっている。
pyenv versions
system
* anaconda3-5.0.1 (set by /home0/y2017/k1730040/webd/.python-version)
#####
# 講義の実習
#####
# githubからダウンロード
# URL: https://github.com/JWarmenhoven/ISLR-python
git clone https://github.com/JWarmenhoven/ISLR-python
# jupyter-notebookの起動
jupyter-notebook &
# 足りないモジュールのインストール
# ISLR-python/Notebooks/Python module versions.ipynbを実行(Control+Enter or Shift+Enter)して不足しているモジュールを確認
# 手順通りなら、pydotが足りないはずなのでインストールする
conda install pydot
# これで先ほどのipynbを試して、うまくいっていたら実習のコードはすべて動くはず
# バージョンの違いからか、from pandas.core import datetools を書けといわれるので、importの下などに追記しておけば警告など何も出ないですべてのファイルの実行ができた