ブログニフクラやクラウドの技術について、エンジニアが語るブログです。ブログニフクラやクラウドの技術について、エンジニアが語るブログです。Learningこんにちは。ニフティクラウドで開発を担当している大友と言います。Learning(現在トライアルα版として受付中)をご紹介します。Learningは、クラウド上に機械学習のモデルを構築して、UIやAPI経由でモデルの出力する予測値を得ることのできるサービスです。※本記事は2016年11月28日時点での情報を元に執筆しています。機械学習とは機械学習とは、データに含まれるパターンなどをコンピュータに学習させることで、データを入力として与えた際に、何らかの有益な出力を返すプログラムを構築する仕組みです。出力を返すプログラムをモデルと呼びます。機械学習にはいくつか種類があります。以下に代表的なものを挙げます。教師あり学習:正解を含むデータを学習させて、未知のデータに対する正解を予測するモデルを構築する教師なし学習:データに含まれるパターンなどを抽出して出力するモデルを構築する強化学習:環境と行動を定義し、環境に対して行動した結果を学習して最適な行動を出力するモデルを構築する実際の応用例として、以下のようなものがあります。Learningの機能として提供している、教師あり学習について説明していきます。機械学習における課題モデルを構築する際に、少なくとも下記のような課題があると考えられています。一つめは、いわゆる前処理と呼ばれている処理です。機械学習のモデルを構築するアルゴリズムは数値を入力とするものが主になります。そこで、入力するデータを適切な形にあらかじめ処理しておく必要があります。入力の中に記号が含まれている場合などには数値化する必要があります。アルゴリズムによっては、入力する数値のカラムごとの大きさに影響を受けるものがあるため、数値の大きさを調整する必要があります。機械学習のモデル選択や各モデルのハイパーパラメーターのチューニング二つめはモデルの選択と各モデルのハイパーパラメーターのチューニングです。機械学習にいくつか種類があることは前述しましたが、その中の教師あり学習のモデルについても、いくつか種類があります。それぞれのモデルごとに特性が異なっており、あるデータでは精度の高かったモデルでも別のデータに対しては精度が低く、別のモデルの方が適している場合などがあります。このため、色々なモデルに対して精度の検証を行い、適切にモデルを選択する必要があります。各モデルにはハイパーパラメーターという構築を行う前にあらかじめ設定する必要のあるパラメータが存在するモデルもあり、ハイパーパラメーターの値によっても精度が変わってくるためチューニングが必要となります。加えて、このようなモデルを構築する際の前処理を行い、データを入力するパイプラインは予測時にも同様に適用する必要があるため、永続化して予測時に呼び出せるようにしておくためのシステムが必要となります。Learningは、前述の様な機械学習のモデル構築における課題を解決することに注力したサービスです。主な機能として、下記を提供しています。今回はこれらの機能を用いて予測モデルの構築を行ってみたいと思います。Cancerデータセット)を利用して予測モデルを構築していきます。Learningでデータを利用するためには、まずデータソースを登録する必要があります。オブジェクトストレージ(以下オブジェクトストレージ)にアップロードされたCSVが対応しています。今回は前述のデータセットをCSVに変換して、オブジェクトストレージから利用することにします。実際に利用する際は必要ありませんが、後ほど予測機能を利用するためにあらかじめテスト用のデータを分けて登録しておきます。登録には下記の様にコントロールパネルからデータソースの登録を選択し、前述のアップロードしたCSVファイルを入力します。続いてモデルの登録を行います。モデルの登録には先ほど登録した学習用のデータソースと予測対象となるカラムを選択します。今回予測したい属性は良悪性のため良性の場合に1となるカラムであるbenignを選択します。次に前処理の設定を行います。Cancerデータセットは予測対象以外のカラムは実数値のため欠損値を平均値で補完し、平均0分散1で正規化します。前処理の設定が終わったので学習を開始します。学習が完了するとモデル一覧からスコアを確認することができます。評価指標のF値は再現率(陽性のデータのうち、正しく陽性と予測できた割合)と適合率(陽性と予測したうち、正しく予測できた割合)の調和平均になります。単純に予測の正解率を指標とすると正解ラベルに偏りがある場合に多いラベルを常に予測するモデルのスコアが良くなってしまうため、機械学習では上記のような指標を用いることが多いです。データの予測コントロールパネルからの予測ステータスが学習済みになると予測APIが利用可能になります。実際に利用する場合はここで正解が分からないデータに対して予測を行いますが、今回はデータソースを登録する際に用意したテスト用のデータを利用します。UIから予測を行う場合はモデル構築の際に利用する場合と同様に登録済みのデータソースに対して予測値の出力を行います。実際の値(左側)と予測した結果(右側)とを比較してみると、正しく分類できていることがわかります。APIを用いた予測APIを用いて予測することも可能です。V4互換のためPythonの場合は下記の様にboto/botocoreを利用してリクエストすることができます。Learningを用いて、予測モデルの構築と予測を実施しました。このようにCSVデータからカジュアルに予測モデルの構築が行えるサービスとなっておりますのでぜひご利用ください。トライアルα版の申し込みはこちらから受付中です。3層モデルのシステムを簡単に構築したい!こんにちは。»プロフィールニフクラとは、VMwareを基盤とした国産のパブリック型クラウドサービスです。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。