まゆこ
まゆこのましんラーニング♡#01
株式会社ISAO入社1年目のまゆこです。 ITソリューション事業部(通称ISD)という部署で事務の仕事をしております。 最近やっとデスクワークに慣れてきました(^^)/ ISDってどんな仕事をしているかというと、アプリやらインフラやらを開発していて・・・ 正直よくわかりません(/_;)頭から煙が出そうです。__ [写真まゆこ] そんな私に最近上司が 「おい!まゆこ、お前マシンラーニングやれよ!」と言ってきました。 [写真上司] まゆこ「マシンラーニングって何ですか?」 上司「よくしらねーけど、最近流行ってるらしーから、誰かやっとかねーとダメっしょw」 まゆこ「・・・」(そんなこと言われましても(’_’)) そこで、同じ部署のGO☆さんに協力をお願いしました。 まゆこ「GO☆さーん!!( ;∀;)」 [写真GO☆] GO☆さんはうちのエンジニアで、きっとなんでも知っているはずです。 Youtube公開中! GO☆さん「まゆちゃん、このサイトを参考にするといいよ」 http://www.apps-gcp.com/predictionapi-introduction-1/ まゆこ「へ~、意外とカンタンなんですね!これなら私にもできるかも!!!」 [写真まゆこ&GO☆] とゆうわけで、まゆこはマシンラーニングに挑戦しまーす♡ ※本記事は、『株式会社ISAO ITソリューション事業部』監修のもとに製作しております。...まゆこのましんラーニング♡#05
こんにちは!まゆこです! 最近急に寒くなりましたね(´・・`) 夏が終わるのが寂しいです…(´・・`) 先日Googleの方から私宛にTシャツいただきました!! ありがとうございます!! 個人的にこのグレーの色味がお気に入りです(^^)/ さて、本題に入ります。 前回「prediction.trainedmodels.predict」で予想データをカンマ区切りで横に並べて入力するか?縦に並べて入力するか?という疑問が湧きましたので、検証してみます。 入力(横に並べる) { "input": { "csvInstance": [ "M,175,165,france" ] } } 結果 "outputValue": "73.833076" 入力(縦に並べる) { "input": { "csvInstance": [ "M" "175" "165" "france" ] } } 結果 "outputValue": "175.622411" 予想結果を見ると縦に並べた方が正しいのですが、Googleのドキュメントを見るとカンマ区切りで横に並べてるんですよね… どうやって、検証しましょう???(’_') GO☆「サンプルプログラムを見つけて、Prediction APIをコールする際の記述を見ればわかると思うよ」 まゆこ「プログラム?なんですか?それ」 GO☆「今までは、APIs Explorerというコンソールからデータを送ってたけど、 プログラムから直接Prediction APIをコールして、データを送ることもできるんだよ」 まゆこ「何がちがうんですか?」 GO☆「やってることは同じだけど、プログラムを組むとより複雑なことができるし、APIの仕様も分かってくるよ」 まゆこ「ふーん…」 GO☆さんがこんなサンプルプログラムを探してくれました。 (そのまま転記したのではなく、内容は少し変えています)...まゆこのましんラーニング♡#04
こんにちは、ITソリューション事業部のまゆこです。 先週は夏休みを利用して、友達と沖縄に行ってきました! やっぱり沖縄の海はきれいでした!! ホントいやされます(´-ω-`) (まわりはカップルばっかでしたけど・・・) GO☆「まゆちゃんおかえりんこ! 沖縄でもブログチェックしてた?」 まゆこ「もちろん! ほらGO☆さん、この写真見てくださいよ(^^)/」 GO☆「フーテンの?」 まゆこ「寅さんじゃないです」(似てますけど(`3´)) まゆこ「ブログはちゃんと沖縄でチェックしてましたよ!それにググって新しい例題見つけたんです!」 ↓ここにいろんな例題が書いてあります。 https://cloud.google.com/prediction/docs/developer-guide 前回、GO☆さんは体重から身長を予想をしてましたが、 このページの「Structuring the Training Data」という例題も身長予測をしています。 ただ、分析するデータの種類(列)が複数ありますね。 そういえば、言語当ても、身長当ても、分析するデータの種類(列)は一つだけでした。 言語当ては「文章」のみ、身長当ては「体重」のみです。 ところがこの身長当ては、 「性別」「父親の身長」「母親の身長」「国籍」といった4種類のデータ(属性とします)を分析させてます。 なるほど、 身長は男女によって異なるし、遺伝もするし、国籍によっても異なります。 つまり相関関係があるってことですね。これは予測しやすいです! 投入するファイルフォーマットは以下のとおりです。 [身長(答え)],[性別],[父親の身長],[母親の身長],[国籍] Excelを使って2万件作成しました。 国籍別、性別による身長のレンジを定義し、ランダム関数を使って多少ばらつきが出るようにつくりました。 つまり、[身長(答え)]と、[性別][父親の身長][母親の身長][国籍]の4属性に相関関係を持たせています。 それでは、予測してみます。 今回もRegression models(回帰モデル)なので、分析結果までは前回とだいたい同じです。 さて、早速予測してみましょう。 前回までは1属性しか入れませんでしたが、4属性を入れる場合ってどうするんでしょう? ↓このページの下の方にサンプルがあります。「Run a prediction against your model.」で検索するとそこにとびます。 https://cloud.google.com/prediction/docs/reference/v1.4/reference { "input":{ "csvInstance":["M", 1.59, 1.51,"France"] } } なるほど、カンマで区切って並べればいいみたいですね。 「prediction....まゆこのましんラーニング♡#03
こんにちは。ITソリューション事業部のまゆこです。 うそです。エクストリームエンジニアのGO☆です。 ★☆ ↓GO☆のYoutube公開中 ★☆ 最近上司から「その髪型おもしろいから絶対切るな、切ったらクビ」とパワハラを受けています。ちりちり さて、今回は夏休み中のまゆちゃんに代わって僕が書きます。 前回は言語当てをしましたが、今回は身長当ての予想をしてみます。 何が違うのでしょうか? その前に、Categorical models(カテゴリモデル)とRegression models(回帰モデル)について説明します。 僕は統計学の専門家ではないので、「Prediction API」に最低限必要なことだけを書きます。ちりちり 1.Categorical models(カテゴリモデル) 予想結果が、特定の選択肢(投入したデータの1列目の値)の中から導き出されます。 つまり、”O” or ”X”とか、”良い” or ”普通” or ”悪い”といった予想結果を導きたいときに使います。 前回の言語当ては、このモデルでした。 分析データの1列目(つまり答え)が文字列だと、自動的にこのモデルになります。 2.Regression models(回帰モデル) 予想結果が、数値で導き出されます。 回帰分析をして予想値を出しているから回帰モデルなんでしょうね。ちりちり 今回の身長当ては、このモデルです。 分析データの1列目(つまり答え)が数値だと、自動的にこのモデルになります。 但し、1件でも1列目にnullとか文字列が入っているとカテゴリモデルになるので注意が必要です。 そんなわけで、今回はRegression models(回帰モデル)で予想します。 それでは実践してみましょう! 体重を入力すると身長を予想してくれるモデルなので、下記のようなファイルをつくります。 [身長],[体重] Excelを使って2万件作成しました。 体重はランダムに生成して、身長はその体重をもとに、多少ばらつきが出るようにつくりました。 つまり身長と体重に相関関係を持たせています。ちりちり 次に「Prediction API」です。 1.「prediction.trainedmodels.insert」でデータ投入、「prediction.trainedmodels.get」で完了を確認します。 2万件ありますが、2列しかないので5分程度で完了しました。 完了のレスポンスに"modelType": “regression"と返ってきたら、回帰モデルです。 ちなみに、“modelType”: “classification"と返ってきたら、カテゴリモデルです。 2.「prediction.trainedmodels.analyze」で分析結果を見ます。...まゆこのましんラーニング♡#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で、これを使って解析するんだよ。とにかく使ってみよう!」...まゆこのましんラーニング♡#01
株式会社ISAO入社1年目のまゆこです。 ITソリューション事業部(通称ISD)という部署で事務の仕事をしております。 最近やっとデスクワークに慣れてきました(^^)/ ISDってどんな仕事をしているかというと、アプリやらインフラやらを開発していて・・・ 正直よくわかりません(/_;)頭から煙が出そうです。 そんな私に最近上司が 「おい!まゆこ、お前マシンラーニングやれよ!」と言ってきました。 まゆこ「マシンラーニングって何ですか?」 上司「よくしらねーけど、最近流行ってるらしーから、誰かやっとかねーとダメっしょw」 まゆこ「・・・」(そんなこと言われましても(‘o’)) そこで、同じ部署のGO☆さんに協力をお願いしました。 まゆこ「GO☆さーん!!( ;∀;)」 ☆★↑↑GO☆さんのYoutube公開中!☆★ GO☆さんはうちのエンジニアで、きっとなんでも知っているはずです。 GO☆さん「まゆちゃん、このサイトを参考にするといいよ」 http://www.apps-gcp.com/predictionapi-introduction-1/ まゆこ「へ~、意外とカンタンなんですね!これなら私にもできるかも!!!」 とゆうわけで、まゆこはマシンラーニングに挑戦しまーす♡ ※本記事は、『株式会社ISAO ITソリューション事業部』監修のもとに製作しております。...