フリーランチ食べたい

No Free Lunch in ML and Life. Pythonや機械学習のことを書きます。

時系列モデル(ARIMA/Prophet/NNなど)を統一的なAPIで扱えるPythonライブラリ「Darts」がかなり便利

時系列モデルを扱う上でデファクトスタンダードになりそうなPythonライブラリが出てきました。

f:id:mergyi:20200825003540p:plain

時系列モデルを扱うPythonライブラリは、 scikit-learn のようなデファクトスタンダードなものがありません。そのため時系列モデルを用いて実装を行うためには、様々なライブラリのAPIなどの仕様を理解しつつ、それに合わせてデータ整形を行い、評価する必要があり、これはなかなか辛い作業でした。

スイスの企業 Unit8 が今年(2020年)6月末に公開した Darts はまさにこういった課題を解決するライブラリです。時系列に関する様々なモデルを scikit-learn ベースのAPIで統一的に扱うことができます。

github.com

続きを読む

たった数行でpandasを高速化する2つのライブラリ(pandarallel/swifter)

pandas はデータ解析やデータ加工に非常に便利なPythonライブラリですが、並列化されている処理とされていない処理があり、注意が必要です。例えば pd.Sereis.__add__ のようなAPI(つまり df['a'] + df['b'] のような処理です)は処理が numpy に移譲されているためPythonのGILの影響を受けずに並列化されますが、 padas.DataFrame.apply などのメソッドはPythonのみで実装されているので並列化されません。 処理によってはそこがボトルネックになるケースもあります。今回は「ほぼimportするだけ」で pandas の並列化されていない処理を並列化し高速化できる2つのライブラリを紹介します。同時に2つのライブラリのベンチマークをしてみて性能を確かめました。

f:id:mergyi:20200726173057p:plain

続きを読む

PyCon JP 2019でスタッフとしてWebサイトの開発運用をして得た知見と反省

今回PyCon JP 2019にスタッフとして参加し、Webサイトの運用(と最適化アルゴリズムを用いたタイムテーブルの提案)を行いました。そこで得られた知見と反省をまとめて、今後他のカンファレンスなどでWebサイトの開発運用をする方の参考になれば幸いです。

本当はポスター参加記とまとめたかったのですが、ポスターの記事が長めになったので分けました。

blog.ikedaosushi.com

セッションへの感想はこちら。

blog.ikedaosushi.com

続きを読む

PyCon JP 2019で見たセッションの聴講記録20個分 / 資料・動画・関連リンクなど

2019年9月16日/17日に開催されたPyCon JP 2019で自分が直接/YouTubeで聴講したセッションについてのまとめです。主に下記の内容を書いています。

  • スピーカーURL
  • 配信動画
  • スライド
  • 発表内で出てきたライブラリなどのURL
  • 自分の感想

「あのセッションで話していたライブラリなんだっけ」と思い出したい方やざっくり内容が知りたい方に読んでいただければ幸いです。PyCon JPに自分も発表者としても参加し、スタッフとして参加し、Webサイトの開発もしたので、それについては改めて書きたいと思います。

f:id:ikedaosushi:20190917173649p:plain

pycon.jp

続きを読む

人間のためのHTML Parseライブラリ『Requests-HTML』で楽しくデータクローリング

f:id:ikedaosushi:20190915164708p:plain

Pythonを使ったデータクローリング・スクレイピングは、エンジニア・非エンジニアを問わず非常に人気や需要のある分野です。しかし、いざデータクローリングしようとすると、複数ライブラリのAPIや、ライブラリそれぞれの関連性に混乱してしまうことがよくあります。

昨年公開された「Requests-HTML」はそういった問題を解決する「オールインワンでデータクローリングが行える」ライブラリです。ユーザーは「Requests-HTML」のAPIのみを学習するだけで、サイトへのリクエスト、HTMLのパース、要素の取得を行うことができます。またHeadless Chromeを使うこともできます。

このブログでは「Requests-HTML」が生まれた背景と使い方、そして興味深いポイントについて書きます。

続きを読む