対象:初心者〜中級者 | 環境:オンライン / ローカル |
受講期限:無制限 | 受講料金:500円 |
コース概要
- ブラウザとインターネットで実行可能(Google Colab利用)
- Jupyter Notebookを利用したプログラミング演習
- 条件付き確率とは
- ベイズの定理とは
- ナイーブベイズの概要
- 初歩的なナイーブベイズ分類器の実装(アイリスデータ)
- ナイーブベイズでスパムフィルターの実装
- 自然言語処理(NLP)の基礎
学べる内容
ナイーブベイズの根幹となる「条件付き確率」と「ベイズの定理」の基礎を、例題を用いながら紐解いていきます。Pythonを使いスクラッチでベイズの定理の実装、さらに機械学習ライブラリ「Scikit-learn(サイキット・ラーン)」を使ってナイーブベイズのモデル構築を行います。
コーディング実習の前半では、機械学習初心者向けの「アイリスデータセット」を使い、ナイーブベイズを用いてアヤメ(花)の特徴データから3つ品種への分類を行います。
後半はSMSの原文(英語)を学習して、ナイーブベイズを使ってスパムフィルターの実装を行います。Word of Bags(WOP)などの自然言語処理の基礎を学びます。
初めて機械学習の手法を学ぶ方へ
本コースでは機械学習の前提知識が無くても受講は可能です。ただし、機械学習の概要や基礎知識があればより深い理解が得られます。初めて機械学習の手法を学ぶ方は下記の講座を先に受講されることをお勧めします。
チュートリアルに含まれない内容
本チュートリアルは機械学習初学者を対象としています。従ってナイーブベイズの数式を用いた解説は行いません。ナイーブベイズの基礎である「条件付き確率」や「ベイズの定理」の解説は含まれます。
またコーディング実習では自然言語処理の初歩としてスパムフィルターの実装を行いますが、メール原文は英語となります。日本語のテキスト解析や前処理の実装は含まれませんのでご注意ください。
ナイーブベイズとは?
ナイーブベイズ(別名:単純ベイズ分類器、 英:Naive Bayes Classifier)は、確率的なアプローチを利用して分類を行う機械学習の手法の一つです。
単純な構造かつ計算コストも低いことから、特にテキスト分類などの分野で広く活用される手法の一つです。ナイーブベイズは「ベイズの定理(英:Bayes' Theorem)」と呼ばれる、条件付き確率の定理が基になっています。本チュートリアルでは「条件付き確率」「ベイズの定理 」を簡単な例題を使って紐解いていきます。
特徴
ブラウザーとインターネットで実行が可能
Google Colab(グーグル・コラボ)を利用することにより、特別な環境構築やインストールなどの作業を行うことなく、ブラウザのみで実行が可能です。チュートリアルでは、Google Colabの基本的な使い方、また自身のPCに環境構築を行う方法の詳細を説明しています。
実践に役立つ知識
- 条件付き確率の理解
- ベイズの定理の理解と実装
- ナイーブベイズの基本的な仕組み
- 分類の評価手法(混同行列/正解率)の理解
- テキストデータの基本的な前処理
- Bag of Wordsの処理方法と理解
受講資格
(必須)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 ナイーブベイズの概要 | ||
条件付き確率とは | 約1,500文字 | |
ベイズの定理とは | 約1,200文字 | |
ベイズの定理をPythonで実装 | 56行 | |
ナイーブベイズ | 36行 | |
Chapter 3 ナイーブベイズで分類 | ||
データセットについて | 約500文字 | |
ライブラリのインポート | 8行 | |
データの前処理 | 8行 | |
モデル訓練 | 5行 | |
モデル評価 | 4行 | |
モデル評価 | 3行 | |
Chapter 4 ナイーブベイズでテキスト分類 | ||
データセットについて | 約1,000文字 | |
ライブラリとデータの読み込み | 14行 | |
データの確認 | 8行 | |
データの前処理 | 17行 | |
Bag of Wordsへ変換 | 24行 | |
モデルの訓練 | 6行 | |
テストデータでの予測と評価 | 6行 |
レビュー
ベイズを頻繁に耳にすることはありましたが、実際にどのようなものか理解していませんでした。とても丁寧に確立やベイズの定理の解説があり非常に解りやすかったです。もう少しコーディング実習が多ければ嬉しかった。
講師からの返答
とても詳細なフィードバックありがとうございます!ご指摘いただきました改善点も含めて、今後のチュートリアル制作に生かしていきます。
講師紹介

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