いものやま。

雑多な知識の寄せ集め

Python

Python製のタスクランナーkumadeをバージョンアップした。

Pythonでいい感じに使えるタスクランナーがなかったので自作したのがkumade。 今回、いくつかの機能を追加実装してバージョンアップした。 追加実装した機能 kumadeはデータ分析、アルゴリズム開発の実務でも使ってたりするんだけど、実際に使ってるといくつ…

『Pythonでスラスラわかる ベイズ推論「超」入門』を読んでみた。

『Pythonでスラスラわかる ベイズ推論「超」入門』を読んでみたので、軽く感想とか。 Pythonでスラスラわかる ベイズ推論「超」入門 (KS情報科学専門書)作者:赤石 雅典講談社Amazon 概要と感想 ベイズ推論の本はいろいろあるけど、この本は理論というよりツ…

「日付」と「日時」の話。

プログラミングで時間を扱おうとすると出てくるのが「日付」と「日時」。 これらに関してちょっと考えたことがあるので、その話をしてみたい。 「日付」と「日時」を構成するデータ 「日付(date)」を構成する要素を考えると「年(year)」「月(month)」…

PICOSで2次計画問題を解いてみた。

前回はPythonのPICOSというライブラリで計量学習の半正定値計画問題を解いてみた。 このPICOSを使って数理最適化 Advent Calendar 2023の1日目に扱われていた2次計画問題を解いてみる。 これは数理最適化 Advent Calendar 2023の5日目の記事です。 ※はてなブ…

半正定値計画問題と計量学習の話。(その2)

前回の続きで、計量学習の問題を実際にソルバーで解いてみる。 これは数理最適化 Advent Calendar 2023の4日目の記事です。 PICOS ここではPythonでPICOSというライブラリを使って解いてみる。 PICOSは最適化問題をいい感じに表現できるライブラリで、ソルバ…

Python製のタスクランナーkumadeを作ってみた。

Python製のタスクランナーを作ってみたので紹介。 タスクランナーとは タスクランナーとは、よく行う処理をタスクとして定義しておいて、コマンドラインから簡単に実行できるようにするツール。 ビルドのときに使われることが多いので、ビルドツールと呼ばれ…

Pythonで競馬のレース結果を取得してみた。

前回はPythonでPlaywrightを使ってJRA公式サイトからオッズの取得をしてみた。 今回は同様にJRA公式からレース結果を取得してみる。 準備 といってもコードはほとんど前回のオッズ取得と同じ。 なのでまずはライブラリのインポートなど必要な準備から。 impo…

Pythonで競馬のオッズを取得をしてみた。

競馬でデータ分析をしていくためにまず必要となるのがデータの取得。 今回はPythonでオッズの取得をやってみた。 Playwright データの取得はいろいろ考えられて、Web APIが使えればそれが一番早いんだけど、残念ながら使えなさそう (公式でJRA-VANというの…

Jupytextを使ってみた。

データ分析で必須ともいえるのがJupyter Notebook。 ただこれをバージョン管理しようとするとなかなか大変だったりする。 そこでJupytextというツールを使ってみた。 どんなツール? すごく簡単に言うと、NotebookとPythonスクリプトを簡単に同期してくれる…

線形回帰と誤差の話。

機械学習の基本中の基本ともいえる線形回帰。 そんな線形回帰も「当たり前」に踏み込んで考えてみるといろいろ面白かったりするので、今日はその話をしてみたい。 これは数理最適化 Advent Calendar 2022の11日目の記事です。 線形回帰のおさらい たとえば気…

『エネルギー・リスクマネジメントの数理モデル』の紹介。

『エネルギー・リスクマネジメントの数理モデル』が面白かったので紹介。 エネルギー・リスクマネジメントの数理モデル (確率工学シリーズ)作者:誠, 田中,隆太, 〓嶋,重喜, 鳥海朝倉書店Amazon これは数理最適化 Advent Calendar 2022の7日目の記事です。 概…

競馬に関して最適化問題を解いた話。

ウマ娘から実際の競馬に興味を持って、最近はむしろ実際の競馬の方が面白いくらい。 そんな中でちょっと最適化問題を解くことがあったので、今日はその紹介をしてみたい。 これは数理最適化 Advent Calendar 2022の2日目の記事です。 的中したのにマイナス!…

『処理から設定へ』というLTをしてみた。

8/24(水)におなじみラスクさんのLT会で『処理から設定へ』というLTをしてみた。 この「処理を設定に抜き出すことで見通しをよくする」という手法、たぶんみんな無意識にやってるんだけど、ちゃんと名前がつけられていない印象。 本とかでも見たことない気が…

asyncioやめてほしいというボヤき。

だいぶ経ってしまったけど、8/4(木)にラクスさんで『asyncioが地獄だった件』というLTをした。 以前のLT(『Pythonでリファクタリングできなかった話』をLTしてみた。 - いものやま。)を反省して、asyncioの詳細には踏み込まず、Requests-HTMLというライブ…

未使用変数の話。

昨日、リファクタリングに関するLTをしたことさんの発表に関していろいろ思ったことがあったので、ちょっと書いておきたい。 nikkieさんのスライドはこちら: 発表概要 詳細はスライドを見てもらうとして、ざっくりいうと「リファクタリングする場合、驚くほ…

『Pythonでリファクタリングできなかった話』をLTしてみた。

もう定番になってるけど、今回もLTしたよって話。 発表したスライドは以下: ただ、今回の発表はちょっと反省が多くて、さすがに内容がマニアックすぎた(^^; 実際にあった話をベースにしてたのでPythonの中級〜上級向けの内容になってしまっていて、Pyth…

Pythonの四捨五入で四苦八苦した話。(まとめ)

これまでの各記事は、以下から。 Pythonの四捨五入で四苦八苦した話。(その1) - いものやま。 ビルトインのround()の問題点 普通の四捨五入の実装 Pythonの四捨五入で四苦八苦した話。(その2) - いものやま。 普通の四捨五入の実装の問題点 PyPIにあるパ…

Pythonの四捨五入で四苦八苦した話。(その3)

前回のあらすじ:Rubyの四捨五入すごい。PyPIにあったパッケージどれもダメ。 Rubyでの四捨五入のアルゴリズム さて、そんなわけで、Pythonがどうしようもなかったので、なぜか誤差なく四捨五入できてたRubyでの実装を調べてみた。 Rubyでの四捨五入は、nume…

Pythonの四捨五入で四苦八苦した話。(その2)

前回のあらすじ: Pythonのビルトインのround()は普通の四捨五入とは違う偶数丸めというものだったので、floor()を使って普通の四捨五入を実装したよ。 誤差との戦い と、まぁ普通はここまでなんだけど、いろいろ試すと「あれ?」ってなるケースが出てくる。…

Pythonの四捨五入で四苦八苦した話。(その1)

Pythonの四捨五入は、実は普通の四捨五入になってない。 なので、普通の四捨五入をするにはちょっとコードを書く必要があったりする。 ただ、その過程でかなり苦労があったので、同じような苦労をする人がいないようにパッケージにまとめてPyPIに上げておい…

『withのススメ』というLTをしてみた。

5/25(水)に、株式会社ラクスさんの主催する勉強会「Python Tips LT会 - vol.3」でLT登壇してみた。 話したのは『withのススメ』というLT。 まぁ、Pythonの話をしつつ、ホントにしたいのはRubyはいいぞっていう話だったりするけどw ちなみにwith文はもっと使…

もうPythonで迷わないために。(まとめ)

これまでの各記事は、以下から。 どのPythonを使うべきか もうPythonで迷わないために。(その1) - いものやま。 仮想環境はどうすべきか もうPythonで迷わないために。(その2) - いものやま。 開発環境はどうすべきか もうPythonで迷わないために。(そ…

もうPythonで迷わないために。(その4)

前回は開発環境としてJupyterLabを使う話を書いた。 今回はプロジェクトの構成について。 プロジェクト構成 RubyであればBundlerで標準化されているのでプロジェクト構成をどうしようとか迷う必要はないんだけど、Pythonはそうではないので迷う。 ちょっと調…

もうPythonで迷わないために。(その3)

前回はPythonの仮想環境について書いた。 今回は開発環境について。 JupyterLab 実際のところ、開発環境は好みもあるので、「絶対にこれを使うべきだ」というのはない。 vimなどのエディタがあれば十分という人もいるだろうし、一般的に人気のあるVSCodeや、…

もうPythonで迷わないために。(その2)

前回はどのPythonを使うべきか書いた。 今日はPythonの仮想環境について。 Pythonの仮想環境について 単に「仮想環境」といった場合、たとえば古くはVMWareやVirtualBox、あるいはQEMU、最近だとDockerのように、ホストOSの上にゲストOSを載せ、まるで独立し…

もうPythonで迷わないために。(その1)

データ分析しようと思ったらデファクトスタンダードになっているのがPython。 実際、データ分析に使えるライブラリも充実しているし、Jupyterという使い勝手のいい環境もある。 言語自体も(洗練されてはいないけど)シンプルで、流行っているので本やWeb上…

天体ショーを整数計画問題で解いてみた。

ペンシルパズルの「天体ショー」を整数計画問題として定式化してソルバーを使って解いてみた。 これは数理最適化 Advent Calendar 2020の19日目の記事です。 天体ショー ペンシルパズルだとピクロスや数独が有名だけど、天体ショーもその一つ。 いろいろなペ…

『Python実践データ分析100本ノック』を読んでみた。

『Python実践データ分析100本ノック』がいい本だったので、紹介したい。 Python実践データ分析100本ノック作者:下山 輝昌,松田 雄馬,三木 孝行発売日: 2019/09/27メディア: 単行本 概要 この本は、実務で実際にありそうなシーンを対象として、どういったこと…