Return to Video

02-29 Gaussian_NB_Example

  • 0:00 - 0:04
    それではGaussian Naive Bayesの
  • 0:04 - 0:06
    ドキュメントを読んでみましょう。
  • 0:06 - 0:08
    "sklearn.naive_bayes.GaussianNB"です。
  • 0:08 - 0:11
    これは探していたアルゴリズムの名前で、
  • 0:11 - 0:16
    検索した結果sklearnのドキュメントを見つけました。
  • 0:16 - 0:18
    最初に見るのは、そしてsklearnのドキュメントの素晴らしいところですが
  • 0:18 - 0:23
    たくさんの使用例が記載されています。
  • 0:23 - 0:26
    私は実際にコードを書くときは
  • 0:26 - 0:29
    いつでもまず最初にサンプルコードを探し出して
  • 0:29 - 0:31
    それから自分のpythonインタプリタで実行し
  • 0:31 - 0:33
    それらがちゃんと動作するか確認するようにしています。
  • 0:33 - 0:36
    そしてたいていの場合それはうまく動きます。
  • 0:36 - 0:38
    さて、ここにとてもシンプルなサンプルがありますね。
  • 0:38 - 0:40
    ここに何行かありますが、これはとても重要です。
  • 0:40 - 0:41
    ですから少し着目して
  • 0:41 - 0:46
    実際にサンプルコードを書いて動くところをお見せしましょう。
  • 0:46 - 0:48
    コードの意味が理解できると思います。
  • 0:48 - 0:49
    最初にライブラリをimportします。
  • 0:49 - 0:53
    ですからここ、この1行はとても重要です。
  • 0:53 - 0:57
    この上のコードは、学習用のデータを生成しているだけです。
  • 0:57 - 0:58
    なのでそれほど重要ではありません。
  • 0:58 - 1:02
    本題はこのimport文から始まります。
  • 1:02 - 1:05
    pythonプログラミングの経験があれば、import文は知っていますね。
  • 1:05 - 1:08
    importは外部のライブラリを使うための構文です。
  • 1:08 - 1:12
    既に存在するプログラムを再作成する無駄を省き、
  • 1:12 - 1:15
    誰かが作ってくれたコードを使い回すことができます。
  • 1:15 - 1:19
    ここではsklearn.naive_bayesからGaussianNBライブラリを使います、と宣言しています。
  • 1:19 - 1:20
    いいですね。
  • 1:20 - 1:23
    次に私たちがやろうとしていることは
  • 1:23 - 1:24
    分類器の作成です。
  • 1:24 - 1:27
    分類器はGaussianNBです。
  • 1:27 - 1:29
    import文が失敗していると
  • 1:29 - 1:30
    この行を何かの拍子に書き忘れたりすると
  • 1:30 - 1:32
    この行でエラーが出ます。
  • 1:32 - 1:36
    もし実行時にエラーが出て、このファンクションを
  • 1:36 - 1:38
    認識できませんと言ったメッセージなら
  • 1:38 - 1:40
    import文にミスがあります。
  • 1:40 - 1:43
    OK、分類器を作成しました。
  • 1:43 - 1:45
    これで準備は万端です。
  • 1:45 - 1:48
    次に私たちがしなくてはいけないのは分類器の"fit"です。
  • 1:48 - 1:52
    私たちは訓練するという言葉の代わりに"fit"を使います。
  • 1:52 - 1:55
    つまりここで実際に学習用データを与え
  • 1:55 - 1:57
    パターンを学習させているのです。
  • 1:57 - 2:00
    さっき作成した分類器の
  • 2:00 - 2:04
    fit() ファンクションを実行します。渡す引数は二つです。
  • 2:04 - 2:10
    引数の X は feature 、そして Y は label です。
  • 2:10 - 2:13
    "supervised classification"においては共通なのですが
  • 2:13 - 2:15
    fit() ファンクションを実行し
  • 2:15 - 2:17
    引数にfeatureと
  • 2:17 - 2:18
    labelを渡します。
  • 2:18 - 2:22
    そして最後に、学習させたばかりの分類器に
  • 2:22 - 2:24
    推定をさせています。
  • 2:24 - 2:26
    新しいデータを与えてみます。
  • 2:26 - 2:29
    与えるデータは [-0.8, -1] です。
  • 2:29 - 2:33
    皆さんはこのデータの label はなんだと思いますか。
  • 2:33 - 2:35
    つまりどの分類に所属すると思いますか。
  • 2:35 - 2:38
    分類器は「1」の分類だと推定しました。
  • 2:38 - 2:42
    では「2」の分類だと推定されるデータを思いつきますか。
  • 2:42 - 2:47
    もちろん分類器に推定をさせる前には
  • 2:47 - 2:49
    分類器を fit させておく必要があります。
  • 2:49 - 2:51
    データに対してfitを行なっている時が、
  • 2:51 - 2:52
    実際にパターンを学習している部分だからです。
  • 2:52 - 2:55
    そしてここは学習したパターンを使って推定を行なっている部分です。
  • 2:55 - 2:57
    というわけで、
  • 2:57 - 2:59
    このコードの動作について知っておくべきことを説明しました。
  • 2:59 - 3:02
    これが機械学習の最初のサンプルコードです。
Title:
02-29 Gaussian_NB_Example
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
ud120 - Intro to Machine Learning
Duration:
03:03

Japanese subtitles

Revisions