フリーランチ食べたい

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

アンサンブル手法のStackingを実装と図で理解する

Stackingとは何か

  • 機械学習モデルの精度を向上させる手法の1つで、モデルを積み重ねる(Stackする)ことで精度を高めます。
  • ポピュラーかつ、強力な手法なKaggleのKernelで見ることも多いですね。
  • アンサンブル学習の一種で、他のアンサンブル学習にはAveraging/Bagging/Boostingがあります。
  • Stackingは他のアンサンブル学習の手法と比べると文章だけ読んでも理解し辛いので、直感的に理解できるように図と簡単な実装で説明してみたいと思います。

注意: この記事で書かないこと

今回は概念の理解にフォーカスしたいので、バリデーションの手法については触れません。特にSecondLevelでのバリデーションについてはいくつか選択肢があり、データの性質によって使い分けが必要なので次回以降書きたいと思います。

続きを読む

matsumotoryさん、kwappaさんの公開ポートフォリオレビューを受けました/自分なりにアウトプットすることのメリットを整理してみた

「エンジニアの日々のアウトプット」に関するForkwellさんのイベントに参加してきました。

  • ForkwellのポートフォリオのぼりーさんのクラウドPodcastのmatsumotoryさんゲスト回を聞いて興味を持ち使い始めました。
  • ただ、埋めやすいところを埋めてGithubを連携させただけで、ちゃんと使いこなせていたかは疑問でした
  • そんなときに、このイベントを前職の同期から聞き、開催場所も前職のオフィスだったので久々に遊びに行きたい気持ちもあって応募しました。

forkwell.connpass.com

ポートフォリオを(強制的に)ちゃんと埋めました

イベントページに

ゲストのお二人が参加者のポートフォリオを抽選で3名レビューいたします!

との記載があったので、せっかくなので…ということで応募したら、なんと選ばれました! 85人の前でレビューされる、というプレッシャーもあり、週末の半日くらいを使って必死に埋めました。ときには追い込まれることも必要だと思いました。

続きを読む

10月8日(月)につくばPythonもくもく会 No.1を開催します!

Pythonを使っている方&Pythonを勉強したい方一緒にもくもくしませんか?

  • 宣伝です。
  • これから、つくばでPythonもくもく会を定期的に開いていきます!
  • 第1回は10月8日(月)11:00~@筑波大学内体バチで行います。
  • 将来的にはPythonの情報共有ができたり、交流の輪を広げられるコミュニティにしていけたらいいなと妄想しています。
  • 参加費や条件などは無料なのでぜひぜひお気軽にお申し込みください。

詳細はconnpassページをご参照ください。

申し込みもこちらからできます。途中参加退場なども自由です!

tskubapy.connpass.com

続きを読む

ISOに従っていないデータをpandas.to_datetime()すると500倍以上遅くなる可能性がある話とその対策

TL;DR

  • pandasの to_datetime メソッドはとても便利で、かなり乱暴にデータを突っ込んでもParseしてくれます
  • でもデータによってはparseに通常の30倍以上時間がかかる可能性があるので注意しましょう
  • ISO_8601の規格に従っていない場合はとりあえず format オプションをつけておくのが得策です。
  • コードはすべてGithubにあがってます

github.com

続きを読む

pathlibで見るPythonの演算子オーバーロード活用

pathlibって便利ですよね

最近pathlibの便利さが様々なところで語られています。

pathlibの様々な機能は上記の記事やドキュメントを読んでいただければわかるので、今日はその1つに、Pythonのオーバーロードを説明するのに良い機能があるので紹介したいと思います。

続きを読む

研究がESSSB 17th@ベルギー・ヘントでポスター発表されました!

ESSSBとは

正式名称はEuropean Symposium on Suicide & Suicidal Behaviourで、自殺行動/自殺予防について学際的な観点から研究された発表やポスターが多い学会です。今年はベルギーのヘントで開催されました。

www.esssb17.org

ポスター

タイトルは「Regional suicide rates and affecting factors in Japan: an ecological study by using Generalized Linear Model and Machine Learning」です。各都道府県ごとの自殺率と、失業率、中学/高校進学率、一人当たり災害復旧費などの関係について、状態空間モデルとRidge回帰を使って探索的/仮説検証的の両面から検証した研究になります。自分はモデルの設計/実装とグラフの作成を主に行いました。

f:id:mergyi:20180923174656p:plain

発表

発表はFirstAuthoのOeくんがしてくれました。この研究のアピールポイントは、この分野では今まで活用が少なかったMachineLearningを活用して仮説探索/検証を行った点だったのですが、現地でも好評で興味を持ってくれた方が多かったようです。

f:id:mergyi:20180923180657j:plain

さいごに

全国の実際の自殺率データを扱って考察を得るのは非常に興味深い体験でした。 今回はマクロな視点からの研究だったので、この研究で得られたことを活かしつつ細かい、具体的な見識を得ていきたいと感じました

BigQuery GIS/GeoPandasを使ってお手軽にIPアドレスで地理空間分析を行う「Wikipediaはどこから編集されている?」

TL;DR

  • BigQueryの fh-bigquery:geocode.geolite_city_bq_b2b Tableを使い IPアドレスから緯度経度を取得できます
  • 国土地理院の「地球地図日本」から地図データを取得することができます
  • GeoPandasを使うことでお手軽に地理情報を可視化できます
  • BigQuery GISを使うと制限はありますが、もっと簡単に可視化することができます
  • ↓BigQuery GISを使った可視化です f:id:mergyi:20180916030135g:plain
  • コードは全てGithubに置いてあります。

github.com

続きを読む