機械学習 チュートリアル
ナイーブベイズ

ナイーブベイズ(単純ベイズ分類器)の仕組みを学んでスパムフィルターを実装しよう

初心者〜中級者対象
受講人数 212名 | 学習期間目安 1日 〜 5日
★★★★☆  4.0 (1件)

icon-check 対象:初心者〜中級者 icon-check 環境:オンライン / ローカル
icon-check 受講期限:無制限 icon-check 受講料金: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の処理方法と理解

受講資格

icon-check (必須)Pythonの基礎知識

icon-check (推薦)線形代数及び統計の初歩的な知識

icon-check (推薦)Numpy、Pandas、Matplotlibの初歩的な知識

原則として、Pythonの初歩的な知識がある前提となっています。「推薦」は必須ではありませんが、初歩的な知識があると、よりスムーズに受講が可能です。下記の「機械学習 準備編」の無料コースをご参照下さい。また、本チュートリアルではKaggleの無料会員登録が必要です。(参考:Kaggleとは?

コース詳細

機械学習 チュートリアル ナイーブベイズ
  Chapter 1 環境構築
 icon-cog 【Windows編】Minicondaを利用した環境構築 約2,200文字
 icon-cog 【Mac】Minicondaを利用した環境構築 約1,900文字
 icon-cog Google Colabを利用した環境構築 約2,100文字
  Chapter 2 ナイーブベイズの概要
 icon-pencil 条件付き確率とは 約1,500文字
 icon-pencil ベイズの定理とは 約1,200文字
 icon-code ベイズの定理をPythonで実装 56行
 icon-code ナイーブベイズ 36行
  Chapter 3 ナイーブベイズで分類
 icon-pencil データセットについて 約500文字
 icon-code ライブラリのインポート 8行
 icon-code データの前処理 8行
 icon-code モデル訓練 5行
 icon-code モデル評価 4行
 icon-code モデル評価 3行
  Chapter 4 ナイーブベイズでテキスト分類
 icon-pencil データセットについて 約1,000文字
 icon-code ライブラリとデータの読み込み 14行
 icon-code データの確認 8行
 icon-code データの前処理 17行
 icon-code Bag of Wordsへ変換 24行
 icon-code モデルの訓練 6行
 icon-code テストデータでの予測と評価 6行

レビュー

icon-user ベイズを頻繁に耳にすることはありましたが、実際にどのようなものか理解していませんでした。とても丁寧に確立やベイズの定理の解説があり非常に解りやすかったです。もう少しコーディング実習が多ければ嬉しかった。

icon-check-circle-o 講師からの返答
とても詳細なフィードバックありがとうございます!ご指摘いただきました改善点も含めて、今後のチュートリアル制作に生かしていきます。

講師紹介

codexa ロゴ

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

このコースを取っている方は次のコースも取っています