フリーランチ食べたい

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

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

続きを読む

PyCon JP 2018のトークのスケジューリングを行い、Blog投稿しました

ついに来週PyCon JP 2018です

今週buildersconに参加してきたのもあって、体が温まっている感じがします。笑 今回、PyCon JPには運営側で参加しますが、そもそも PyCon JPに参加するのがはじめてなので(!)そういう意味でもとてもワクワクしています。

トークのスケジューリングをBlogに投稿しました

自分の担当は以前Blogに投稿したように(PyCon JP2018のHPを作成しました。 - フリーランチ食べたい) システムなのですが、「タイムテーブルを作る人でが足りてない」とのことだったので助っ人として手伝わせていただきました。ただ、自分も当然もともとのシステムチームのタスクもあるので、そこまでガッツリ時間を取ることは難しそうで、そこから今回の最適化問題としてスケジューリングをするというアイディアが浮かびました。

pyconjp.blogspot.com

来週遊びに来てください

PyCon JP 2018のチケットは社会人分は完売しているのですが、学生分はまだ少数あるみたいなので、もし興味がある方いれば是非是非遊びに来てくださいね

pycon.jp

JSPN2018: 第114回日本精神神経学会で「DPATの個別対応と決定要因に関する分析」というタイトルでポスター発表を行いました

JSPN2018でポスター発表を行いました

実際に話したのはボスなので、何というのが正確かはわかりませんが、ポスター発表の実際の研究部分を担当しました。

www.congre.co.jp

ざっくりとした背景と内容

DPATという自然災害などの後に、被災地域に入り、精神科医療および精神保健活動の支援を行う専門的チームがあります。

www.dpat.jp

このDPATは2016年の熊本地震の際にも稼働し、被災地の医療行為を行っていました。熊本地震のように被災地が広い場合は当然限られた人的リソースを配分する必要があり、今回も行っていたのですが、配分のやり方について、まだ知見が溜まっておらずヒューリスティックにその場その場で判断していました。震災後、配分方法のデータだったり、患者さん/症状、実際にどう対応したかのデータが集まってきたのでそれを元に適切なリソース配分方法だったり、それ以外の関連する気づきを得るのが今回の目的でした。

ポスター

f:id:mergyi:20180909194905p:plain

最後に

このようにポスターをブログに載せるというのはあまり一般的ではないと思いますが、こういった研究成果をエンジニア/データサイエンティストとして、どのように集約していくか、は難しいと感じている背景があります。アカデミックな領域だけで簡潔するのであればアカデミックなやり方で全て簡潔しますが、自分のようにエンジニア/データサイエンティストとして適切に評価を受けたい場合、アカデミック以外の方にもわかりやすくまとめられていることが必要になります。こういった課題を抱えている方はそんなに多くないと思いますが、自分だけではないと思うので他の方がどうやっているかを調べたり、自分なりに検討していきたいと思います。

PyCon JP2018のHPを作成しました。

PyCon JP2018

今年の5~7月に主に開発をしていたPyCon JP2018のHPが7月に無事完成し、ブログを投稿しました。自分はPyCon JP2018システムチームなので実装、調整で携わっていました。

pyconjp.blogspot.com

pycon.jp

自分の担当とコード

PyCon JP2018は Vue.jsのフレームワークである、nuxt.jsと、APIとしてGoogleAppsScriptを使って開発されています。自分はAPI側の実装全てとフロント側のスポンサーページの実装を担当しました。HPは主に3~4人で開発されています。コードは全てPublicになっているので誰でも見ることができます。

github.com

github.com

なぜ転載しているか

前回のブログに書かせてもらったとおり、Forkwellのポートフォリオサイトのために投稿しています。

blog.ikedaosushi.com