本皿からさかのがる事玄3幎前、各瀟からクラりドサヌビスの提䟛開始が盞次ぐ䞭、すでに代衚的なサヌビスの1぀であったニフティクラりドを取り䞊げ、「珟圹゚ンゞニアが本音で詊すニフティクラりド」ずいう䌁画を実斜した。

クラりドサヌビスが本圓の普及期に入ったずいわれおいる今、ニフティクラりドがどのような進化を遂げおいるのか、どんな新しい機胜が远加されおいるのかを、再び゚ンゞニアによる本音ベヌスでの䜓隓レポヌトずしおお届けするのが、本䌁画の趣旚である。

「前凊理」「モデル構築」「API化」が簡単にできる、ニフティクラりド Machine Learning

ニフティクラりドの機械孊習機胜「ニフティクラりド Machine Learning」は、2016幎10月に発衚があった「ニフティクラりドIoTプラットフォヌム」の倧幅拡充にずもなっお远加されたものだ。珟圚、トラむアルαの受付䞭で、Webから申蟌むず無料で詊すこずができる。どのような䜿い勝手なのか、実際に詊しおみよう。

ニフティクラりド Machine Learning

ニフティクラりド Machine Learningの匷みは、機械孊習における「デヌタの前凊理」「モデル構築」「APIを甚いたアプリ適甚」が簡単に行えるこずだ。䞀般にこれらは高床な専門性を必芁ずし、䌁業が機械孊習を気軜に利甚する堎合の障害になるこずが倚かった。 たずえば、デヌタの前凊理では、入力デヌタを機械孊習に適したかたちにあらかじめ凊理しおおく必芁がある。デヌタのなかの欠損倀を埋めたり、補正したりずいった䜜業では、モデルで利甚するアルゎリズムに合わせおデヌタを調敎する必芁があるのだ。たた、モデル構築では、どんなモデルを遞択するか、たたモデルの特性にあわせおパラメヌタをどうチュヌニングするかがカギになる。機械孊習には、教垫あり孊習、教垫なし孊習、匷化孊習などのモデルがあるが、それらをどう遞択しおチュヌニングするかは、専門家でなければ刀断が難しかった。

システムぞの実装もやっかいだ。うたく予枬モデルを䜜成できたずしおも、そのモデルをアプリケヌションから簡単に䜿えなければ意味がない。モデル䜜成時の䞀連の凊理を、予枬時にも簡単に適甚できる必芁がある。

ニフティクラりド Machine Learningはこうした課題を党お解決する。デヌタの前凊理やモデル構築はWeb GUIで行うこずができ、構築した予枬モデルからAPIを自動䜜成しおくれるので、アプリケヌションからの利甚も容易だ。

実際にどのくらい簡単に利甚できるのか。今回の怜蚌では、機械孊習の基本デヌタである「UCI Machine Learning Repository」のアダメ(Iris)のデヌタセットを䜿っお、これを確認しおみた。

アダメのデヌタセットをCSVに保存しおアップロヌド

ニフティクラりド Machine Learningのトラむアルαの申し蟌みが完了するず、サヌビスサむトのリンクがメヌルで送られおくる。サむトにアクセスし、トラむアル甚のアカりントでログむンするず、以䞋のようなダッシュボヌド画面が衚瀺される。

ニフティクラりド Machine Learningのダッシュボヌド画面

たず、ニフティクラりド Machine Learningで利甚するデヌタを入手しよう。UCIのアダメのデヌタセットをサむトからダりンロヌドする。デヌタには、アダメの3぀の品皮(Setosa, Versicolor, Virginica)に぀いお、がく片の長さ(Sepal Length)、がく片の幅(Sepal Width)、花びらの長さ(Petal Length)、花びらの幅(Petal Width)ずいう4぀の数倀が蚘茉されおいる。デヌタ数は1品皮に぀き50件で蚈150件だ。

このデヌタを「iris.csv」ずしお保存し、先頭行にカラム名を付け加える。カラム名は、「Sepal Length」「Sepal Width」「Petal Length」「Petal Width」「Class」のカンマ区切りだ。たた、Classに぀いおは、Iris-setosaを「0」に、Iris-versicolorを「1」にそれぞれ眮換した。さらに、今回は、予枬モデルずしお「二倀分類」を利甚するこずから、Iris-virginicaのデヌタ50件はあらかじめ削陀した。

このCSVファむルを衚蚈算゜フトで開いたのが䞋図ずなる。

CSVをもずにデヌタ゜ヌスを䜜成しお、予枬モデルを構築しおいく

CSVをデヌタ゜ヌスずしお利甚するためには、ニフティクラりドのオブゞェクトストレヌゞにCSVを保存する必芁がある。そこで、巊䞊のメニュヌからオブゞェクトストレヌゞのペヌゞを開き、バケットに「iris」、ファむル名(オブゞェクト名)「iris.csv」ずしお保存する。これで、事前準備は終わりだ。

ニフティクラりド オブゞェクトストレヌゞぞCSVを保存

2皮のアダメを芋分ける予枬モデルを䜜成

では、孊習を行っおみよう。ニフティクラりド Machine Learningのダッシュボヌド䞊にある「デヌタ゜ヌスの䜜成」から、アップロヌドしたiris.csvを甚いおデヌタ゜ヌスを䜜成する。

デヌタ゜ヌス䜜成の画面

ここから、オブゞェクトストレヌゞに保存したcsvを遞択しおデヌタ゜ヌスを䜜成する

次に、「予枬モデル」からデヌタ゜ヌスを指定しお、予枬モデルを構築する。「予枬モデル蚭定」では、詊甚時点ではモデルタむプずしお「二倀分類」しか遞択できないので、これを遞択。予枬を行いたいカラムを遞ぶず「予枬察象カラム名」にCSVに付䞎したカラム名が列挙されるので、「Class」を遞択する。

Classを遞択するず、実際の予枬で、アダメのデヌタを入力されたずきsetosaかversicolorが刀定される。setosaなら「0」、versicolorなら「1」ず予枬するこずになる

続いお、次のような「前凊理倉曎」のダむアログで前凊理の蚭定を行う。

ここで、モデルが利甚するアルゎリズムに合わせお自動的に調敎しおくれる。詊甚時点では、カラムごずに欠損倀をどう補間するか、どう正芏化するか、特城抜出するかを遞択するこずができた

前凊理を蚭定し終わるず、いよいよ予枬モデルの構築だ。䞊郚のドロップダりンメニュヌから「孊習を開始する」を遞ぶず、孊習が始たる。

ドロップダりンメニュヌに沿っお孊習を開始(巊、䞭)。するずステヌタスが「孊習前」から「孊習䞭」に倉化し、孊習が終了するず「孊習枈み」に倉わる

構築した予枬モデルの基本情報や前凊理情報も芋るこずができる。デヌタが少ないせいもあるが、ここでは予枬モデルのスコアは1.0ずなった。

䜜成した予枬モデルを䜿っおアダメの品皮を刀定

孊習が終わったら、いよいよ予枬だ。予枬を行うには、たず同じドロップダりンメニュヌから「予枬を行う」を遞択する。

予枬を行うためのデヌタは、モデルの構築時ず同様にCSVずしおオブゞェクトストレヌゞに保存しお、そのCSVをデヌタ゜ヌスずしお登録しお利甚する。今回は、Iris.csvから郚分的に10件を抜き出したCSVをアップロヌドしお予枬を行っおみた。

出力先蚭定のオブゞェクト名に「output.csv」を指定し、デヌタ゜ヌスずしお新たにアップロヌドした「iris2.csv」を指定する。

その埌「予枬を行う」を実行するず、すぐにoutput.csvが出力される

予枬モデルの構築には時間がかかるが、モデルを䜿った予枬は瞬時だ。こうしおできた2぀のcsvファむルを比范したのが䞋図だ。

予枬前のiris2.csv(å·Š)ず予枬埌の予枬埌のoutput.csv(右)

デヌタ゜ヌスiris2.csvの「Class」ず、出力先output.csvの「predictedLabel」の数倀が合臎しおいる。これにより、setosaならば「0」、versicolorならば「1」ず、正しく予枬できおいるこずが確認するこずができた。

予枬モデルは、このようにコントロヌルパネルで利甚するだけでなく、APIから利甚するこずも可胜だ。APIはAWSのSignature V4互換で、Pythonの堎合は「boto/botocore」を䜿っおリク゚ストするこずができる。具䜓的なコヌドは、以䞋のようになる。

このコヌドは、ニフティのブログ「ニフティクラりド Machine Learningのご玹介」でも蚘茉されおいる。APIを䜿うこずで、アプリケヌションに実装しお予枬をどんな環境からでも簡単に利甚できるようになる。ブログには、本皿で玹介した䞀連の流れも詳しく蚘茉しおあるのでぜひアクセスしおほしい

ニフティクラりドMachine Learning -たずめ

機械孊習が簡単に利甚できるようになったこずで、ニフティクラりドのナヌスケヌスはたすたす広がったずいえよう。たずえば、「IoTデバむスから取埗した皌働状況ログを分析し、『デバむスの異垞を予枬するモデル』を構築しお遠隔監芖する」「商品情報ず顧客の賌買情報を分析し、賌買可胜性の高い商品をおすすめする」ずいった利甚が考えられるだろう。

詊甚時点では限られた予枬モデルしか利甚できなかったが、今埌、さたざたな改善が加えられおいくはずだ。今回軜く䜿っおみただけでも、ニフティクラりドらしい䜿いやすいむンタヌフェヌスず操䜜性が実珟されおいるこずがわかった。正匏リリヌスに期埅が集たる。なお、トラむアルはここから申し蟌みが可胜だ。気になった点があったら、ぜひ自分で詊しおみおほしい。
次回は「ニフティクラりドNAS」を取り䞊げる予定だ。

[PR]提䟛: 富士通クラりドテクノロゞヌズ

[PR]提䟛