と。

Github: https://github.com/8-u8

xonshを使ってkaggle APIでkernelにpushする

はじめに

  • kaggle APIはローカルPCのターミナル(コマンドプロンプト)からshellコマンドでkaggleの環境を操作することができる呪文.Pythonで実装されている
  • xonshはPythonで実装されている(?)shell
  • kaggle APIをxonshで動かせばxonsh人口もkaggle API人口も増えて幸せなのではないか?

というわけでkaggle APIをxonshから使ってみましょう. ただ,1から書いていくとアレなので主に

  • xonshからkaggle APIへのアクセス
  • xonshからkaggle APIを通してkernelにPush

の部分を記録します.kaggle APIやxonshの導入については以下を参照してください. また,installationには日本語の記事もありますので参照してください*1

xonsh

xon.sh

日本語による紹介記事

vaaaaaanquish.hatenablog.com

kaggle API

github.com

日本語による紹介記事

www.currypurin.com

前提

  • kaggle APIとxonshは導入できつつある*2
  • 私はwindowsという保守的なOSを使っている上,ほかのOSでの動作検証はしていないので,動作の保証はできません.

*1:多くはないのでこの記事しかないというところもあります.これから流行るものという確信をもってやっていきましょう.

*2:この前提の時点でこの記事の価値は10円ガムよりも安い

続きを読む

Data Driven Meetup #5に行ってきました


今回も視聴者参加

でした.しかも仕事がおして遅刻して. 資料等はこちらから

d3m.connpass.com

LTとかで報告したいモチベーションはあるのですが, 事業会社ではなく,自分たちでプロダクト開発しているわけでもないので,うーん,というかんじです. 無理やり探すか,LTできるネタを公開できる場所に移るか……

続きを読む

白金鉱業Vol.6に行ってきました.

今回初参加

資料等は以下のconpassサイトから

brainpad-meetup.connpass.com

参加理由

私はTwitterが実家なのですが,定期的にハッシュタグ「#白金鉱業」が流れてきてとても盛り上がっているのを見るようになりました.

「鉱業」とあったので,最初はそういう業界の盛り上がりかと思っていたのですが,それにしてはデータ界隈が盛り上がっているので不思議に思い,行ってくるか,と思い参加表明した次第です.

内容

資料とかは上記のConpassを参照していただきつつ.

今回はロボット開発,医療データ分析,アウトプットの技術という3つの題目でした.

ロボット事業における機械学習エンジニアという仕事について

「家族型ロボット」の開発に携わるAlejandro Gonzalez氏によるお話でした.

lovot.life

限られたボディに多くのセンサーを設け,生命感にあふれるロボットを開発する上での 機械学習エンジニアの立ち位置とスキルセットというお話でした.

職業柄ハードウェアのセンサーからデータを取り出して解析して学習して……というようなことはやらないこともあり,とても新鮮でした.

限られたマシンスペックを有効に使うために,機械学習に限らず,ルールベースでのアルゴリズムの実装や信号が正しく取れているか,ノイズ補正,リアクションの優先度など,データを使ってロボットを生き物のように制御するための努力が徹底されているなあ,と思いました.

個人的には「あえて間違えるのも『かわいい』」というところで,そのために精度志向ではないモデルを構築するなどしているというのが,来てるな,未来という感じがしました.

技術アウトプットを支える技術

皆さんおなじみupura氏のお話です.スライドタイトルが支える技術シリーズだったのに気づいたのは会終了後でした.ごめんて.

ブログやkaggler-jaや各種勉強会でアウトプットを続けるupura氏の,アウトプットし続けるコツやアイデアの貯め方,時間,モチベーションの維持の仕方など,非常にためになりました.

影響を受けすぎて連日ブログ投稿をするくらいには非常にためになりました

インプットとアウトプット,やる気と時間という4つの変数がいかに連関しているか,という視点から,アウトプット駆動のインプット,インプット駆動のアウトプットの話については「あー私完全にアウトプット駆動だなあ~」とか言いながら聴いていました.締切がないとやる気が起きない.怠惰な人間……

イデアややりたいことをTodoistというツールで管理することで,眼の前のことに集中するというのはよいライフハックでした.昨日からGoogle Keepを使っています.

管理できれば何でも良いとのことなので,とりあえず頭の中にあるいろいろをここに詰め込んでいく最中です.

医療xDeep Learningの課題と展望について

PFNの菅原洋平さんによる医療分野での機械学習の応用事例のお話でした.

医療分野も専門ではなく,深層学習(とりわけ画像認識)は完全にキャッチアップできていないので,細かい議論についてはあまり理解できていません……

とはいえ,医療分野ではデータによって分野の融合や連携が進んでいるという話,X線写真やMRI写真などから病気かどうかを判別するというタスクに対して,深層学習の手法はたしかに有効であるが,正解かどうかを判別するためのラベル付けがかなり難しいという課題,属人化した情報の処理など,課題も少なくないというお話でした.

特に興味深かったのは「ブラックボックス性の強い深層学習と,診断の透明性や説明責任とのコンフリクト」でした.

言われてみればなるほど,という感じで,深層学習による判別の根拠の出力などの技術も取り入れていく必要があるようです.

ともあれ

参加者の方も質疑が活発で,これはいいイベントを見つけたぞ……という気持ちです.

とても人気のイベントなので,次行けるかわかりませんが,行きます.

TokyoR#76に行ってきました

理論と実装のバランスがいい回

でした.

応用セッションもLTもなかなか活気があり,面白かったです.

今回は資料の多くが以下からアクセスできます.

tokyor.connpass.com

今回特に面白かったのはkato_kohakuさんの機械学習モデルの横断的な比較評価についての応用セッションと,moratoriamuo271さんのLDAを使ったRecommendation Engineの実装のLTでした.

モデルを跨いでデータを見たい

kato_kohakuさんの比較評価では,この著書をベースにした機械学習モデルの解釈について統合的に検討できるRパッケージの紹介とその実装,可視化に至るまでの内容でした.「スライドを作りすぎた」と本人もおっしゃっていましたがその密度・熱量,ともに高かったです.

個人的には学生時代にゲーム理論をかじった*1こともあり,そこで出てくるShapley value機械学習のモデル評価指標として使われていること,使われるに至った発想に驚いてました.

予測が得られる過程をゲームと捉えるってなんなんだ(敬意)*2

社会科学分野で使われていた評価指標にGini Coefficientsがありますが,こちらも決定木系のモデルでの重要度指標として応用されているので,これからもどんどんこういうのが出てくるのかなあと楽しみにしています.

トピックモデル ~1週間の献立を考える~

moratoriamuo271さんのLTでは,Latent Dirichlet Allocationを用いたトピックモデルによって,バランスの取れた料理の献立をリコメンドするという内容でした.

ユニグラム→混合ユニグラム→トピックモデルという文書生成過程モデルの変遷を丁寧に図解していて,とてもわかり易かったです.

仕事でLDAを実装したときは,文書ではなく「ファジイな分類」という部分に注目して,一時期話題になったファジイクラスタリングの実装方法の一つとして扱ったので,懐かしいという気持ちもありました.

私もLTをしましたが,その話はまた別で記事を書きます.

理由は単純で,理論的に詳しい話をLTではできなかったので,その部分を厚くしたEditionを今インプット中なので.

*1:ナッシュ均衡で挫折しかけたのはいい思い出です.

*2:その後論文にあたったのは秘密

ELO Merchant Category Recommendationで銅メダル圏でした

よくわからないですがExpertになってました

あまりいいExpertのなりかたではない*1こともあり,kaggle masterにならないと人権はないらしいので,地べたを這いつくばりながら行きていこうと思います.

今回のELO Merchant Category Recommendationでは,Rがメインの言語である私がPython縛りでいろいろ試行錯誤しながら進めたこともあり,いろいろと学ぶことが多かったのでまとめておきたいと思います.

ELO全体の振り返り等は以下の記事で詳しくまとめられています.

amalog.hateblo.jp

使ったソースコードは以下にぶっこんどきます.

github.com

*1:大炎上したRコンペで手抜きsubmissionしたら銀圏になってしまいました.たたかないでください

続きを読む

Rでone-hot encodingするときに便利なパッケージ{dummies}

はじめに

私生活でも仕事でも「カテゴリ変数を[0,1]実数で表現したい」という欲望に駆られる. どういうことか?下のように入っているデータがあるとする.

Category
A
B
C

これを,下のように変換したい.

Category_A Category_B Category_C
1 0 0
0 1 0
0 0 1

界隈ではこのようなデータの変換をone-hot encodingという. 自前でアルゴリズムを組んでみるのもためになるが,納期は迫る.焦る. そんなときのdummiesパッケージ. 開発元は下.

github.com

大したことやっていない実装例は下.

github.com

続きを読む

TokyoR #75に行ってきました

哲学回だった(?)

ここ1年はこれを楽しみに生きるという苦しみを耐え忍んできています(誇張表現)

今回は私が神話の話をして,ほかの方がパラレルワールドの話や存在意義の話をするというなかなか哲学な話が多かったのでは?という印象でした.

みんななにかに葛藤し,苦しみながら,この世界で楽しみを見出しているんだな……としんみりしています(?)

何故か応用セッションに登録してしまう

LTをするはずだったんですがついうっかり応用セッション宣言をしてしまい,どうしたものかと生まれたのが原点に立ち返るという話と叙事詩に見立てるというテーマでした.

そんなこんなで今回はRのバージョン1.0.0を触ってRの設計思想を理解しようみたいな話をしました.

github.com

Rの言語としての設計や関数の仕様については実際すでにRおじさんたちがいろいろ書いているものの,

好き好んでR1.0.0を触る人はいなかったので,挑んでみました.反省しています.

とはいえ,Twitterでは,私が紹介したやり方を最新バージョンで再現してくださった人などもいらっしゃったりして,少しでも誰かのためになったのであればそれでいいかなと思います.

次回は3月2日とのことで,LTに申し込んでいるところです.ネタは決まったので準備していこうと思います.

そんなこんなで,今回は応用セッションとLTの感想を書き連ねたいと思います.

続きを読む