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