Skip to content

Python

MLBデータの可視化

メジャーリーグを見ていると、Google Cloud提供のStatcastというデータを使った解析がよく行われている。Statcastは、MLBの試合中に選手やボールの動きを追跡するためのシステムで、打球速度や打球角度、投球速度などの様々なデータを収集しているらしい。 そしてStatcastのデータはBaseball Savantというサイトで全世界に公開されている。 データ分析を生業にするものとして、そして一野球ファンとして、ぜひともこのデータを触ってみたいと思い、Pythonのpybaseballというライブラリを使ってStatcastのデータを取得・可視化を行ってみた。 内容としてはほとんどpybaseballの使い方みたいな感じではある。

gpytorchを使う

最近博士時代の研究がarxivに投稿された。ガウス過程回帰を使ってモデル方程式を学習するという内容である。 当時はgpflowを使っての実装を色々と行っていた記憶だが、これは名前の通りTensorflowをベースとしたガウス過程ライブラリである。 ただ、最近自分自身Pytorchを使った実装をすることが多くなってきて、Pytorchをベースとしたガウス過程ライブラリであるgpytorchを使ってみたくなった。とりあえずチュートリアルを見ながらな同じことをしてみたので備忘録的にまとめてみる。なので新しいことは何もない。

スプライン補間【1次元】

torchにはデフォルトでスプライン補間の実装がないなあと思い、自分で実装してみることにした。 正直こういったものは今だとLLMが勝手に実装を済ませてくれるものではある気がするので、どれくらい理論まで把握しておくべきかは悩ましいところではある。ただスプライン補間は基本的な数値計算の手法であるし、自分で実装してみることで理解を深めることが出来るので、一度はやってみるのも悪くはないかな、といったところ。 しょっぱなでtorchの話を書いたが、この記事ではnumpyとscipyのみを使ってスプライン補間を実装することにする。

『推薦システム実践入門』5章1節2節

『推薦システム実践入門』を読み始めたので、実装をまとめてみます。 Pythonによる実装自体はGitHubにアップされています。 データ処理には定番のpandasが使われているのですが、 最近自分がpolarsを使い始めているのと、devcontainer上でpandasを回しているとすぐにメモリがあふれてしまうという問題にぶち当たったので、 ここではpolarsを使った実装をまとめていこうと思います。 このブログで紹介した実装は自分のGitHubにも適宜アップロードしていく予定です。

ベンフォードの法則

ベンフォードの法則は「自然界に現れる多くの数値の最初の桁の値はある特定の分布に従う」ことを指す法則である。 ふと出くわして非常に面白かったのでまとめておく。

決定木を1から実装する

決定木って名前はよく聞くしscikit-learnで簡単に使えてしまうけど、中身を詳しく知っているわけではなかったのできちんと実装してみることにする。 from scratchでの実装にはこの記事が非常に参考になった。