Japanese subtitles

← Gaussian NB Example - Intro to Machine Learning

Get Embed Code
6 Languages

Showing Revision 1 created 01/24/2017 by 政裕 大窪.

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