AIITに入学する3年前(2020年度)に科目等履修生としてデータサイエンス系の講義をいくつか取得したが、記憶が薄れてしまっているため、復習として以下の書籍を購入して、通読することにした。
準備
公式のサンプルのリポジトリをローカルにクローンする。
Readmeに従って必要なパッケージをインストールする。また以下のリンクに従ってJuypter Labをインストール。
Juypter Labを起動して、クローンしたリポジトリのサンプルファイルを開くと以下のような感じになる。このような感じで学習を進めていく。
(補足)AIITの講義で受講した際にも同様の手順で環境構築を行ったはずだが、別のPCに買い替えているため、再度環境構築から行った。
注意点
サンプルコードをそのまま実行すると、自身の実行環境のバージョンだとエラーが出る箇所があった。
ボストンデータセットはポリティカルに問題があるため、実行時にエラーが発生する。
これはscikit-learnのバージョンを下げることでも対応可能なようだが、メッセージに従って、datasets.pyに以下のコードを追加で対応した。
data_url = "http://lib.stat.cmu.edu/datasets/boston"
raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
target = raw_df.values[1::2, 2]
np.boolを利用している箇所でもエラーが発生したので、np.bool_とすることで対応した。
graphvizでもエラーが出たので、以下の手順で対応。
・pip install dtreeviz
・手動でgraphvizをインストール&システム環境変数のPATHへ追加
X_train = data_train.date[:, np.newaxis]のコードで以下のエラーが出たため、X_train = data_train.date.to_numpy()[:, np.newaxis]とすることで対応。メッセージの指示通りnumpy arrayに変換をかけている。
感想
当初の狙い通り、Pythonを利用した機械学習の手法について、一通り復習出来たので良かった。ただ本書では説明が省かれているように感じる箇所もあり、例えばロジスティック回帰については、教師あり学習の一つとして触れる形で、シグモイド曲線等の説明はなかった。そういった部分は当時の講義資料を読み直すことで、記憶の補完等をすることが出来た。また当時の講義では言及のなかった(と思われる)手法が紹介されていたりもしたので(決定木による回帰モデルなど)、良かったのではないかと思う。