どうも、カタミチです。
さて、今日も「最短コースでわかる PyTorch&深層学習プログラミング」のひとり読書会、やっていきますかねー。
3-5. データ前処理
さて、データの前処理に入っていきましょう。まずは、入力データを変数に格納するところから。
なるほど。2次元配列に入れておくみたいですね。前々回あたりで私がグラフを表示しようと思って無理やり変数に格納したときは、身長と体重をそれぞれ\(x\)と\(y\)の1次元配列に格納したんですが、ここではいっぺんに格納するみたいです。
で、とりあえずグラフ書いてみましょう。
コードはこんな感じ。
まず、1つ目のブロックですが、変数を早速分離してますね(ふむ)。格納するときはひとつの変数に格納しておいて、使う時に引っ張り出す…というのがよくある使い方なんですかねー。
で、2つ目のブロックはライブラリのインストールとインポート。今回、グラフに日本語を入れ込む処理があるので、「japanize_matplotlib」をインポートしています。本当は、コードの途中でインポート処理を書くのは汚いと思うんですが、まだ練習なので処理に近いところで書くようにしています。
それから3つ目のブロック。これまでグラフが横長になったりグリッドが表示されていなかったのは、ここの処理が入ってなかったからのようですね。本書のサンプルコードでは、整える系の処理は、最初にまとめて書いてあったようです。謎がひとつ解けました。
で、4つ目のブロックがグラフ表示のコードですね。散布図を書くようになっています。ちなみに、「s = 50」ってのは、プロットされた点の大きさを示しています。
これを実行すると…
ほい、できました!
…とまぁ、ここまでは3-1節でも書いてました。「前処理」ってやつはここからですね。
ほぅ、なるほど。
それぞれ、各値から平均値を引いてますね。いわゆる「偏差」ってやつに変換していますね。縮尺を変えずに平行移動したイメージですかね。
この状態のグラフを書いてみると…
はい、見た目は変わらず値が変わりましたね。
とりあえず今回の前処理はこれだけのようですね。
ということで
結局、前処理はデータの偏差を取っただけ…ってことでしたが、グラフの書き方で勉強になった部分もありますし、得るものはありました。各入力変数それぞれに偏差を取ることは、本質を損ねない加工である、ってことも分かりましたしね。
次回は計算の続きですかね
ではまた。