データサイエンティスト育成講座(3)
こんにちは、いぬいです。
前回に引き続き、
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
- 作者: 塚本邦尊,山田典一,大澤文孝,中山浩太郎,松尾豊[協力]
- 出版社/メーカー: マイナビ出版
- 発売日: 2019/03/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
この本を手を動かして読んでいきます。
3章まで終わったので、4章「確立と統計の基礎」から。
…
読んでみたところ、本当に基礎を書いてあるので、
大学1年のときに統計の講義を受けたことがある人ならばパラパラ見て復習するか読み飛ばしてよいです。
一つだけ、ビッグデータ分析の場合には統計的検定を行うと検出力が大きくなる(p値が小さくなる)ので有意な結果が出やすいというのは、ほう、となりました。
というわけで5章「pythonによる科学計算(NumpyとScipy)」に進みます。
2章で学んだ基礎に続き、データ分析で用いるNumpyやScipyといったライブラリでの計算のしかたを学びます。
ところでNumpyはナンピィと読むと思っていて周りの人がみんなナンパイというのでそうなのかと思いましたが、
Scipyもサイパイと読むのでしょうか?
なんというか、語呂が微妙に聞こえるんですが…笑
閑話休題。
numpyの方は、最近深層学習の勉強とかでも使ってたのでパラパラ見ながらふんふんと読みました。
broadcastとか、numpy特有の計算ルールなど書いてあります。
scipyの方ですが、
まず補間について。
与えられた数列から、その間を埋める連続関数を与える補間計算です。
scipyからinterpolateをインポートして、
interp1dメソッドで補間する関数を得ます。
本を読んだとき、interpl(エル)dだと思って書いたらエラーが出ましたf(^_^;)
p1dってなんのことなんでしょう?
パラメータに'linear'や'cubic'を指定することで線形や三次曲線での補間が得られます。
それから行列の分解の話に入っていきますが、
特異値分解の項で、
m×n行列Aに対して「AA*の固有値はmin(m,n)であり」
は
「AA*の固有値の個数はmin(m,n)であり」
の誤植でしょうね。
ほかにもLU分解やコレスキー分解を求めるコマンドを説明しています。
数学的な部分の説明は本当に最小限にして、どんなことに役立つかもひとことだけ書いてあって行列分解の節は終わりです。
僕もよく知らなかったので、少しだけ理論的な部分を補足しておきます。
と思ったんですが、
特異値分解のことまとめるのに結構準備が必要なことが分かったのでとりあえず保留…
ちゃんといろいろ示すのって面倒っぽいですね。
(今度ちゃんと有言実行したいなぁ…)
scipyを使った積分なり最適化は、もう書いてある通りだからいっか。
微分方程式解けるっていうのはいいですね。
カオス理論で有名らしいローレンツ方程式の解の可視化された図が載っていておもしろかったです。
次回はPandasでのデータ加工処理です。
こういうのの方が自分には勉強になりそう。