/* */

Machine Learning Casual Talks #9 に参加してきました!

はじめに

Machine Learning Casual Talks #9にブログ枠で参加してきました。

mlct.connpass.com

当日の撮影していた動画がYoutubeにアップロードされたようなのでリンクを貼っておきます。

www.youtube.com

当日の会場はこんな感じでした、結構早く到着したのでガラんとしてる。会場は株式会社メルカリでした、会場提供ありがとうございます。

押すと商品が無限に出てくる販売機。

そして軽食、ごちそうさまでした。

冒頭

Machine Learning Casual Talksをはじめた理由

発表者

Aki Ariga (@chezou)

発表資料

docs.google.com

発表内容

本編

Data Engineering at SmartNews

発表者

@satoshihirose

発表資料

speakerdeck.com

発表内容

感想

株式会社LegalForce

発表者

@ruka_funaki

発表内容

  • Legal(法律) × Tech(テクノロジー) = LegalTech(リーガルテック)
  • 契約書をAIでサポート
    • 契約書はどこでも使われる、需要が高い
  • 法務はいまだアナログの世界、非効率的
  • LegalForceの主な機能
    • 契約書の条文検索機能
    • 契約書の自動検査

感想

LT

Pytorch強化学習フレームワークHorizonのドキュメントを読む

発表資料

speakerdeck.com

Graphの推薦システムへの応用

発表者

発表資料

speakerdeck.com

Webサービスにおけるデータサイクルのデザイン

発表者

発表資料

paper.dropbox.com

「KaggleのKernel機能をうまく使いこなそう」の補足説明

はじめに

先日こちらのもくもく会に参加させていただきました。

ailounge.connpass.com

もくもく会併設のLTに参加し、当日が2019年4月30日だったので平成最後のLTをやってきました。当時LTに使った発表資料はこちらになります。

docs.google.com

発表ではKaggleのKernelを使った便利な機能を紹介しますという話をしました。

具体的にはこれらの機能について話しました。

  • GPU Kernelを豪華に使える」
  • Markdownで書いた見出しを自動的に目次へ変換される」
  • 「Kernelの出力結果を別Kernelから参照できる」

上記アンダーラインを引いた2つの機能について当日あまり詳しく話せなかったので後日ブログのほうで詳細に説明しますと最終スライドでお約束しましたので、今回の記事は上記機能の詳細説明の記事になります。

Kernelの便利な使い方・機能の紹介

KernelはNotebooks / Scripts / RMarkdown Scripts タイプと3種類存在しますが今回はNotebooksのみを対象として話を進めます。

Markdownで書いた見出しを自動的に目次へ変換

NotebooksタイプのKernelにはJupyter Notebooks同様、コードを書けるセルとMarkdownを書けるセルが分かれています。Markdownの見出し(#)を書くと自動的に目次として認識してNotebooks左欄に該当する目次へジャンプするリンクを生成してくれます。

Notebooks左欄に該当する目次というのは下記スクリーンショットの赤枠で囲った部分です。

f:id:wakame1367:20190503185717p:plain

こちらをそれぞれクリックしますと下の例のように該当する目次へジャンプすることができます。

Notebooks内はどう記述されてるのと疑問に思うと思いますのでMarkdown編集時のスクリーンショットをとっておきました。Notebooks内で見出しが一番上位の見出しのみが目次に設定されるという仕組みになっています。また、見出し同士が重複すると最初に見つけた見出しについてジャンプするようになるので、ユニークな文字列を設定することをオススメします。

f:id:wakame1367:20190503185518p:plain

f:id:wakame1367:20190503185616p:plain

スクリーンショット撮影時に使いましたKernelのリンクを一応貼っておきます。

www.kaggle.com

Kernelの出力結果を別Kernelから参照できる

普段リーダーボードへのスコア投稿はKernelの実行後、submission.csvがOutputに出力されるのでそれを投稿していると思います。そのsubmission.csvがKernelの出力結果になります。この出力結果を別のKernelから参照できるようになるということですが我々にとって何が嬉しいのか、以下の点が挙げられると思います。

  • 前処理の途中経過を一時ファイルとして出力することで前処理にかかる時間をスキップできる
  • 学習済みモデルを途中経過として吐き出すことでKernelは予測のみに集中することができる

では具体的にどうやるのかスクリーンショットを交えながら説明します。

あらかじめKernelの出力結果が存在するKernelを準備しておきます。今回は公開Kernelを利用します、もちろん自分で用意したKernelでも問題ありません。

Notebooksを開くとこのような画面になると思います、右上の赤枠で囲んだAdd Datasetを押してください。

f:id:wakame1367:20190503214202p:plain

こんな画面になると思います、こちらの画面から参照したいKernelを選びます。

f:id:wakame1367:20190503214330p:plain

Petfinderの公開カーネルを選んでみます、赤枠で囲ったAddを押してみます。

f:id:wakame1367:20190503214441p:plain

追加後Notebooksに戻ると、Workspaceの部分に追加したKernelのタイトルが表示されていると思います。これで参照できました。

f:id:wakame1367:20190503214636p:plain

一応参照出来ているか確認してみます、%ls ../inputを実行すると追加したKernelのタイトルが設定されたディレクトリが見えると思います。正しく参照出来ていることが確認出来ました。

f:id:wakame1367:20190503214806p:plain

最後に、上記のようにKernelを参照すると元々../input/train.csvのように参照していたファイルパスが変わってしまうので適宜修正するようにしてください。

「手を動かしながら2週間で学ぶ AWS 基本から応用まで」を受講してて気になった・気をつけたほうがよいこと

はじめに

Udemyで配信されている「手を動かしながら2週間で学ぶ AWS 基本から応用まで」という講座を現在受講中で、受講中に気になった・気をつけたほうがよいことをまとめたいと思います。現在受講中なので随時更新してゆきたいと思います。

www.udemy.com

全体的に講座の愚痴みたいになっていますが講座自体の評価は素晴らしいと感じています。ただ前置きで書いておけば、早めに言ってもらえればそんなに気にならなかったのになと思うところが少々ありました。せっかくの素晴らしい講座であるのにも関わらず変なところで評価が下がってしまうのも残念だなと思い記事にしました。

対象読者

対象読者はこれから講座を受けようと思っている方や私と同じく受講中の方になります。

講中気になったこと

音量が小さい

収録環境の関係か講師の方の声がとても小さく、特に講師の方が推奨されていた通勤時での受講(特に電車内)は可能ですが周囲の雑音が大きすぎて聞き取りにくいなと思いました。じゃあ小さいなら音量上げればいいじゃんと思いますが、最大音量まで上げてもなお小さいなと思うレベルなので。

Day8のドメイン名とIPアドレスの関連付けは余裕を持って先にやっておいたほうがよい

Day8-3とDay8-4においてfreenomでフリーのドメインを取得後、Route 53でドメイン名とロードバランサのIPアドレスとの関連付けをするのですがこちらの関連付けに結構な日数を要するようなのです。講師の方の場合2-3日かかったとおっしゃっていました、そのくらいかかるなら先に言っておいてほしかったなと。ちなみに私の場合そこまで時間がかかりませんでした。

GithubのREADMEでよく見るBadgeの設定の仕方について

こんにちわ&こんばんわ、わかめです。

regonn-curry-fmを視聴されてる方はご存知かもしれないですがregonnさんが現在開発中のOSSpolar_bearに絶賛OSS活動中です。

github.com

今回はそのOSS活動中に初めて知りましたGithubのREADMEへのBadgeの設定方法についてまとめます。またpolar_bearPythonのライブラリということで主にPythonに関連のあるBadgeの設定方法についてのみ言及したいと思います。

PyPI

PyPIでの公開が完了している場合、パッケージ名を入力するだけで下記のようなBadgeを作成してくれるようです。

PyPI version

また生成されたMarkdownに記述されるBadgeへのURLがPyPIへリダイレクトしてくれるようです、試しに上のBadgeをクリックしてみて下さい。

[![PyPI version](https://badge.fury.io/py/polar-bear.svg)](https://badge.fury.io/py/polar-bear)

badge.fury.io

PythonVersion

こちらもPyPIでの公開が完了していれば、パッケージ名を入力するだけでライブラリが対応するPythonのVersionをPyPIから取得してBadgeを作成してくれるようです。

Python Versions

[![Python Versions](https://img.shields.io/pypi/pyversions/polar_bear.svg)](https://pypi.org/project/polar-bear/)

shields.io

参考

みてねのMeetup #4に参加してきました!

はじめに

去年の10月頃に転職を果たし、勤務先が渋谷になったので今まで参加できなかった勉強会に積極的に参加しようという気持ちで今回も参加してきました。

mixi.connpass.com

実は「みてね」というサービス自体、独身で接点がないためこのMeetupで初めて知ったという経緯があります。 じゃあなぜ参加したかというと、SageMaker を用いた高速な顔検出 という発表がお仕事の内容にも近い分野でとても勉強になりそうだと思ったからなのです。

mitene.us

サービス紹介

概要

みてねの概要となぜこのサービスを始めたのかを語って頂きました。元々子どもが生まれたことがきっかけ、子どもが生まれると「え!?こんなに写真・動画撮影するの!」ってくらい撮影する。そしてその撮影した大量の写真・動画をどこに保存して、どうやって家族間で共有するか、簡単に保存できて共有できる専用のサービスは現状・・・ない、じゃあ作ろうとなった。現在日本だけでなく海外にも展開中、北米・英語圏も順調なユーザの増加、世界共通で子どもの成長を見守りたいというニーズがある。

感想

みてねのサービス愛が伝わってくる発表でした、みてねに対する愛情や熱い想いを持ったメンバーが集っているのだなと感じました。 スライドにも記載されていた「その子の人生もまるごとを残せる」というキーワードが特に心打たれました。

1秒動画のつくりかた・概要編

発表資料

speakerdeck.com

概要

「みてね」には現在基本機能の写真・動画の共有以外に以下のような機能があるようで、今回はその中から1秒動画のつくりかたについて要素毎に発表者に語って頂くという内容でした。また当日の発表全体の流れを説明して頂きました。

  • 毎月撮影した写真をフォトブックにまとめる
  • 撮影した写真・動画をまとめたダイジェスト動画(1秒動画)
  • 撮影した動画をDVD1枚分の内容になるように選んで提案する

スライド(14枚目参照)そのままですが以下の流れで動画を生成しているようです。

  1. メディア解析
  2. 生成対象の家族抽出
  3. 素材選択
  4. 動画ファイルの生成・配信

感想

さらっとスライドに掲載されていた、BGM検出、メディアの採点方法、顔・人物検出と気になるワードがたくさんありました。BGM検出については絶対聞いておきたいと思っていたのですが、最後ににも書きましたが当日体調不良で聞く前に帰宅してしまいました。また機会があったら聞いてみたいですね。

SageMaker を用いた高速な顔検出

発表資料

speakerdeck.com

概要

1秒動画のつくりかた・概要編で紹介された「メディア解析」部分の発表でした。アップロードされた写真・動画に家族の顔が写っていないものは1秒動画の素材から除外したい、またちゃんと顔が写っているかを検出したい。満たしたい要件は以下の通り。

  • 画像1枚であれば0.1秒で検出したい(検出スピード)
  • 大量(月間7000万件)のアップロードを捌けるようなインフラ構築
  • ピークと暇な時との差が激しいのでスケーリングができるようにしたい

顔検出器はS3FD: Single Shot Scale-invariant Face Detectorを利用。 選択理由は以下の通り。

  • TensorRT対応
  • Pretrainedモデルがある
  • 精度(WIDER FACE Hard Ap 0.858)

Caffe実装で1枚検出するのに0.8秒かかるため10倍の高速化が必要。

  • TensorRT利用
  • DALIを使用
  • 並列化、非同期化

最終的に1枚あたり0.04秒まで高速化ができた。

感想・疑問

顔検出器の予測スピードの改善・インフラ構築、お一人でやられているという発表だったのでただただすごいなと。

以下疑問点です。

  • GPUを惜しまずに使っている印象を受けました、フォトブック・DVD作成以外の課金要素で採算とれているんだろうかという疑問が残りました。
  • 顔認識の精度自体の改善の話はなかったので運用でカバーしてるのだろうか。
  • 適合率が低いと顔認識の結果としては致命的かなと思ったが、そもそも家族の写真・動画で顔が写っていないものをアップロードしないのでは?と思った。

全体を通して気づいたこと

こういうMeetupが開催される際はTwitterハッシュタグが設定され普段は参加者が会場の様子や発表内容についてつぶやくのですが、 今回のMeetupではハッシュタグ#mitene_meetup@_atsushisakaiさんが発表者の豆知識をつぶやいて頂いたので、感情移入しやすくて、発表も聞きやすくなったなと思いました。

また、僕のちょっとした疑問ツイートにも反応して頂けたのはとても嬉しかったです。

最後に

懇親会で頭に浮かんだ疑問を発表者の方々に聞こうと質問を用意しておいたのですが、当日急に体調が悪くなってきたので懇親会参加できずに帰宅してしまいました。 また機会があれば聞いてみたいです!忘れないためにも下のほうに書き出しておきます。

あとで見た懇親会でのお寿司とピザの写真。美味しそう・・・

AtCoder Beginner Contest 118 へ参加しました

こんにちわこんばんわ、わかめです。

Kaggleに影響され、最近AtCorderに参加するようになりました、今回で2回目ですね。

atcoder.jp

とりあえずAとBはすぐ解けるようになりましたがCが未だに解けない状態が続いています。とりあえず当時書いたコードやログを残しておきます。

A - B +/- A

問題の通りに実装しました。

A, B = map(int,input().split())
 
if B % A == 0:
  print(A + B)
else:
  print(B - A)

B - Foods Loved by Everyone

積集合をとって残ったものを数えたほうが早いと思いました。

n, m = map(int, input().split())
data = [list(map(int, input().split())) for _ in range(n)]
s = None
for d in data:
    if s is None:
        s = set(d[1:])
    else:
        s = s & set(d[1:])
print(len(s))

SIGNATE 国立公園の観光宿泊者数予測 コンペで24位でした

だいぶ報告が遅くなりましたが去年の10月24日から12月13日まで経産省開催されていました「国立公園の観光宿泊者数予測」、略して公園コンペに参加し結果24位でした。

signate.jp

今更このコンペの終了報告を書くことに至ったのはSIGNATEにもメダル要素が導入されたからです。詳しくは次のリンクを参照してください。

signate.jp

24位にも関わらず銀メダルを取得したわけですが、参加者124人中の20%が銀メダル圏内なわけでだいぶギリギリのラインだったようですね。

解法についてはupuraさん作成のTogetterにまとめられていますのでそちらをご覧下さい。

togetter.com

一応総括しておきますとちゃんとクロスバリデーションしろということですね。あとLBは参考程度に留めておけもですね。

他の参加者の方々のブログリンク

copypaste-ds.hatenablog.com

upura.hatenablog.com

ktrw.hatenablog.com

www.hellodatascience.work

www.asanohatake.com

Googleポッドキャストを使ってregonn&curry.fmを購読してみる

皆様こんにちわこんばんわ、わかめです。

最近こちらのPodcastの配信を楽しみにしています。 regonn-curry-fm.github.io

端末をiPhoneからAndroidに変更したので「Podcast聞けなくなったちゃったなぁ」と思っていたのですが(Webページ上で聞こうとすれば聞けるのであまり困らないといえば困らないです) www.currypurin.com

どうやらこちらのGoogleポッドキャストアプリで聞けるようなのでダウンロードしてみました。 play.google.com

Googleポッドキャスト使用感

こんな感じ。

配信内容の概要が表示されました。

UIもシンプルでいい感じです!

倍速が最大3倍まで設定できるようです。

これでAndroidでもPodcastを聞けるようになりました、ありがたいことです。

ネット生活で便利なプラグイン・ツールを紹介してみる

随時更新中

タイトルの通り普段使っているプラグイン・ツール等を紹介してみます。

SNS

tweetdeck

tweetdeck.twitter.com

Twitterのタイムラインを複数開きたいと思ったことはありませんか。 検索キーワード毎やリストなどをそれぞれ1タイムラインとして扱うことができます。またそれらを横に並べて表示することができてとても便利です。

Chromeプラグイン

OneTab

chrome.google.com

Chromeのタブが無限に増え続ける人にオススメです。 無限に存在するタブを1つのタブに集約し、1タブを1リンクとしてまとめてくれます。

f:id:wakame1367:20190207230145p:plain
私のOneTabの状態

2月4日を1月35日という表現に変換するスクリプトを作ってみる

一発ネタです。関数名は僕の夏休みの8月32日バグからお借りしました。 gist.github.com

終わり!

github.com

TypeError: read_feather() got an unexpected keyword argument 'nthreads'への対処

Twitterで流れてきたこちらの問題についてちょっと調べてみました。

TL;DR

調査まとめ

以下上の問題を受けて調べたことをまとめました。

現象の再現

ツイートの件、再現するかを確認しました、確かに再現しました。

gist.github.com

原因調査

サクッと調べたらこんなissueを見つけました。 github.com

issueでのやりとりをまとめると、tl;drに書いた内容と重複しますが、pyarrow - read_featherがアップデートで削除されたデフォルト引数(nthreads)をpandas - read_feather側で残したままにしたのが原因。pandasの次のアップデートで修正予定。

原因調査 - 詳細

もう少し具体的に言うと、pyarrowのversionが0.10.0から0.11.0へ上がる際に以下のような変更が発生している。

def read_feather(source, columns=None, nthreads=None, use_threads=False):
def read_feather(source, columns=None, use_threads=True):

そして、問題のpandasのread_featherですが

pandas(0.23.4) - read_feather

featherのread_dataframeをそのまま返していることがわかります。

じゃあfeatherのread_dataframeはどうなっているかというと

feather read_dataframe

こちらはpyarrowのread_featherを返しています。

pyarrow read_feather

まとめるとこんな感じの依存関係になっています。

f:id:wakame1367:20190119181330p:plain:w300

というわけでpyarrowの変更がpandasにまで波及したことで、tl;drに書いた状況になってしまったということです。 また、この調査結果からfeatherを読み込むのにわざわざpandasのread_featherを使う必要はなく、pyarrowのread_featherを使えばよい。

追加調査

上の内容を受けてpypi - pandas(0.24.0rc1)がプレリリース版として上がっていたので修正されているか調べてみました。結果読み込めることが確認できました、次のバージョンが待ち遠しいですね。 gist.github.com

また、pandas 0.24.0rc1のwhatsnewから今回の変更点を列挙してみました。

  • Additionally we no longer depend on feather-format for feather based storage and replaced it with references to pyarrow (GH21639 and GH23053).

どうやら依存関係を下記画像の①から②へ修正した模様。

f:id:wakame1367:20190119173308p:plain:w300
pyarrowの依存関係

  • Deprecated the nthreads keyword of pandas.read_feather() in favor of use_threads to reflect the changes in pyarrow>=0.11.0. (GH23053)

pandas.pydata.org

おまけ

ところでpandasのwhatsnewに面白い一文があったので紹介します。

Warning The 0.24.x series of releases will be the last to support Python 2. Future feature releases will support Python 3 only. See Plan for dropping Python 2.7 for more.

pandasのバージョンアップ履歴を見ると今年中か来年には0.25にアップデートされそうなので、pandasのPython 2へのサポートは今年中、もしくは来年あたりに切られそうですね。 Python 2よ、さらば・・・。

pandas.pydata.org

以上です、ありがとうございました。

参考

世界各国の祝日特徴量を作る

upuraさんの記事でツイートを取り上げてもらいましたが日本の祝日の特徴量を作る場合、下記ライブラリを使うと便利です。

pypi.org

こちらの記事で使い方等簡単に説明されています。 upura.hatenablog.com

では日本以外の祝日の特徴量作るのはどうすれば?ということでこのようなライブラリがあることを知りましたので紹介いたします。

github.com

サンプルデータはupuraさんの記事から使わせていただきました。

gist.github.com

2018年を振り返る

皆様こんにちわ、こんばんわ、わかめです。 今年起きたイベント、主に仕事関係を箇条書きで書き出して振り返ってみます。

  • 2018年4月頃
    • 深層学習の研究開発にアサイ
    • 深層学習さっぱりわからんのでCourseraで勉強する
    • 技術書典4へ行ってみる
  • 2018年5月頃
    • Kaggleをやり始める
  • 2018年8月頃
    • 初めての転職活動を始める
  • 2018年10月頃
    • 派遣会社から転職
    • ゲーム開発・Vtuberとかやってる会社に転職する←???
  • 2018年11月頃
    • Signateに挑戦する→残念ながら結果出せず
    • 勤務先渋谷なので勉強会に顔を出し始める

去年の振り返りをやっていないので比較できないのですが、個人的に去年よりいろいろアウトプットできたなぁと思う2018年でした。ただブログさぼりがちだったので来年は1ヶ月に5記事くらいは書いていきたいなぁと思います。また、今年目標にしていた統計検定2級の合格をさっぱり忘れてたので来年こそは取得を目指そうと、あとKaggleのメダル1枚は確実にとりたいですね。

Twitter / Google / はてなブックマーク検索メモ

概要

昨日投稿したブログ記事、2018年過去記事の振り返りで使いました検索Tipsをメモがてらまとめておきたいと思います。 wakame1367.hatenablog.com サービス毎の検索欄に日付範囲でフィルターをかけることで当時話題になった記事を探すのに利用しました。

Twitter

Twitterでは検索欄部分に、キーワード名+日付範囲指定、例えば「kaggle since:2018-6-24 until:2018-6-30」で2018年6月24日から2018年6月30日までのツイートをフィルターにかけられます。

f:id:wakame1367:20181231134502p:plain

Google

Google検索では「ツール→期間指定なし」を続けてクリックすると次の画面が表示されるので、日付範囲を指定しました。 f:id:wakame1367:20181231140843p:plain

はてなブックマーク

はてなブックマークでは検索UIに期間指定する部分があるのでそちらで日付範囲を設定しました。 こちらページのURLを見る限り「date_begin=2018-06-24&date_end=2018-06-30」で日付範囲指定できるようですね。 f:id:wakame1367:20181231140133p:plain

参考

twitter.com

mag.app-liv.jp

Googleトレンド(Kaggle)を見て1年を振り返ってみる

こんにちわこんばんわ、わかめです。こちらの記事は今年1年であった日本でのKaggle関連のニュースをGoogleトレンドともに振り返ってみようというものです。

振り返ってみようと思った動機として、Kaggle-ja-slackの規模が今年になって急に大きくなったなぁという印象があったからですね。upuraさんのスライドから引用するとだいたい500member / 月の伸びなんですが・・・すごいなぁと。

upura.hatenablog.com

ちなみに最新のKaggle-ja-slackの参加人数はこちらになります。まだまだ今後も増えていきそうですね!

またKaggle-ja-slackに興味ある方はこちらから参加できますのでぜひ参加してみてください。(宣伝)

というわけで本題に入ります。下のグラフはGoogleトレンド、検索キーワードを「kaggle」に設定、日本限定で検索トレンドを可視化したものですね。 こちらを独断と偏見でピークポイント(赤丸で囲った部分です)を決めまして、その付近のKaggle関連のニュースを振り返ってみたいと思います。

f:id:wakame1367:20181230164623p:plain
独断と偏見で決めたKaggleトレンドのピークポイント

ピークポイント8個それぞれの期間はこんな感じになります。

だいたい1ニュース / 月があったようですね。(7月8月話題がないのは皆さん夏休みだったからですかね)それでは期間ごとに振り返ってみましょう。

2018年3月4日 - 2018年3月10日

ヤフー、エンジニア募集要項必要スキルにKaggleというワードが!

こちらの記事の一般の人からすると「新卒でも年収650万狙える!?」というのが第一印象だったのではないかと思いますが

Kagglerからすると印象に残ったのは

(4)Webサイト「Kaggle」のコンテスト(単独参加)でトップ10%に入賞

という点だったと思います。 www.itmedia.co.jp

上のニュース記事を受けてこちらのツイート(上の記事リンク出してからのY社はまったく隠れてませんね・・・w)

残念ながら未だに私はシルバーメダル取れてませんorz

2018年4月1日 - 2018年4月7日

DeNA、業務時間にKaggle参加を推奨する制度を導入

4月に入ってすぐですね、すごいニュースが入ってきましたね。エンジニア界隈がざわついた瞬間でもあると思います。 dena.com

このニュースを見て一番驚いたのはこういう前置きは書きつつも

業務Kaggle割合は、社内業務アサインの工数目安を規定するものである。アサインされた業務においてはランクにふさわしい高い成果を出し、データサイエンスチームとしての信頼を保たなければならない。 Rank SS(Kaggle100%)の場合、主担当してアサインされる社内案件業務はないが、会社を代表するデータサイエンティストとして、社内の分析相談に真摯に応えることは求められる。

RankSSであればKaggle業務100%に業務時間を使えるということだったと思います。

2018年4月15日 - 2018年4月22日

技術書典4にてKaggleチュートリアル本がバズる

私も行ったはずなのにあまり記憶が・・・ 4月22日は技術書典4の開催日でしたね。

techbookfest.org

そしてそちらで販売されたkaggleチュートリアルブックがバズっていたという記憶が印象に残っています。

note.mu

著者のcurrypurinさんは執筆後怒涛の勢いでKaggleのメダルを取得しており、後少しでKaggleMasterという手前に迫っております。

www.currypurin.com

2018年5月6日 - 2018年5月12日

Kaggleは役に立たない?

Kaggleは役に立たないというタイトルに反して、内容はKaggleと実務との関係性を分析している記事です。 ただ記事で指摘されている通り

脳みそを空っぽにしていろんなモデルや特徴量を作ってアンサンブル たくさんランを流してxgboostのscoreの流れをぼーっと眺める 画像コンペでのトレーニングデータへのラベリング とか、何やってんだろと思うこともあるのは確か。

自分でもスコアを上げるためによくわからないことをやっているなと自覚することはあります。 特にDataLeakageに関してはパズルと揶揄されることもあったり・・・。

月刊: Kaggleは役に立たない | threecourse's memo

2018年6月24日 - 2018年6月30日

機械学習を初めたいなら何をやれば→Kaggleで手を動かしてみる!

geek-out.jp

また仁科さんは、オンラインでのデータ分析コンテストサイト「Kaggle」を勧める。「簡単な問題から難しい問題までそろっていて、チュートリアルが用意されているものもあるので、機械学習の基礎を手元で簡単に学ぶことができる。入門としてお薦め」と話す。

これに関しては私も同意です。Kaggleは基本初心者を歓迎しています。例えばKaggleLearnというデータサイエンスを学ぶためのコースを用意していたり、またカーネルという仕組みは手元にインターネットに繋がるマシンさえあれば、PythonやRのコードを動かすことができるバーチャルマシンを無料で動かすできるというものです。

2018年9月9日 - 2018年9月15日

Home Credit Default Riskにおいて日本勢多数入賞!

入賞報告多くて全部取りあげるのが難しいくらい入賞されている方が多かったです。

なんでこんなに入賞する人が多くなるのかについて少しKaggle入賞のシステムを簡単に説明しますと、基本上位3位までが賞金授与対象なのですが、参加人数に応じて割合でGold/Silver/Bronzeメダルをゲットできる枠があります条件については下記リンク記事が詳しいです。

www.currypurin.com

今回で言うと7198チームが参加していたのでGoldがトップから24チーム、Silverが次いで335チーム、Bronzeが次いで360チーム、入賞対象が全部で719チームになったコンペでした。ちなみに1チームのメンバー人数制限はなかったので何人でもメンバー集めてチームを組めました。パッと見たところ20人のチームが最大ですかね。そんなこんなで入賞報告が多かったわけです。 (余談ですがこんなことがあったので1チームのメンバー人数制限ができたんですかね。)

入賞報告ブログ紹介

note.mu

www.acroquest.co.jp

toshikishimizu.hatenablog.com

amalog.hateblo.jp

Google AI Open Images - Object Detection TrackにおいてPFNが準優勝

Kaggleの話題になるとP社とD社が名前に挙がる説

下記事はログインしないと記事内容を読めないので何があったか説明しますと www.nikkan.co.jp

こちらのKaggleコンペの内容は1枚の画像から複数の物体を認識するタスクですね。

https://storage.googleapis.com/openimages/web/images/c159532248cb84da.png

上の画像を見る限りすげー難しそうなタスクだということはなんとなくわかると思います。

そしてこちらのコンペで準優勝したということですね、すごい!

f:id:wakame1367:20181230153529p:plain

一時期優勝したメンバーのアイコンのSlackカスタム絵文字がKaggle-ja-slackで流行ったのが面白かったです。

Kaggle - google-ai-open-images-object-detection-track - leaderboard

上の内容を書き終わった後にこちらの記事を見つけました、コンペ内容と結果について端的にまとまっているのでこっち読んだほうが要旨はすぐ把握できそうですね・・・。 www.preferred-networks.jp

2018年10月21日 - 2018年10月27日

MANABIYA#2の1枠にてKaggleが取りあげられる

こちらのイベントも私は不参加でしたが、当時ライブ放送されていたのでそれを見ながらTwitterで実況してました。 manabiya2.peatix.com

10/21 (日) - Day 3 6限目 (16:30 - 17:10):【3-6】Special Session:キスモ「Kaggleで変える日本の機械学習活用」

発表の内容はKaggleの紹介とKaggleが実務へどう役立つかについての発表でした。コンペに参加する手前様々な手法を試す機会がある点がカードゲームで言う手札を増やせるよというお話でした。

MANABIYA#2に大越が登壇し、Kagglerとして発表しました | 株式会社キスモ

2018年12月2日 - 2018年12月8日

KaggleMeetup#5開催!

ちょっと時期はずれますが12月1日にKaggle Tokyo Meetup #5がありました、私は参加登録したタイミングが遅くて残念ながら参加できませんでした。#kaggle_tokyoのハッシュタッグを当時見てましたが行けなかったのはだいぶ痛手だったなぁと・・・、次回はぜひ参加したいですね。 connpass.com

Kaggle Grandmaster/Master or 金メダル保持枠とKaggle Expert or 銀メダル保持枠が前回と比べてそれぞれ約3倍、約2倍増えてるのはすごいですよね。

f:id:wakame1367:20181230130107p:plain
Kaggle_Meetup#4参加人数
f:id:wakame1367:20181230130136p:plain
Kaggle_Meetup#5参加人数

Kaggleアドベントカレンダーが始まる

全体的にKaggle実践的なTipsや解法の共有があったのでとても勉強になりました。 qiita.com

上のアドベントカレンダーが埋まったのでしれっとその2が作られていたのが面白かったです。 qiita.com

この記事を書いてて思ったのはこの記事をアドベントカレンダーに登録しておけば良かったのではと。

Signateプチ炎上

Signateは日本版Kaggleみたいなところがありますし関係性は少しながらあると思いますので取りあげました。 Signate登録時の個人情報を異様に要求してくるってところですね、当時学歴(大学)入力がオプションではなく必須だったのがびっくりしました。 blog.shikoan.com

あと自分の何気ないツイートが炎上を加速させた気がします。

今は掲載されてないようですが、個人的に面白かったのはこの画像ですね。 f:id:wakame1367:20181230132007p:plain

最後に、Kaggleという結構ニッチな界隈だったつもりがいつのまにかニュース記事に取りあげられたり、雑誌の1コラムに取り上げられたりとネタに事欠かない凄まじい1年だったなぁという感想です。