並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 36 件 / 36件

新着順 人気順

lightGBMの検索結果1 - 36 件 / 36件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

lightGBMに関するエントリは36件あります。 機械学習python学習 などが関連タグです。 人気エントリには 『競馬予想 機械学習(LightGBM)で回収率100%超えたと思ったら、やらかしてた話 - Qiita』などがあります。
  • 競馬予想 機械学習(LightGBM)で回収率100%超えたと思ったら、やらかしてた話 - Qiita

    謝意 注意!!! この記事は完全にやらかしています ストックしてくれた人、申し訳ないです。 @hal27 様の指摘で気づくことができました、ありがとうございます。 ・やらかしたこと スクレイピング段階から致命的なミスを犯しました。 レース時点から前走3レース分のデータを取得していたつもりですが、実はスクレイピング実行時刻から最新の3レース分の情報を取得していました。 ただ、前走の情報を全く使わずに予測したところ、平均して90%ほどの回収率だったので、 正しいデータを使っても、100%は超えれるんじゃないかと思っています。 やり直します! この記事はやらかしちゃっててるんだなと思いながら見て下さい。(特に前走情報のスクレイピング部分に気を付けてください) はじめに 最近データ分析にはまっています。 データ分析コンペのKaggleをやっていて、私がよく思うのは「売上予測?もっと面白いテーマはな

      競馬予想 機械学習(LightGBM)で回収率100%超えたと思ったら、やらかしてた話 - Qiita
    • LightGBMを使って競馬予想で回収率100%を超えるコードを書いた(その2) - Qiita

      つまりモデルでは穴馬の当選も予測できているが、卍氏の賭け方では予算の金額によって賭けられる最大オッズが下がってしまい、穴馬に賭けることができなくなります。その影響によりオッズの低い人気馬しか賭けることができず、回収率が下がる要因ともなっているようです。しかしその反対に荒れなかったレースについては卍氏の賭け方のように傾斜をつける方が回収率を上げる要因になっています。 なお今考えている予算が10万円の場合、複勝のようにオッズが低い場合(せいぜい5倍前後で)はあまり影響しません。しかし単勝ではオッズが約10倍以上の場合は、最小賭け金が100円のため、特に影響が出るようです。 このあたりは賭け金の計算式の定数(今の場合0.01)と自身の予算、モデルの予測値との検討が必要となります。 コードの公開 noteにて公開します。またコードの詳細な説明は公開するnote及びnotebook内のコメントにて記

        LightGBMを使って競馬予想で回収率100%を超えるコードを書いた(その2) - Qiita
      • コンペで使える!?LightGBMで実装する3つの弱教師あり学習 - ABEJA Tech Blog

        ABEJAでデータサイエンティストをしている小林です。 今回は、もしかしたらいつか業務や機械学習コンペに役立つかもしれない情報、LightGBMで弱教師あり学習を行う方法についてお話します。 コードはこちらで公開しております。 目次 はじめに 弱教師あり学習の例(マルチインスタンス学習) LightGBMで弱教師あり学習がしたい! PU分類 問題設定 解き方 LightGBMの実装 実験 Partial Label Learning 問題設定 解き方 LightGBMの実装 実験 マルチインスタンス学習 問題設定 解き方 LightGBMの実装 実験 おわりに はじめに 機械学習を行うためには、一般的に、大量の入力データと、それら一つ一つに対応した正確なラベルが必要です。 例えば、犬と猫の画像分類を行う場合には、それぞれの画像一つ一つに犬か猫のラベルがついていてほしいですね。 一方で場合に

          コンペで使える!?LightGBMで実装する3つの弱教師あり学習 - ABEJA Tech Blog
        • LightGBMを超わかりやすく解説(理論+実装)【機械学習入門33】

          こんにちは,米国データサイエンティストのかめ(@usdatascientist)です. 機械学習入門講座第33回です.(講座全体の説明と目次はこちら) 追記) 機械学習超入門本番編ではLightGBMについてさらに詳しく解説をしています.勾配ブースティング決定木アルゴリズムのスクラッチ実装もするので,さらに理解を深めたい方は是非受講ください:) 前回の記事で決定木の勾配ブースティングアルゴリズムであるXGBoostを紹介しましたが,今回は同じ決定木の勾配ブースティングの別のアルゴリズムであるLightGBMについて解説します. LightGBMはXGBoostが発表されてから2~3年後に発表され,今やXGBoostよりも高速で高精度なアルゴリズムとして認識され,XGBoostに代わる最強のアルゴリズムの一つとなっています. XGBoostと同じ決定木の勾配ブースティングをベースにしているの

            LightGBMを超わかりやすく解説(理論+実装)【機械学習入門33】
          • Optuna の拡張機能 LightGBM Tuner によるハイパーパラメータ自動最適化 - Preferred Networks Research & Development

            Optuna 開発メンバの小嵜 (@smly) です。この記事では Optuna の拡張機能として開発している LightGBM Tuner について紹介します。 LightGBM Tuner は LightGBM に特化したハイパーパラメータ自動最適化のためのモジュールです。Pyhton コードの import 文を 1 行変更するだけで簡単に利用できます。LightGBM Tuner はエキスパートの経験則を自動化しコードに落とし込むことで、従来より短い時間で最適なハイパーパラメータを探索できます。また記事の後半では従来手法と比較したベンチマーク結果についても紹介します。ベンチマークをとることで、従来の方法と比較して効率的に探索できることを確認しました。 ナイーブな LightGBM のハイパーパラメータチューニング LightGBM は勾配ブースティング法の高速な実装を提供する人気の

              Optuna の拡張機能 LightGBM Tuner によるハイパーパラメータ自動最適化 - Preferred Networks Research & Development
            • 機械学習における勾配ブースティングのアルゴリズム「XGBoost」「LightGBM」「CatBoost」の違い

              データアナリスト/データサイエンティストのためのカジュアルな勉強会「Data Gateway Talk」。「GBDTアルゴリズム」というテーマで登壇した工学院大学情報学部コンピュータ科学科のYasshieeee氏は、勾配ブースティングの基本、そしてアルゴリズム「XGBoost」「LightBGM」「CatBoost」の違いについて説明しました。 趣味はWebプロ・ゲーム・マインクラフト Yasshieeee氏:場違い感がすごいですが、一応、僕は大学生です。LTには若干慣れている予感はするんですけど、大学生なりのクオリティなのでご了承ください。 題名には「XGBoostについて」と書いたんですが、そもそも最初からXGBoostのすごく深いところまでいくのは、ちょっと初心者向けではないかなと思って……。今回は、XGBoostであるGradient Boost Decision Treeのア

                機械学習における勾配ブースティングのアルゴリズム「XGBoost」「LightGBM」「CatBoost」の違い
              • LightGBMを使って競馬予想で回収率100%を超えるコードを書いた(その1) - Qiita

                競馬歴10年・データサイエンティストとして働いて5年になって、そろそろ流行りの機械学習で競馬予想にも手を出すか、と思いQiitaの記事を参考にしつつ作ってみました。すると予想を遥かに上回り、回収率100%を超えるモデルができたので、勢いでこの記事を書くことにしました。また作成したコードは後ほど公開するつもりです。 自己紹介 とあるメーカー系企業でデータサイエンティストとして働いています。 もともと大学院では物理学専攻で昔からFortranやC++、Pythonで科学計算(微分方程式を解いたり行列の固有値を出したり)をしていましたが、社会人になってからはガラッと転向しデータ分析を専門にしています。R&D系の部署に所属しており、割とアカデミックな部分からビジネスまで携わっていたのですが、最近は専ら分析組織作りやらマネジメント系のPJTが多くなってきてしまったので、元々やっていたkaggleに再

                  LightGBMを使って競馬予想で回収率100%を超えるコードを書いた(その1) - Qiita
                • LightGBMをGPUで回すと結果の再現性が得られない - Qiita

                  概要 タイトルの通りなのだが、LightGBMをGPUで回すと結果の再現性が得られないことに気づいた。 CPUの場合は乱数seedを42などに固定すれば、同じ条件で何回回しても毎回同じ結果が得られる。 しかし、GPUの場合は乱数seedを固定しても回すたびに結果が変わってしまうのだ。 なぜ再現性がないのか? この問題はLightGBMの公式のissueでも議論されている。 まず、GPUを使う場合は並列で計算できる部分は並列処理をすることで効率化している。 さらに、並列化した結果を足し算するときに、順番によって微妙に値が変わってしまうということだ。 もちろん数学的には足し算の順番が変わっても結果が変わることなんてないんだけど、コンピュータでfloatなどの値を計算する以上、丸め誤差だったり複数の要因で結果が「ほんのわずかに」違うということが起きうる。 さらに、LightGBMをGPUで回した

                    LightGBMをGPUで回すと結果の再現性が得られない - Qiita
                  • RにTorchとLightGBMがやってきた - 渋谷駅前で働くデータサイエンティストのブログ

                    これまで、RとPythonは両方使える人が少なくないながらも開発陣やコミュニティの思想が違うせいもあってか、「Rは統計学向け」「Pythonは機械学習向け」的な住み分けが年々進み、特に機械学習関連の重要なフレームワーク・ライブラリ類はPython向けのみがリリースされることが多く、R向けにはリリースされないということが常態化している印象がありました。 そんな中、この9月にPythonの機械学習OSSを代表する2つのライブラリが相次いでR版パッケージを発表したので、個人的にはなかなか驚きました。中には「この2つがRに来たからにはもうPythonは触らない」と豪語する過激派の方もいらっしゃるようですが(笑)、それはさておき個人的な備忘録としてこの2つのR版パッケージを試してみた記録を記事として残しておこうと思います。 なお、以下のモデリングはほぼ何もチューニングを行っておりません。あくまでも「

                      RにTorchとLightGBMがやってきた - 渋谷駅前で働くデータサイエンティストのブログ
                    • Python: LightGBM の cv() 関数の実装について - CUBE SUGAR CONTAINER

                      今回は LightGBM の cv() 関数について書いてみる。 LightGBM の cv() 関数は、一般的にはモデルの性能を評価する交差検証に使われる。 一方で、この関数から取り出した学習済みモデルを推論にまで使うユーザもいる。 今回は、その理由やメリットとデメリットについて書いてみる。 cv() 関数から取り出した学習済みモデルを使う理由とメリット・デメリットについて 一部のユーザの間では有名だけど、LightGBM の cv() 関数は各 Fold の決定木の増やし方に特色がある。 まず、LightGBM では決定木の集まりを Booster というオブジェクトで管理している。 Booster が内包する決定木の本数は、ラウンド (イテレーション) 数として認識できる。 https://github.com/microsoft/LightGBM/blob/v3.0.0rc1/py

                        Python: LightGBM の cv() 関数の実装について - CUBE SUGAR CONTAINER
                      • 機械学習で学習中にログをぼーっと見てしまうあなたに 〜 LightGBMで筋トレする 〜 - Qiita

                        皆さん、機械学習でモデルの学習時、何していますか? ぼーっとコンソールに出力されるログを眺めていませんか? 「お、思ったより下がった!」「あれ、精度悪くなってる、頑張れ!!」 と思いながら、見るのは意外と楽しいですよね。 でも応援したところで、モデルがその分頑張ってくれるわけでもないし、ドラマチックな展開があるわけでもないので、見てても時間の無駄なんですよね。 そんなことを考えてるときに気付いてしまいました。 「あれ、この時間筋トレしたらよくね?」 そんなわけで、機械学習の合間に筋トレできるような環境を考えました。 NTTドコモの服部です。 こちらはNTTドコモサービスイノベーション部 AdventCalender2019 23日目の記事です。 この記事の対象者 筋トレ好き 運動不足な機械学習界隈の人 kagglerなどLightGBMをよく使う人 なんで筋トレするの? モデルの精度向上の

                          機械学習で学習中にログをぼーっと見てしまうあなたに 〜 LightGBMで筋トレする 〜 - Qiita
                        • Python: LightGBM の学習率と精度および最適なイテレーション数の関係について - CUBE SUGAR CONTAINER

                          勾配ブースティング決定木 (Gradient Boosting Decision Tree; GBDT) では、以下が経験則として知られている。 学習率 (Learning Rate) を下げることで精度が高まる 一方で、学習にはより多くのイテレーション数 (≒時間) を必要とする しかしながら、上記が実際に実験などで示される機会はさほど無いように思われた。 そこで、今回は代表的な GBDT の実装のひとつである LightGBM と、疑似的に生成した学習データを使ってそれを確かめていく。 確かめる内容としては、以下のそれぞれのタスクで学習率を変化させながら精度と最適なイテレーション数の関係を記録して可視化する。 二値分類タスク 多値分類タスク 回帰タスク 使った環境は次のとおり。 $ sw_vers ProductName: macOS ProductVersion: 12.6.2 Bu

                            Python: LightGBM の学習率と精度および最適なイテレーション数の関係について - CUBE SUGAR CONTAINER
                          • LightGBMのearly_stoppingの仕様が変わったので、使用法を調べてみた - Qiita

                            LightGBMとearly_stopping LightGBMは2022年現在、回帰問題において最も広く用いられている学習器の一つであり、機械学習を学ぶ上で避けては通れない手法と言えます。 LightGBMの一機能であるearly_stoppingは学習を効率化できる(詳細は後述)人気機能ですが、この度使用方法に大きな変更があったようなので、内容を記事にまとめたいと思います 変更の概要 early_stoppingを使用するためには、元来は学習実行メソッド(train()またはfit())にearly_stopping_rounds引数を指定していましたが、2021年の年末(こちらのissues)よりこの指定法は非推奨となり、コールバック関数lightgbm.early_stopping()で指定する方式へと変更になりました。 新たな方式であるコールバック関数によるearly_stopp

                              LightGBMのearly_stoppingの仕様が変わったので、使用法を調べてみた - Qiita
                            • LightGBMのパラメータチューニングまとめ - Qiita

                              はじめに 本記事は、下記のハイパーパラメータチューニングに関する記事の、LightGBMにおける実装例を紹介する記事となります。 ※2022/4 early_stoppingの仕様変更について early_stoppingの指定に関して、以前はfit()メソッドのearly_stopping_round引数で指定する事ができましたが、現在はcallbacks引数にコールバック関数early_stopping()を指定する方法に変わっています。 本記事も新しい仕様に合わせて修正しました。 ※2023/6 チューニング手順の改善 本記事に記載されていた手法では以下のような問題が発生していたため、内容を修正いたしました。 こちらの記事で述べたように、本記事で紹介していたcallbacks引数にコールバック関数を指定する方法とScikit-learnのcross_val_score()メソッドとを

                                LightGBMのパラメータチューニングまとめ - Qiita
                              • Python: SHAP (SHapley Additive exPlanations) を LightGBM と使ってみる - CUBE SUGAR CONTAINER

                                SHAP は協力ゲーム理論にもとづいて機械学習モデルを解釈する手法と、その実装を指している。 今回は、あまり理論の部分には踏み込むことなく、使い方を中心として書いていく。 使った環境は次のとおり。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.15.6 BuildVersion: 19G73 $ python -V Python 3.8.5 下準備 はじめに、利用するパッケージをインストールしておく。 $ pip install shap lightgbm scikit-learn matplotlib jupyterlab また、SHAP は Jupyter 経由で使った方がインタラクティブな表示ができる。 そのため、今回は Jupyter Lab 上で操作することを想定する。 $ jupyter-lab Jupyter Lab を

                                  Python: SHAP (SHapley Additive exPlanations) を LightGBM と使ってみる - CUBE SUGAR CONTAINER
                                • Python: LightGBM の決定木を可視化して分岐を追ってみる - CUBE SUGAR CONTAINER

                                  今回は、LightGBM が構築するブースターに含まれる決定木を可視化した上で、その分岐を追いかけてみよう。 その過程を通して、LightGBM の最終的な出力がどのように得られているのかを確認してみよう。 使った環境は次のとおり。 $ sw_vers ProductName: macOS ProductVersion: 11.2.3 BuildVersion: 20D91 $ python -V Python 3.9.2 もくじ もくじ 下準備 二値分類問題 (乳がんデータセット) 回帰問題 (ボストンデータセット) 多値分類問題 (あやめデータセット) まとめ 下準備 まずは動作に必要なパッケージをインストールする。 決定木の可視化のために graphviz を、並列計算のために OpenMP を入れておく。 $ brew install graphviz libomp そして、Pyt

                                    Python: LightGBM の決定木を可視化して分岐を追ってみる - CUBE SUGAR CONTAINER
                                  • Pythonガチの初学者が「LightGBM・TensorFlow」を使って競馬予測のモデルを作ったら単勝回収率100%こえた - Qiita

                                    Pythonガチの初学者が「LightGBM・TensorFlow」を使って競馬予測のモデルを作ったら単勝回収率100%こえたPython機械学習pandasTensorFlow競馬 目次 1, はじめに 2, 今回の目標 3, 使用するデータ 4, 前処理 5, モデル作成 6, スコア結果 7, レース結果 8, 反省点・改善点 9, さいごに はじめに ご覧いただきありがとうございます。 今回は、競馬予測の機械学習モデルを作ってみました。 作成しようと思った理由としては元々競馬が好きで予想とかをしていましたが、自分で予想するのは難しくなってきたから機械にやってもらおうというのが事の発端です。 まだまだ勉強不足や荒い知識で作成しているようななところもありますが、改善案などをコメントでいただけると幸いです。 GitHubにコードをあげています! GitHub-競馬予想モデル 今回の目標

                                      Pythonガチの初学者が「LightGBM・TensorFlow」を使って競馬予測のモデルを作ったら単勝回収率100%こえた - Qiita
                                    • 年利30%超え!!!!!LightGBMを用いたトヨタ株自動売買シミュレーション - Qiita

                                      胡散臭いタイトルですがガチです。 (シミュレーション方法等間違っていたらコメントで教えてください) TL;DR LightGBMを用いて翌日のトヨタ株の終値が予測実行日の終値よりも、上がる or 下がるの二値分類を実施 上がる場合は株を買う、下がる場合は株を売る、という処理を毎日実施 2020/01/01~2020/12/31の実績を用いて売買のシミュレーションを行ったところ、年利30.2299%のプラスとなった 背景 仕事をサボりながらネットサーフィンをしていたら面白そうな論文を発見。 当論文は2008年の発表で、予測モデルはSVMを使用している。 そこで、2008年以降に発表されたモデル(今回はLightGBM)で予測する実験を行う。 また、該当論文では、日経平均株価を予測対象としているが、今回は実際の取引を想定して、トヨタ自動車株式会社の株価を予測対象とする。 実験環境 Google

                                        年利30%超え!!!!!LightGBMを用いたトヨタ株自動売買シミュレーション - Qiita
                                      • XGBoostとLightGBMの理論の解説 - tomtom58’s blog

                                        最初に 前回はGBDTの理論とフルスクラッチ実装に関して解説記事を書きました。今回は、その発展形であるXGboostとLightGBMの理論に関して、解説していこうと思います(めんどくさくて扱わない予定でしたが頑張りました!)XGboostやLigthGBMは、予測・分類タスクにおいて第一手段として利用されています。これは、比較的安定して高い予測精度と安定性を誇るという部分からきているという認識です。GBDTの時も書きましたが、GBDTは概念的理解、XGboostやLightGBMに関しては、GBDTの改善系なんだなというぐらいの認識しかもっていない方がほとんどだと認識しています。なので、そのふんわりとした認識を改善すべく、初学者向けにこの記事を執筆致します。 XGboost 1. 目的関数 GBDTの基本的な目的関数は以下の様に表されます。 一方、XGBoostの目的関数は l は損失関

                                          XGBoostとLightGBMの理論の解説 - tomtom58’s blog
                                        • scikit-learnとLightGBMの評価関数比較 - Qiita

                                          このページについて LightGBMで学習して、そのパラメタグリッドサーチをGridSearchCV(sklearn)でという状況が多いかと思います。 どの評価関数であれば、ライブラリ標準で共通で利用できるのかをまとめてみようと思います。 下記を書いたあとに、気になって調べ始めたので内容は重複します。(スミマセン) 途中で力尽き、今回は回帰だけでまとめています。 比較一覧 評価関数 GridSearchCVでの指定方法 lightGBMでの指定方法 メモ

                                            scikit-learnとLightGBMの評価関数比較 - Qiita
                                          • Python: LIME (Local Interpretable Model Explanations) を LightGBM と使ってみる - CUBE SUGAR CONTAINER

                                            今回は、機械学習モデルの解釈可能性を向上させる手法のひとつである LIME (Local Interpretable Model Explanations) を LightGBM と共に使ってみる。 LIME は、大局的には非線形なモデルを、局所的に線形なモデルを使って近似することで、予測の解釈を試みる手法となっている。 今回使った環境は次のとおり。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.15.7 BuildVersion: 19H2 $ python -V Python 3.8.5 もくじ もくじ 下準備 Boston データセットを LightGBM で学習させる LIME を使って局所的な解釈を得る 参考 下準備 まずは、下準備として使うパッケージをインストールしておく。 $ pip install lime sciki

                                              Python: LIME (Local Interpretable Model Explanations) を LightGBM と使ってみる - CUBE SUGAR CONTAINER
                                            • XGBoostとLightGBMの違い - DATAFLUCT Tech Blog

                                              こんにちは! 皆さんはXGBoostとLightGBMの二つをご存じですか? 機械学習をやっている方は聞き慣れているフレームワークだと思いますが、 両者の違いを正しく理解できているでしょうか。 今回はこの二つのフレームワークの違いを解説していきます。 結論から話すと、XGBoostではLevel-wiseという決定木の作成方法を用いており、LightGBMではLeaf-wiseを用いています。Leaf-wiseでは決定木の分岐が少ないためそれを活用したLightGBMでは高速な計算が可能になります。 GBDTの計算手順を復習してから、両者の違いを理解していきましょう。 勾配ブースティング決定木とは 決定木 アンサンブル学習 勾配降下法 GBDTの計算手順 XGBoostとLightBGMの異なる点 Level-wise Leaf-wise ジニ不純度 その他のLightGBMの高速化の理由

                                                XGBoostとLightGBMの違い - DATAFLUCT Tech Blog
                                              • CTR予測にLightGBMを導入した話 - MicroAd Developers Blog

                                                はじめに 初めまして, マイクロアドで機械学習エンジニアをしている福島です. 今年の4月に新卒でマイクロアドに入社し, 現在は UNIVERSE Ads というプロダクトでCTR(Click Through Rate)予測や入札アルゴリズムの開発研究をしています. 今回はCTR予測について共有させていただきたいと思います. CTR予測ではロジスティック回帰が広く使われてきており, マイクロアドでも長らく利用されてきました. 線形モデルであるため解釈性の高さや推論速度の速さなどのメリットも多く, 現在でも広く使われている手法です. しかし複雑なデータにはフィッティングしづらく, CTR予測のようなカテゴリ変数が多いデータの場合はデータを何らかの方法で連続値に変換する必要もあります. マイクロアドでは, entity embedding1を用いて作った分散表現を利用してカテゴリ変数を連続値に変

                                                  CTR予測にLightGBMを導入した話 - MicroAd Developers Blog
                                                • 【第5回】Python で競馬予想してみる  ~ LightGBM ~ - Qiita

                                                  前回までに、scikit-learn のロジスティック回帰を使って競馬予測のモデルを作ってみた。 説明変数などを工夫してみても馬券回収率(単勝)は 80%超程度までで上昇は見込めず この回からは、流行りの決定木アルゴリズムに基づいた勾配ブースティング(Gradient Boosting)の機械学習フレームワーク LightGBM を使って競馬予想してみるのだ #データの取得 ###ターゲットフロンティアのレース検索データを出力して使用 前回までと同様にターゲットフロンティアのレース検索で 2000年からのレースをすべて検索 前走読込み ボタンを押して前走のレースID等を取得して、今回はすべてのデータを CSV で出力した 全データを出力すると出力時間や pandas での読込みに時間がかかるのだが、使いたいデータがないときの出力し直しが面倒なのでとにかく全データを出力したのだ 参照:【第1

                                                    【第5回】Python で競馬予想してみる  ~ LightGBM ~ - Qiita
                                                  • Kaggler がよく使う「LightGBM」とは?【機械学習】 - 株式会社ライトコード

                                                    LightGBMとは? LightGBM は、2016年に米マイクロソフト社が公開した勾配ブースティングに基づく機械学習手法です。 公開されてまだ3年足らずですが、「Kaggler」の上位6割以上が LightGBM を用いているという集計結果が報告されています。 これは、データサイエンティストとして、「知らなかった」では済まされません。 LightGBM を実装できるようになり、ステップアップしていきましょう! それでは、計算原理から実装まで、順を追って説明していきます。 LightGBM の計算原理 LightGBM 公開前の勾配ブースティングは、「XGboost」が主流でした。 勾配ブースティングには、「予測精度は高いが、計算時間が長い」という特徴があります。 当時、勾配ブースティングの主流であった「XGboost」に対し、LightGBM の「予測精度を保ったまま計算時間を大きく削

                                                      Kaggler がよく使う「LightGBM」とは?【機械学習】 - 株式会社ライトコード
                                                    • LightGBMの出力結果を解析したい!(SHAPのススメ) - Qiita

                                                      1.はじめに SIGNATEで「日本取引所グループ ファンダメンタルズ分析チャレンジ」というコンペが開催されています。私も参加していますが、その中で出てくる知識に関して基礎部分をまとめよう!という動機で書いた記事の第2弾です。 コンペのチュートリアルでは、「XGBoost」での予測結果に関しての根拠説明として本記事で紹介する「SHAP」を使用していますが、本記事では現在一番メジャーなLightGBMを使用してこのSHAPを紹介していきます。 動作環境 OS : Windows10 pro Python : 3.8.3 // Miniconda 4.9.1 LightGBM: 3.1.1 SHAP : 0.38.1 jupyter notebook 2.LightGBMでとりあえず学習して、特徴量重要度を図示する 今回は、回帰分析を例として行うことにする。 サンプルデータはscikit-le

                                                        LightGBMの出力結果を解析したい!(SHAPのススメ) - Qiita
                                                      • ML botterにオススメなLightGBMのとっておきパラメータ紹介|j26

                                                        仮想通貨botter Advent Calendar 2021の10日目の記事です。幅広いbotterに有意義な優良記事が続いてる中で恐縮なのですが、ML botter向けにLightGBMの少々マニアックなパラメータを紹介します。 TL;DRLightGBMを使ってる? → “extra_trees”: True がオススメ sklearnのExtraTreesRegressorを使ってる? → “extra_trees”: True, ”boosting”: “rf” のLightGBMもオススメ この2点について順を追って説明していきます。 Extra Treesって?extra treesというのはextremely randomized treesの略で、直訳すると非常にランダム化された木です。意味分からないですね。extra treesはrandom forestの変種で、普通

                                                          ML botterにオススメなLightGBMのとっておきパラメータ紹介|j26
                                                        • LightGBMのweightの使い方、weightは一体何を行っているのか - Qiita

                                                          簡潔に LightGBMのパラメータであるweightの実装方法と、何を行っているのかを説明した。 ざっくり言うと、各行に重みを与え、重みが大きい行が学習時に重視されるようになる。 詳しく言うと、weightは学習時のgradiant,hessian,lossの変化に影響を与え、weightが大きい行が木の分岐点決定において重視されるようになる。 H2O.aiのサイトでは、weightが2だった場合は、該当の行を複製(2行に増やす)ことと同じです。と説明されている。 初めに Kaggleで大人気のLightGBMにはweightというパラメータが存在します。上位ソリューションでは、このパラメータを使った解法が比較的多いと感じていますが、weightを日本語で解説している記事があまり多くなかったため、説明記事を自分で作成しました。

                                                            LightGBMのweightの使い方、weightは一体何を行っているのか - Qiita
                                                          • lightgbmで二値分類の一連の流れをしたメモ - Qiita

                                                            はじめに lightgbmで学習から評価までの一連の流れをやってみました。 (結構忘れてしまうんですよねぇ…) ※ 追記追記で読みにくいところもあるかと思います 環境 Corabolatory で実行しています。 ※ これ環境変わっちゃうので良くなかった… コード 4.1.0 の例 バージョン上がって今までのじゃNGになったので。 ついでに GroupKFold も。 import os import random import numpy as np import pandas as pd import lightgbm as lgb from sklearn.model_selection import GroupKFold def seed_everything(seed: int): random.seed(seed) os.environ["PYTHONHASHSEED"] =

                                                              lightgbmで二値分類の一連の流れをしたメモ - Qiita
                                                            • LightGBMを試す - まずは蝋の翼から。

                                                              LightGBMを試してみる。 LightGBMはBoosted treesアルゴリズムを扱うためのフレームワークで、XGBoostよりも高速らしい。 XGBoostやLightGBMに共通する理論のGradient Boosting Decision Treeとは、弱学習器としてDecision Treeを用いたBoostiongアンサンブル学習のことを指す。 アンサンブル学習として、Boostingではなく、Bagging(の類似)だとランダムフォレストになるのかな? knknkn.hatenablog.com www.codexa.net とりあえず使ってみるということで、理論などは置いとく。ちなみに下記がわかりやすかった。 qiita.com また、XGBoostの理論だが下記がわかりやすかった。XGBoostとLightGBMの違いは、決定木で学習するときにXGBoostではpr

                                                                LightGBMを試す - まずは蝋の翼から。
                                                              • Catboostとは?XgboostやLightGBMとの違いとPythonでの実装方法を見ていこうー!!|スタビジ

                                                                当サイト【スタビジ】の本記事では、XgboostやLightGBMに代わる新たな勾配ブースティング手法「Catboost」について徹底的に解説していき最終的にPythonにてMnistの分類モデルを構築していきます。LightGBMやディープラーニングとの精度差はいかに!? こんにちは! 消費財メーカーでデジタルマーケター・データサイエンティストをやっているウマたん(@statistics1012)です! Xgboostに代わる手法としてLightGBMが登場し、さらにCatboostという手法が2017年に登場いたしました。 これらは弱学習器である決定木を勾配ブースティングによりアンサンブル学習した非常に強力な機械学習手法群。 計算負荷もそれほど重くなく非常に高い精度が期待できるため、Kaggleなどのデータ分析コンペや実務シーンなど様々な場面で頻繁に使用されているのです。

                                                                  Catboostとは?XgboostやLightGBMとの違いとPythonでの実装方法を見ていこうー!!|スタビジ
                                                                • Python: LightGBM v4.0 の CUDA 実装を試す - CUBE SUGAR CONTAINER

                                                                  LightGBM のバージョン 4.0.0 が 2023-07-14 にリリースされた。 このリリースは久しぶりのメジャーアップデートで、様々な改良が含まれている。 詳細については、以下のリリースノートで確認できる。 github.com リリースの大きな目玉として CUDA を使った学習の実装が全面的に書き直されたことが挙げられる。 以前の LightGBM は、GPU を学習に使う場合でも、その計算リソースを利用できる範囲が限られていた。 それが、今回の全面的な刷新によって、利用の範囲が拡大されたとのこと。 ただし、PyPI で配布されている Linux 向け Wheel ファイルは CUDA での学習に対応していない。 対応しているのは CPU と、GPU でも OpenCL の API を使ったもの。 そのため、もし CUDA を使った学習を利用したい場合には自分で Wheel を

                                                                    Python: LightGBM v4.0 の CUDA 実装を試す - CUBE SUGAR CONTAINER
                                                                  • XGBoost と LightGBM に実装されているポジションバイアス除去を試してみた

                                                                    はじめに 以前も記事にしたが、ウェブ上のユーザーの行動ログを使って推薦システムを開発している自分のようなMLエンジニアにとって、ランキング学習におけるポジションバイアスの除去は重要なテーマである。サービスのログは通常様々なバイアスに塗れており、特にリストの上位に表示されたアイテムほどクリックが集まりやすくなってしまうポジションバイアスは非常に厄介だ。アカデミアではこの手のテーマはだいぶ研究が進んでいるものの、これまでは論文や書籍で手法が紹介されるだけで、手軽にパッと使えるライブラリは存在しなかった。 しかしどうやら最近になって XGBoost や LightGBM という多くの人が使う強力なGBDTライブラリにポジションバイアスを除去する機能が実装されたらしく、これが使い物になるのであれば実務で利用するハードルがグッと下がると思い、実験して性能を検証してみた。 検証に使うデータセット ここ

                                                                    • LightGBMでFocal lossを実装してcustom objective functionを理解する|Coding Memorandum

                                                                      Focal Lossとは? facebookが開発した損失関数で、分類問題を解く時にイージーサンプル(予測が容易なサンプル)のロスを小さくすることで、ハードサンプルを集中的に学習させることができる損失関数になります。 分類で一般的に使用されるcross entropy lossと非常に似ている損失曲線をしています。 (参照:Focal Loss for Dense Object Detection) 図でFLがFocal Lossを表しており、γはこちらで与えるパラメータになります。γの値が大きいほど、分類が良くできている対象(容易な対象)に対してロスが0に近いことがわかります。 例えば、学習データに大量のイージーサンプルが含まれている場合、Cross entropy lossではイージーサンプルに対してもロスが発生している(図の青線)ので、それらに対してモデルのパラメータが更新されてしま

                                                                      • LightGBMの理論のまとめ - 盆暗の学習記録

                                                                        今更ながらLightGBMの論文を読んだのでその時のメモを残しておきます。 ※GPUでの計算への適応など、計算機での活用に関する技術については省略しています。 要約 LightGBMが使う既存の技術 pre-pruning early stopping問題 best-first (leaf-wise) tree histogram-based 考察:予測精度は激減しないのか? LightGBMが新たに提案した技術 背景 Gradient-based One-Side Sampling(GOSS) Exclusive Feature Bundling(EFB) 実験結果 2024-08-26 追記:量子化について 参考 要約 LightGBMは pre-pruning(決定木の枝をそれ以上分岐させても予測が改善しなくなったら分割を停止する剪定方法) best-first(情報利得が最大の枝か

                                                                          LightGBMの理論のまとめ - 盆暗の学習記録
                                                                        • SageMakerでLightGBMを使ってモデル構築する方法まとめ - Qiita

                                                                          はじめに LightGBMは、Gradient Boosting Decision Tree (GBDT) アルゴリズムをベースとした人気の高い機械学習アルゴリズムです。 そのため、SageMaker でもLightGBM を使いたいというユースケースは非常に多いと思います。 SageMaker では、LightGBM を使う方法がいくつかあるため、ここではそれらの方法について整理したいと思います。 SageMakerでLightGBMを使ってモデル構築する方法 SageMakerでLightGBMを使ってモデル構築する方法は、現時点(2023/3)で以下の4つの方法があります。 1. SageMaker built-in LightGBM を利用 2. SageMaker でカスタムスクリプトを利用 3. SageMaker Autopilot を利用 4. SageMaker Jump

                                                                            SageMakerでLightGBMを使ってモデル構築する方法まとめ - Qiita
                                                                          1

                                                                          新着記事