u++の備忘録

テーブルデータ向けのGAN(TGAN)で、titanicのデータを増やす

はじめに ynktk さんのツイート*1を見て、テーブルデータ向けの GAN の存在を知りました。本記事では、TGAN を用いて titanic のデータを拡張してみます。 TGANとは テーブルデータに対応した GAN (Generative Adversarial Network, 敵対的生成ネットワーク)…

【ネタバレ有】『アルキメデスの大戦』とデータ分析の仕事

はじめに OsciiArtさんの下記のツイートで興味を持ち、観に行きました。本記事では、ネタバレ要素を含みつつ、徒然と感想を書いていこうと思います。『アルキメデスの大戦』を観た。傑作。kaggler、データサイエンティストは絶対に見て欲しい。kaggleのプロ…

scikit-learn-contrib の Metric Learning を試す

Metric Learning について Metric Learning は、データの教師情報を基にデータ間の距離や類似度などの Metric を学習する手法です。日本語で手軽に読める記事だと、*1, *2 などが詳しいです。このたび、phalanx さんの tweet *3で、 Metric Learning の基礎…

【特徴量の追加編】機械学習を用いた大相撲千秋楽の勝敗予想

はじめに 「連勝・連敗」特徴量の追加 tsfresh特徴量の追加 おわりに はじめに 前回は、「Sports Analyst Meetup #4」でのLTに向けて、ベンチマークとなる機械学習モデルを構築しました。新しい特徴量を追加することで、予測モデルの性能が向上することも確…

【書籍メモ】『データマイニングエンジニアの教科書』

『データマイニングエンジニアの教科書』を読んだので、雑感を書きます。www.c-r.com『データマイニングエンジニアの教科書』読む〜 pic.twitter.com/J6vJboSAx9— u++ (@upura0) July 31, 2019 書籍の概要 『データマイニングエンジニアの教科書』 著者:森…

【ベンチマーク編】機械学習を用いた大相撲千秋楽の勝敗予想

はじめに ベンチマークの構築 特徴量 目的変数 機械学習モデル Validation の構築 評価性能 新しい特徴量の追加 追加する特徴量 評価性能(新しい特徴量の追加) おわりに はじめに 前回は、「Sports Analyst Meetup #4」でのLTに向けて、「Sumo Reference」…

【可視化編】機械学習を用いた大相撲千秋楽の勝敗予想

はじめに データの収集 仮説 可視化 おわりに はじめに 前回は、「Sports Analyst Meetup #4」でのLTに向けて、大相撲のデータを収録している「Sumo Reference」を紹介しました。upura.hatenablog.com本記事では、「Sumo Reference」から収集したデータを用…

Djangoで「名古屋/東京」の画像分類アプリを作った

Djangoで簡単な画像分類アプリを作ってみた。Flickrから「名古屋」「東京」で画像を400枚ずつ収集して、KerasのVGG16使って分類器を学習。推論したい画像を渡して、結果を表示するところまで。分類器が適当でAUCが.65くらいなのはご愛嬌。 pic.twitter.com/E…

大相撲のデータ収集は「Sumo Reference」が便利

まだ全然用意してないですが「機械学習を用いた大相撲千秋楽の勝敗予想」でLTしようと思います。LT枠空いているので、気軽に是非!「スポーツ×データ分析」に関係あれば競技問わず何でもOKです。 #spoana pic.twitter.com/9DPdyc9Tu2— u++ (@upura0) July 22…

Udemy講座「【Python・Django・TensorFlow + 転移学習】画像分類AIアプリ自作入門」をやった

Udemy講座「【Python・Django・TensorFlow + 転移学習】画像分類AIアプリ自作入門」をやりました。タイトル通り、PythonのTensorFlowで作成した機械学習モデルをDjangoを用いてWebアプリ化する講座です。全3.5時間を一晩で流し見しながら追体験しましたが、…

Kaggle Jigsawコンペ32位でした

KaggleのJigsawコンペにチーム参加して、32位で銀メダルでした。public 58位からは上昇しましたが、金メダル圏内にはもうひと押し足らずという結果でした。www.kaggle.comdiscussionにチームメイトのKazSappさんが投稿した通り、解法は6モデルの重み付き平均…

LightGBMでtargetをsqrt(target)に変換して予測する「reg_sqrt=True」

機械学習の教師あり学習における一つのテクニックとして、学習時の target 変換があります。昨晩に LightGBM の documentation を読んでいたところ、sqrt 限定ですが、target の変換を自動で処理してくれる parameter "reg_sqrt" を(恥ずかしながら初めて)…

「長さの近いデータを同じbatchに入れる」の性能劣化と速度

先のKaggle Tokyo Meetup #6 でのtksさんの発表で触れられた「長さの近いデータを同じbatchに入れる」について、チームで参加した「Jigsaw Unintended Bias in Toxicity Classification | Kaggle」にて同じような取り組みをしていました。本記事では、Jigsaw…

Kaggle Tokyo Meetup #6 にて「PetFinder 2nd Place Solution」の題目で発表しました

「Kaggle Tokyo Meetup #6」に参加し、チーム Wodori の一員として「PetFinder 2nd Place Solution」の題目で発表もしました。connpass.com本記事では、各発表の簡単な感想などを述べます。twitterの #kaggle_tokyo や kaggler-ja slackの #event-live にも…

Dockerのコンテナのメモリ上限の拡張

下記ブログを参考にDockerでデータ分析環境を構築した後、Dockerのコンテナのメモリ上限の関係でエラーが発生したのでメモしておきます。amalog.hateblo.jp 発生したエラー 原因 解決策 おわりに 発生したエラー The kernel appears to have died. It will r…

「Sports Analyst Meetup #3」を開催&LTしました #spoana

はじめに 発表資料 togetter ロングトーク「Jリーグ導入事例から見えてきた、ダイナミックプライシングの未来」 LT 自分の発表 おわりに 過去の開催 はじめに 「Sports Analyst Meetup #3」を開催しました。今回は自分自身もLTで発表しました。spoana.connpa…

Microsoft/interpret で Kaggle titanic

次のツイートを見かけて興味を持ったので、取りあえず使ってみました。使い方はGitHubのREADMEに記載がありますが、sklearnの機械学習モデルと同様に fit -> predict します。Microsoftが、解釈性が高くかつ精度も高いBoostingのモデル(Explainable Boosting…

「データアナリストのキャリア」について登壇しました

「データアナリスト・機械学習エンジニアの実情とAIキャリアの築き方」というイベントにお声掛けいただき、「社外で探る自分のキャリア」の題目で登壇しました。登壇者はドコモ・インサイトマーケティングの浅野さん、エムスリーの河合さんも含めた計3人で、…

データセットの綴りミスは必ず直すべきか?

前回書いた記事では、綴りミスなどの修正に用いる辞書を手動で構築する方法を紹介しました。upura.hatenablog.com本記事では、Petfinderコンペを題材に「データセットの綴りミスは必ず直すべきか?」という問いについて考えたいと思います。 自分なりの回答 …

typo辞書を人力で作るためのTips

準優勝したKaggleのPetfinderコンペでは、元データの英単語の綴りミスなどの修正に用いる辞書を手動で構築しました。upura.hatenablog.com本記事では、このような辞書を構築した方法についてまとめます。 結論 概説 embeddingのout of vocabularyとなる単語…

日本語版text8コーパスから単語の分散表現を得る

はじめに 参照記事 GitHub 手順 コーパスのダウンロード gensimでの読み込み Kaggle Kernel おわりに はじめに 手軽に日本語の単語の分散表現を得ようと思ったら、これが良かった。数分でやりたいこと終わった。===日本語版text8コーパスを作って分散表現を…

Kaggle地震コンペ振り返り(public 5th -> private 212th)

2019年1〜6月にわたって開催されていたKaggleの「LANL Earthquake Prediction」コンペに参加し、銀メダルを獲得しました。public LBの時点では賞金圏の5位につけていて、ドキドキしながら最終結果を待ち構えていました。心臓ちぎれそうだけど、このドキドキ…

人工知能学会2019@新潟のご飯まとめ

2019年度 人工知能学会全国大会 (第33回)に参加してきました。 本記事では技術的な話は一切書かず、新潟で満喫したご飯をまとめます。www.ai-gakkai.or.jp 海老の髭 須坂屋そば 塚田牛乳ソフトクリーム とんかつ政ちゃん 朱鯱 須坂屋そば 廻転寿司弁慶 おわ…

AtCoder Beginner Contest 127をPythonで解く

AtCoder Beginner Contest 127をPythonで解きました(A〜D)。atcoder.jp A - Ferris Wheel(100点) 丁寧に条件分岐 A, B = list(map(int, input().split())) if (A <= 5): print(0) elif (A >= 13): print(B) else: print(B//2) B - Algae(200点) 漸化式…

AtCoder Beginner Contest 126をPythonで解く

AtCoder Beginner Contest 126をPythonで解きました(A〜E)。atcoder.jp A - Changing a Character(100点) いろんなやり方はあると思うが、計算量も余裕があるので愚直に マッピング用のdictを用意し、K番目のときだけ適用する N, K = list(map(int, inpu…

「サブスクリプションミートアップ vol.1」に参加しました(全発表まとめ)

本日開催された「サブスクリプションミートアップ vol.1」に参加しました。サブスクリプション事業における知見共有を目的とした会で、中でもKPIの運用・計測などアナリスト的観点の話が中心でした。subscription-meetup.connpass.com開催趣旨は、当日も説明…

「Machine learning graph pitch #1」に参加しました(全発表まとめ)

本日開催された「Machine learning graph pitch #1」に参加しました。機械学習の中でも、特にグラフ関連の技術を実務で使っている5人の方々のLTをお聞きできました。machine-learning-pitch.connpass.com Improving "People You May Know" on Directed Socia…

「Sports Analyst Meetup #2」を開催しました #spoana

「Sports Analyst Meetup #2」を開催しました。実務でスポーツのデータ分析をしている方のロングトーク2本に加え、LTも10本と盛りだくさんの内容でした。spoana.connpass.com2月末に開催した初回に続く、第2回の開催です。upura.hatenablog.com発表資料はこ…

「diverta 2019 Programming Contest」をPythonで解く

A〜Dまで解きました。atcoder.jp A - Consecutive Integers(100点) サンプルなど、実際に具体的な数字で考えると良い N, K = list(map(int, input().split())) print(N - K + 1) B - RGB Boxes(200点) r, gを固定したときにbが答えとなり得るか(割り切…

Kaggle Kernel (Jupyter Notebook) でログを別ファイルに出力する

本記事では、Kaggle Kernel (Jupyter Notebook) でログを別ファイルに出力する方法を紹介します。「Jupyter Notebook形式での出力が大量になると見づらいので、別ファイルに吐き出したい」などの需要を想定しています。 方法 loggerでファイルに書き込んでい…