タグ

kaggleに関するkuumonのブックマーク (10)

  • https://github.com/phalanx-hk/kaggle_cv_pipeline/blob/master/kaggle_tips.md

    https://github.com/phalanx-hk/kaggle_cv_pipeline/blob/master/kaggle_tips.md
    kuumon
    kuumon 2021/05/06
    画像コンペ前に読むと良い
  • Kaggle の Code Competitions で処理済ファイルやライブラリを使う - u++の備忘録

    近年の Kaggle では、参加者が Kaggle の Code 環境上でソースコードを実行する「code competitions」形式でのコンペ開催が増えています。実行時間や処理内容など諸条件はコンペごとに異なります*1が、モデルの学習を事前に実施し、評価用データセットに対する推論コードのみを提出する形式が一般的です。不正対策などの要因で、インターネットの利用は禁じられている場合が多いです。記事では、この形式のコンペで、処理済ファイルを使ったり、ライブラリをインストールしたりする方法を紹介します。 処理済ファイルの利用 推論部分のみのコードを提出する形式の場合、学習済モデルや前処理済ファイルなどは、Kaggle の datasets 機能を用いて notebook の input に追加できます。過去のコンペで公開されている notebook が参考になります。datasets には

    Kaggle の Code Competitions で処理済ファイルやライブラリを使う - u++の備忘録
  • MLflowをさくっと導入できるdocker-composeを作った - やむやむもやむなし

    tl;dr docker-composeを叩くだけでさくっと認証付きのMLflowサーバーを立てられるようにしました こちらからどうぞ: ymym3412/mlflow-docker-compose みなさん機械学習の実験をしていますか? 学習に使ったハイパーパラメーターやデータ、Train/Valデータのロス、、Testデータでの各種評価指標、これらを人手で管理しておくのは非常に大変です。 モデルの開発や比較実験に集中していると「あれ、この最高精度のモデルはどんな条件で実験したものだっけ...」となることもあり、再現性が失われてしまうことにもつながります。 この機械学習にまつわる課題を解決するひとつの枠組みが実験管理と呼ばれるもので、学習時に使用したハイパーパラメーターやTrain Loss、Test データでの評価結果などを記録して管理しておくものです。 代表的なものでいうとMLflo

    MLflowをさくっと導入できるdocker-composeを作った - やむやむもやむなし
  • Cloud RunでMLflowを動かす

    やったこと Google Cloud RunでMLflowを動かしている記事がほとんど見つからなかったのでとりあえず動かしました。 前回の記事ではtensorboardで動かしたものになります。 今回はMLflowで動かして、その他にも認証周りの煩雑な設定手順を極力減らしてみました。 利点 アクセス制御をGoogleアカウントで可能です。この記事ではドメインで制御していますが、個人のメールアドレスで制御できます。 社内での実験やkaggleのチームでの共有が容易です VMやAppEngineよりも安いです 使えなくなるタイミング Cloud RunにCloud IAPが導入されたら、あまり意味がなくなるだろうと思っています。 費用 今の構成だと、 Cloud Storge : 結果のサイズ次第 Cloud SQL : 42円/日 Cloud Run : アクセス時のみ 少量の実験であれば、

    Cloud RunでMLflowを動かす
  • ランダムフォレストと検定を用いた特徴量選択手法 Boruta - 学習する天然ニューラルネット

    特徴量選択とは Borutaとは とりあえず使ってみる ベースラインの判別 Borutaの判別 Borutaのアイデアの概要 Borutaのアルゴリズム 1. 判別に寄与しないはずの偽の特徴量を作る。 2. 偽の特徴量と一緒にランダムフォレストを訓練。 3. 各特徴量の重要度と偽の特徴量の特徴量を比較。 4. 複数回比較し検定を行うことで、当に重要な特徴量のみを選択。 検定について 1. 棄却したい帰無仮説と受容したい対立仮説を用意する。 2. 観測値から検定統計量Tを定める。 3. 帰無仮説が正しいとしてTの分布を求める。 4. 十分小さい有意水準αを定め、帰無仮説が正しいときにとなる領域を棄却域とする。 5. 観測されたTがに入っていたら対立仮説を受容し、入っていなければ帰無仮説を受容する。 まとめ 補足 使う際のTips等 2019/01/06追記 参考 特徴量選択とは 特徴量選択

    ランダムフォレストと検定を用いた特徴量選択手法 Boruta - 学習する天然ニューラルネット
  • Python: Null Importance を使った特徴量選択について - CUBE SUGAR CONTAINER

    今回は特徴量選択 (Feature Selection) の手法のひとつとして使われることのある Null Importance を試してみる。 Null Importance というのは、目的変数をシャッフルして意味がなくなった状態で学習させたモデルから得られる特徴量の重要度を指す。 では、それを使ってどのように特徴量選択をするかというと、シャッフルしなかったときの重要度との比率をスコアとして計算する。 もし、シャッフルしたときの重要度が元となった重要度よりも小さくなっていれば、スコアは大きくなって特徴量に意味があるとみなせる。 一方で、シャッフルしたときの重要度が元とさほど変わらなければ、スコアは小さくなってその特徴量は単なるノイズに近い存在と判断できる。 あとはスコアに一定の閾値を設けたり、上位 N 件を取り出すことで特徴量選択ができるようだ。 今回使った環境は次のとおり。 $ sw

    Python: Null Importance を使った特徴量選択について - CUBE SUGAR CONTAINER
  • 【機械学習】SHAPを用いた木構造モデルの解釈 – 株式会社ライトコード

    SHAPを用いた木構造モデルの解釈機械学習モデルの解釈性については、しばしば問題になります。 「モデルの精度が高いが、なぜモデルが、その予測を行ったのかを説明できず、実用に至れなかった…。」 といった事を、多くの方が経験しているのではないでしょうか? 今回は、複雑なモデルの解釈を行うための手法「SHAPSHapley Additive exPlanations)」を紹介します。 そして、実際に「木構造モデル」に適用したいと思います。 この記事で紹介すること複雑なモデルにおいて、各特徴量の寄与の解釈を行うモデル「SHAP」を解説。「SHAP」を、実際に「木構造モデル」に適用してみた結果を、特徴量重要度の指標と比較する。モデルの解釈性についてまず、機械学習モデルの解釈性について説明します。 一般的に、「モデルの複雑性」と「解釈性」は、トレードオフの関係にあります。 例えば、 「重回帰モデル」

    【機械学習】SHAPを用いた木構造モデルの解釈 – 株式会社ライトコード
  • Jupyter Notebook のグローバル変数汚染との戦い - Qiita

    Kaggle Advent Calendar の12日目の記事です。 こんにちは。fkubotaです。今はKaggle Expertです。 さっそくですが、Jupyter Notebook で作業をしている時、グローバル変数に困らされたことはないでしょうか? 僕は業務でもKaggleでもNotebook上で作業をすることが多々あるのですが、結構な頻度で意図しないグローバル変数が原因のバグに出会います。 そこで以下のTweetをしてみました。これが事の始まりです。 aaa = 1 def hoge(b): c = aaa + b return c print(hoge(2)) ↑これ動くの嫌なんですが、どうにかしてエラー吐かせるようにできないですか? 与えた引数の変数しか使えないようにしたいです… — fkubota 🦉 (@the_phi_is_cast) December 6, 202

    Jupyter Notebook のグローバル変数汚染との戦い - Qiita
  • 機械学習実験環境を晒す - Qiita

    14日目はいのいちさんの【Kaggle】2020年に開催された画像分類コンペの1位の解法を紹介します です! 16日目は俵さんの黒魔術への招待:Neural Network Stacking の探求です! Kaggleをやる私に必要なもの こんにちは、皆さんはKaggleやってますか? 正直なことをいうと、自分はあまりKaggleコンペに参加してないのでエアプ勢になってます。どちらかというとマイナーなコンペばかりに参加してて…… Kaggle(広義)で勝つためにたくさんの実験を回しますが、何も考えていないと後々苦しみます。 僕がコンペに参加してる時のあるあるをまとめます。 今日やった実験は明日は忘れてる 破壊的変更ばかりする commitがだるい ソースが汚い 諸々あってそろそろちゃんとした実験環境整えようかなという気になって自分のソースコードを整理してました。その頃にちょうどadvent

    機械学習実験環境を晒す - Qiita
  • 黒魔術への招待:Neural Network Stacking の探求 - 俵言

    この記事は Kaggle Advent Calendar 2020 の16日目の記事です。去年ネタ記事*1を書いたので今年は真面目なやつにしました。 はじめに Kaggler はコンペにおいてあらゆる手段を用いて評価指標の改善を目指します。特徴量エンジニアリング、モデルや学習手法の試行錯誤、特殊な前処理・後処理の考案、はたまた Leakage の利用に至るまで、ルールを破らない範囲であれば何でもする*2のが Kaggler です。今挙げた例はそのコンペ固有の性質(データの生成過程・分布、評価指標、... etc.)に着目することで大きな効果をもたらす場合が多いのですが、一方でいずれのコンペにおいても一定の効果が得られる手法があります。それは複数のモデルの予測結果を統合して予測を行う Ensemble です。Ensemble は統合するモデルに多様性があるほど性能が向上すると一般に知られてお

    黒魔術への招待:Neural Network Stacking の探求 - 俵言
  • 1