フリーランチ食べたい

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

Serverlessを使って簡単にAWS Lambda Layers上でHeadless Chromeを動かす

この記事は Serverless2 Advent Calendar 2018 - Qiita20日目です。

f:id:mergyi:20181222231323p:plain

  • 今年開催された re:Invent2018でAWS Lambda Layersが発表されました。
  • このアップデートによってC拡張のライブラリや容量の大きいライブラリの利用がより便利になりました。
  • その中でも特に自分が最初に「使ってみたい!」と思ったHeadless Chrome on Seleniumの使い方を解説します。
  • 自分が普段使っているServerless Frameworkは既にAWS Lambda Layersに対応しており、これを使ったやり方になります。
続きを読む

Chrome/Firefox/SafariでResource(JS/CSSなど)をキャッシュからロードしないようにする方法

小ネタです。Safariがわかりにくかったので調べたんですが、ついでにChrome/Firefoxも。

Resourceのキャッシュとは

  • JSやCSS、画像などをブラウザはキャッシュしていて、サイトにアクセスした際、そちらから読めるときは優先的にロードするようになっています
  • 普段はとても便利な機能なのですが、開発時には不便なのでdisableにしたくなります。
  • キャッシュからロードされているかはDeveloperToolのNetworkタブから確認することが出来ます。

f:id:mergyi:20181218111347p:plain
Resourceがキャッシュからロードされている

続きを読む

Kaggleでよく使われるStacking/Blendingをheamy、Stacknetをpystacknetで高速に実装する

この記事は 機械学習工学 / MLSE Advent Calendar 2018 - Qiita の15日目です。

Stacking/Blendingは実装が面倒

  • Kaggleなどでよく使われるアンサンブル手法にStacking/Blendingがありますが自分で実装すると結構面倒です
  • またモデルの精度を測る際にK-Fold Validationを行うこともありますが、同じpredictを何度も発生してしまい、単純に行うと無駄な処理が多くなってしまいます。
  • 今回紹介するライブラリheamyでは、それらの問題点が解決されており、 抽象化されたAPIで簡単にStacking/Blendingを実装でき 、かつ、 内部でpredictされた結果がキャッシュされており、高速に計算を行うことができます
  • またheamyではWeighted Averageも簡単に実装できる仕組みがあります。
  • また、Stacking/Blendingに比べると浸透度は低いかもしれませんが、StacknetというStackingを複数階層に渡って行い、モデルでニューラルネットワークを作るような手法もあり、このStacknetもpystacknetというライブラリで簡単に実装することができます。
  • Stacking/Blendingに関しては下記のKaggleのドキュメントに詳しいです。

Kaggle Ensembling Guide | MLWave

  • 今回使ったコードは末尾に貼っています。
続きを読む

「rebuild.fmの統計学」という発表をしました。コードと簡単な解説(requests_html/pandas/matplotlib/seaborn)

「rebuild.fmの統計学」というタイトルで発表しました。

  • 資料はSpeakerDecからご覧ください!

speakerdeck.com

  • LIFULLさんで開催された「Ltech#3 【podcast × IT】LT Night !」で話しました。

lifull.connpass.com

  • 使ったコードは全Githubに上げましたが、簡単にどんなことをしたのか解説したいと思います。

python-sandbox/rebuild.fmの統計学.ipynb at master · ikedaosushi/python-sandbox · GitHub

  • そして、この内容を今週土曜日の勉強会で話そうと思ってます。まだ参加申し込みできますので興味ある方は是非!

tskubapy.connpass.com

続きを読む

人間のためのイケてるPython WebFramework「responder」、そして作者のKenneth Reitzについて

この記事は Python その2 Advent Calendar 2018 - Qiita の1日目です。

responderとは

GitHub - kennethreitz/responder: a familiar HTTP Service Framework for Python

f:id:mergyi:20181201121349p:plain

f:id:mergyi:20181201180257p:plain
Starの遷移

  • この記事では、responderが他のWeb Frameworkと比べて何が素晴らしいのか ということと、responderから見えてくる Kenneth Reitzというエンジニア について書きたいと思います。
続きを読む

つくばPythonもくもく会 No.2 開催レポート&No.3開催のお知らせ

つくばPythonもくもく会 No.2 を開催しました& No.3 を12/15(土) に開催します。

  • 先週の日曜(11/18)にNo.2を開催しました tskubapy.connpass.com
  • No.1 から参加者が大幅に増え合計13人の方に参加いただきました 🙏 ありがとうございます!
  • 早速ですが、No.3のイベントを作成しました。connpassからお気軽にご参加ください。 tskubapy.connpass.com
続きを読む

Pythonに関するオススメの書籍/サイト/サービス/Podcast/イベントの情報

Pythonをこれから勉強したい or 最新情報のキャッチアップがわからない、という方に

tskubapy.connpass.com

  • つくばPythonもくもく会 No.2を開催しました!
    • 参加者の方の中にはこれからPythonを始めたい、という方もいらっしゃったので、今まで自分が勉強してきた中で役に立ったものをリストアップして、LTしました。
    • 自分は機械学習系のエンジニアをしていて、そっちの方向で学んでいることも多いので、「言語について」と「機械学習/データ解析」という分け方をして紹介したいと思います。
  • 「機械学習/データ解析」に関してはPythonに関係するものだけに絞っています。
  • 書籍に関してはたくさん挙げられても迷ってしまうと思ったので、本当は他にもたくさん素晴らしい書籍があるのは理解しつつ、「あえて選ぶなら」を載せています。
続きを読む