対象:中級者 | 環境:オンライン / ローカル |
受講期限:無制限 | 受講料金:850円 |
コース概要
- ブラウザとインターネットで実行可能(Google Colab対応)
- Jupyter Notebookを利用したプログラミング演習
- XGBoostの概要
- 勾配ブースティングの仕組み
- Pythonで勾配ブースティングをスクラッチからコーディング
- XGBoostの基本操作
- XGBoostとハイパーパラメータ
- XGBoostとその他の手法の比較
本コースで学べる内容
機械学習に携わっている方なら、一度は耳にしたことがある「Kaggle」。データセットが与えられ、同じ条件で予測の精度を競うデータ分析競技(コンペ)が人気です。コンペ終了後に上位入賞者がデータ分析手法などを公開する事も少なくありません。
そんなKaggleでここ近年、上位入賞者がこぞって使っている機械学習手法があります。それが「XGBoost」です。一概に機械学習の手法やアルゴリズムに優劣をつけることは出来ませんが、XGBoostはその柔軟性と予測精度の高さから、世界トップクラスのデーターサイエンティストが駆使する手法の一つです。
XGBoostとは「決定木を用いた勾配ブースティングのフレームワーク」です。勾配ブースティングとはアンサンブル学習の一種です。アンサンブル学習とは複数のモデルを構築して、最終的に一つにまとめる手法をさします。本コースの前半ではXGBoostの概要に加えて、Pythonを使ってスクラッチで勾配ブースティングのコーディングを行い、XGBoostの仕組みの理解を深めます。
コース中盤はXGBoostの基本的な操作方法を学びます。 機械学習の初学者向けのデータ「アイリス・データセット」を使い、アイリス(あやめ)の品種分類をXGBoostで行います。基本操作方法としてXGBoostの学習API(Learning API)とScikit-Learn APIの2種類の操作方法を学びます。
コース後半はXGBoostのハイパーパラメータチューニングを中心に行います。XGBoostには多数のハイパーパラメータが存在します。XGBoostの主要なハイパーパラメータの意味、さらにScikit-learnのGridSearchCVを使ったチューニングを行います。最終チャプターでは同じデータセットを使いXGBoostと他の機械学習手法を比較します。
初めて機械学習の手法を学ぶ方へ
本コースでは機械学習およびPythonライブラリの基礎知識が必要です。コース内で下記の項目の解説は含まれませんのでご注意ください。コース受講の目安として、Scikit-learnの初歩的な操作方法が行える方であればスムーズにご受講可能です。
- PythonおよびNumpy、Pandas、Matplotlibの基本操作方法
- Scikit-learnの基本操作方法
- 機械学習の基礎知識(特徴量やモデルなど)
- 評価指標(混同行列や精度・再現率など)
初めて機械学習の手法を学ぶ方は下記の講座を先に受講されることをお勧めします。
コースの特徴
ブラウザとインターネットで実行が可能
Google Colab(グーグル・コラボ)を利用することにより、特別な環境構築やインストールなどの作業を行うことなく、ブラウザのみで実行が可能です。チュートリアルでは、Google Colabの基本的な使い方、また自身のPCに環境構築を行う方法の詳細を説明しています。
実践に役立つ知識
- アンサンブル学習の基本概要
- 勾配ブースティングの概要
- スクラッチで勾配ブースティングのコーディング
- XGBoostの基本操作方法
- XGBoostのハイパーパラメータ
- データの可視化(箱ひげプロット)
- XGBoostと他の手法との比較
受講資格
(必須)Pythonの基礎知識
(必須)機械学習の初歩的な知識
(必須)線形代数及び統計の初歩的な知識
(必須)Numpy、Pandas、Matplotlibの初歩的な知識
原則として、Python及び機械学習の初歩的な知識が前提となっています。初めて機械学習に挑む方は下記の「機械学習 準備編」の無料コースをご参照下さい。また、本チュートリアルではKaggleの無料会員登録が必要です。(参考:Kaggleとは?)
- Numpy 入門(無料)
- Matplotlib 入門(無料)
- Pandas 入門(無料)
- 線形代数 入門(無料)
- 統計 入門 (前編)(無料)
- 統計 入門 (後編)(無料)
コース詳細
機械学習 チュートリアル ナイーブベイズ | ||
---|---|---|
Chapter 1 環境構築 | ||
【Windows編】Minicondaを利用した環境構築 | 約2,200文字 | |
【Mac】Minicondaを利用した環境構築 | 約1,900文字 | |
Google Colabを利用した環境構築 | 約2,100文字 | |
Chapter 2 XGBoostと勾配ブースティング | ||
XGBoostとは | 700文字 | |
アンサンブル学習 | 2,700文字 | |
勾配ブースティングとは | 3,600文字 | |
勾配ブースティングをコーディング | 245行 | |
Chapter 3 XGBoostの基本操作 | ||
データセットについて | 600文字 | |
ライブラリとデータの読み込み | 30行 | |
モデル訓練と評価 | 40行 | |
Scikit-learn API | 12行 | |
Chapter 4 XGBoostとハイパーパラメータ | ||
問題提起とデータ | 1,400文字 | |
ライブラリとデータの読み込み | 25行 | |
探索的データ解析(EDA) | 8行 | |
ベースラインモデルの訓練 | 15行 | |
ハイパーパラメータチューニングとは | 3,400文字 | |
GridSearchCV | 90行 | |
最適なハイパーパラメータを使って再評価 | 15行 | |
Chapter 5 XGBoostとその他の手法の比較 | ||
問題提起とデータ | 1,200文字 | |
ライブラリとデータの読み込み | 20行 | |
探索的データ解析(EDA) | 25行 | |
機械学習手法を比較 | 55行 |
レビュー
web系のエンジニアでPythonは1年強やってます。Kaggleをやるようになり、xgboostをより詳しく知りたいけど原文は読むのは大変なので試しにコースを購入しました。結果として・・とても良かったです!大変丁寧に解説されていますし、何より勾配ブースティングの仕組みがよく理解できました。他のコースも受講してみます。
講師からの返答
フィードバックありがとうございます!引き続き良質な無料コースとチュートリアルを公開できるようチーム一丸となって邁進していきます!
qiitaなどでXGBoostが断片的に説明されている中、網羅的にXGBoostが解説されており、とても役に立ちました。専門用語を並べた専門書とは違い、コードがメインで助かります。値段以上の価値あり!
講師紹介

本コース「XGBoost 徹底入門」はcodexa(コデクサ)の機械学習エンジニアチームにて製作・監修を行いました。アメリカでデータ分析の実績を積んだデータサイエンティストから、Webエンジニアから機械学習エンジニアへ転向をした人まで幅広い層が所属しています。上級者の一方的な講義ではなく、「初心者がいかに理解しやすいか」を目標としています。日経ソフトウェアへの記事執筆(2019年1月号)。