u++の備忘録

Kaggle

AI×愛知の「AIchi勉強会」でKaggleの魅力について発表しました

愛知県名古屋市で開催された「AIchi勉強会」で、Kaggleの魅力について発表しました。愛知県出身という縁でお声がけいただいた形です。 愛知県の製造業の異なる会社で働く、AI・機械学習に興味を持つメンバー3人中心に「愛知県で会社を越えてAIに興味ある人、…

テーブルデータ向けの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に向けて、ベンチマークとなる機械学習モデルを構築しました。新しい特徴量を追加することで、予測モデルの性能が向上することも確…

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

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

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…

Microsoft/interpret で Kaggle titanic

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

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

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

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

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

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

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

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

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

Kaggle Petfinderコンペで準優勝しました

KaggleのPetfinderコンペで準優勝しました。Solutionの概要はdiscussionで公開しています。 2nd Place Solution Summary | Kaggle

Kaggleコンペでは忘れずに「Final Submission」を選ぼう

「Santander Customer Transaction Prediction」コンペが、残り5日になりました。過去最多だった7,198 teams参加の「Home Credit Default Risk」コンペを超え、現時点でも8,650 teams参加と過去最多になっています。このコンペが「メダルが獲得できるKaggle…

Kaggle入門記事をQiitaに書きました

先日「Kaggleに登録したら次にやること ~ これだけやれば十分闘える!Titanicの先へ行く入門 10 Kernel ~」という記事の初版を公開しました。qiita.com初めてQiitaに記事を書いたのですが、ありがたいことにTwitter含め大きな反響を頂きました。新年度に心…

Kaggleでメダルが獲得できるコンペか否か確認する

コンペのトップページの「Tiers」部分の表記で確認できます。例えば、メダルが獲得できるpetfinderコンペでは、次のような表記です。https://www.kaggle.com/c/petfinder-adoption-prediction一方で、メダルが付与されないコンペでは、次のような表記になっ…

Kaggle CareerCon とは

はじめに Kaggle CareerCon とは Kaggle CareerCon 2018 Kaggle CareerCon 2019 おわりに はじめに 4月16〜18日に開催される「Kaggle CareerCon 2019」の早期受付が始まりました。昨年には「Kaggle CareerCon 2018」も開催されていたのですが、私が本格的にK…

コルモゴロフ-スミルノフ検定を利用した特徴量選択

はじめに コルモゴロフ-スミルノフ検定を利用した特徴量選択 コルモゴロフ-スミルノフ検定とは 特徴量選択にどう活用する? Kaggle Kernel おわりに はじめに えじさんの下記記事を読んで「コルモゴロフ-スミルノフ検定を利用した特徴量選択」が気になりまし…

Kaggleにおける「特徴量エンジニアリング」の位置づけ 〜『機械学習のための特徴量エンジニアリング』に寄せて〜

はじめに 『機械学習のための特徴量エンジニアリング』の書誌情報 Kaggleのワークフロー 1. (探索的データ分析) 2. ベースラインモデルの構築 3. Validationの構築 4. 特徴量エンジニアリング 5. ハイパーパラメータ調整 6. アンサンブル 『機械学習のため…

「オレシカナイトデータコンペティションvol.2」で準優勝でした

はじめに コンテストの概要 オレシカナイトとは 競技概要 ビジネス的な意義 既存の説明変数 評価指標 自分の解法 戦略 説明変数 学習モデル 結果 所感 はじめに 1月26日に、AbemaTVの実データを使ったデータ分析のコンテストに参加し、準優勝でした。本記事…

多クラス分類の不均衡データのdownsampling

問題設計 例えば4クラス分類で、比率が[0.5, 0.25, 0.15, 0.10]のような問題を考えます。 from sklearn.datasets import make_classification args = { 'n_samples': 100000, 'n_features': 10, 'n_informative': 3, 'n_redundant': 0, 'n_repeated': 0, 'n_…

LightGBMでdownsampling+bagging

はじめに データセットの作成 LightGBM downsampling downsampling+bagging おわりに はじめに 新年初の技術系の記事です。年末年始から最近にかけては、PyTorchの勉強などインプット重視で過ごしています。その一環で不均衡データの扱いも勉強しました。ク…

2018年のKaggleの"leak"を眺めてみる

はじめに 2018年のKaggleでは、何かと "leak" という単語が話題になった印象があります。https://www.kaggle.com/docs/competitions#leakage今回は、Meta Kaggleのデータを分析し、2018年のコンペで話題になった "leak" を眺めてみました。Meta Kaggle 分析…

【Kaggleのフォルダ構成や管理方法】タイタニック用のGitHubリポジトリを公開しました

はじめに Kaggleのタイタニック GitHubリポジトリ 執筆の経緯 大まかな方針 参考にした情報 フォルダ構成 configs data input output features logs models notebook scripts utils 計算の実行 Git管理 おわりに はじめに 本記事では、Kaggle用フォルダ構成…

Christmas Tree Drawn with LightGBM

It is Christmas, so I painted Christmas tree with LightGBM.This post is highly inspired by the following post:tjo.hatenablog.comThe data was downloaded from the author's Github. And I added new data containing a new label representing the …

LightGBMでクリスマスツリーを描く

本記事は、kaggle Advent Calendar 2018 その2の25日目の記事です。意図的にフライングして前日の24日、クリスマスイブに投稿します。qiita.comクリスマス用の記事として、LightGBMでクリスマスツリーを描いてみました。なお「決定境界を用いて絵を描く」と…