
まゆこのましんラーニング♡#02
こんにちは!ITソリューション事業部のまゆこです。
早くも二回目です。
そもそもマシンラーニングって何でしょう?
ググってみましたが、うーん、イマイチ分かんないです><
まゆこ「GO☆さん教えて下さーい( ;∀;)」
GO☆「む〜ん、つまり我々が無意識に行っているパターン認識をだねぇ〜・・・」
まゆこ「はい?分かんないので、自分で調べます( ;∀;)」
ふむふむ、私が参考にするサイトを見ると・・・
http://www.apps-gcp.com/predictionapi-introduction-1/
このサイトでは、3カ国で書かれた文章を分析させて、コンピューターに言語当てをさせる実験をしています。
スゴイ!なんか未来を予想する、夢のようなツールなんですね!とにかく実践してみましょう。
1.まず、解析させるデータを用意します。
情報はできるだけ多い方がいいみたいなんですが、今回のサンプルデータは400件程度です。
↓サンプルデータです。
https://cloud.google.com/prediction/docs/language_id.txt
これは英語、フランス語、スペイン語が書かれた文章データで、
[言語名],[各言語で書かれた文章]
といったレイアウトでできています。
ファイル作成で気をつけることをまとめると・・・
・最初の列には”答え”を書く。サンプルでいうと、”英語”とか”フランス語”とか”スペイン語”です。
・次の列からは”答え”を導くための情報を書く。複数列あってもいいみたいです。
・列はカンマで区切る。
・ヘッダは不要。
以上です。
2.次に、ファイルをGoogleストレージにアップします。
ここからGoogle Developers Consoleというサイトで作業をします。
https://console.developers.google.com/
まゆこ「なんですかこれ?」
GO☆「Google環境で開発する際に使う開発者向けのツールだよ。まぁ使ってみないとわかんないと思うよ!」
会社用のアカウントでログインし、プロジェクトを作成して、「Prediction API」と「Google Cloud Storage」をオンにしました。
そしてバケットを作成してアップロードします。
何をしているかよく分からないまま進んでいますが・・・
無事アップロードできました。アップロードはあっという間でした。
3.そして、解析開始です。
ここから「Prediction API」を使用します。
「Prediction API」がブラウザから使えるサイトに行きます。
https://developers.google.com/apis-explorer/?&_ga=1.100999174.668741449.1412325898#p/prediction/v1.6/
これは「APIs Explorer」と言って、ブラウザ上でGoogleの各種APIを簡単に試すことができます。
GO☆「ここに並んでいるのがPrediction APIで、これを使って解析するんだよ。とにかく使ってみよう!」
まずはデータを投入します。
APIs Explorerの「prediction.trainedmodels.insert」を使います。
project(さっきつくったプロジェクトに払い出された番号)とRequest bodyを入力します。
あと、忘れずにAuthorize requests using OAuth 2.0をオンにしましょう。
Request bodyはこれだけ入れればOKです。
1 2 3 4 5 |
{ "id”:”任意のid” "storageDataLocation”:”バケット名/ファイル名” } |
そして、[Execute]ボタンをポチッ!っと押します。
これで解析が開始されます。
次に、APIs Explorerの「prediction.trainedmodels.get」を使って、解析が完了したかを調べます。
project、id(「prediction.trainedmodels.insert」で定義した任意のidです)を入れて、[Execute]ボタンをポチッ!っと押します。
Responseに”trainingStatus”: “DONE”が返っていれば解析完了です。
解析時間は1分もかかりませんでした。
4.これが解析結果です!
うまく解析できたのでしょうか?
APIs Explorerの「prediction.trainedmodels.analyze」を使って調べます。
これもproject、idを入れて、[Execute]ボタンをポチッ!っと押します。
解析結果はこんな風です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
"confusionMatrix": { 〜 1段目 〜 "English": { "English": "16.00", "French": "0.00", "Spanish": "0.00" }, 〜 2段目 〜 "French": { "English": "0.00", "French": "14.14", "Spanish": "0.00" }, 〜 3段目 〜 "Spanish": { "English": "0.43", "French": "0.14", "Spanish": "10.29" } } |
GO☆「いわゆる答え合わせをした結果だね。
かんたんに言うと、まず1段目は”English”(英語)で書かれた文章に対して、
・フランス語と判断して、”French”に“0.00”票入れました。
・スペイン語と判断して、”Spanish”に“0.00”票入れました。
まゆこ「なるほど〜!!(‘o’)」
5.最後に予想させてみます。
APIs Explorerの「prediction.trainedmodels.predict」を使います。
「prediction.hostedmodels.predict」と似てるので、間違わないように注意してください。
1 2 3 4 5 6 7 8 9 10 |
{ "input": { "csvInstance": [ "I am Mayuko." ] } } |
するとこんな回答が返ってきました。
1 2 |
"outputLabel": "English", |
それは英語だよ!と答えてくれました。
見事正解です!やったー♡
※この記事は、『株式会社ISAO ITソリューション事業部』監修のもとに製作しております。