
WEB+DB PRESS Vol.100(技術評論社)の「サポートベクタマシンによる教師あり学習」(P.31)をやってみました。Wikipediaから記事をダウンロードし、分かち書きをして、記事を分類します。最後に、分類に最も影響を与える単語を表示します。
- 記事の内容や、操作を理解するための概念などは、このページには書きません。上のリンクから雑誌を購入してご覧ください。
この記事は、以下の記事の続きです。
WEB+DB PRESS (ウェブDBプレス) Vol.100「次章以降で利用するデータの準備」(P.31)をやってみた
サポートベクタマシンによる教師あり学習
Windows PowerShellを起動し、以下の記事で準備したDockerコンテナに接続して操作します。ここでは、Dockerコンテナに接続するまでの操作は省略します。
Dockerの準備
雑誌記事のとおりに操作してみたところ、メモリ量が不足しているために、ある手順のところで「Killed」と表示されました。そこで、まずはDockerに割り当てるメモリ量を大きくします。
- タスクバーの通知領域に表示されている「
」を右クリックし、「Settings」をクリックします。
- 「Advanced」をクリックします。
- メモリを「8192MB」に設定し、「Apply」をクリックします。
左下の●がオレンジ色になり、「Updating Drivers」と表示されます。
設定が終了すると、●が緑色に戻り、「Docker is running」と表示されます。
Wikipediaデータの分類
- 雑誌記事(P.35)の「scikit-learnのインストール」のコマンドを入力し、Enterキーを押します。
- 「cd /webdb100/02」と入力して、Enterキーを押します。
- 「cp ../02/wikipedia_akatied_data.txt .」と入力して、Enterキーを押します。
- 雑誌記事(P.36)の「wiki_category_extract.pyの実行」のコマンドを入力し、Enterキーを押します。
- 雑誌記事(P.37)の「svm.pyの実行」のコマンドを入力し、Enterキーを押します。ただし、「wikipedia_wakatied_categories.txt」の代わりに「wikipedia_wakatied_data_categories.txt」と入力します。
計算が実行されます。
計算が終了すると、以下のように表示されます。
「valley」カテゴリの判定に最も影響を与えているのは「渓谷」である、ということが分かったようです。
試しに、学習データとテストデータの割合を4対6にしてみましたが、それでも96パーセントの精度で判定できるようでした。