こんにちは、データマイニングチームのy_kawasakiです。(毎回所属が変わってます!)最近、大量のデータを前に途方にくれていました。TreasureData(以下TD)という、武器を手に入れて、がっつりと戦っているところです。libraryが実装されています。Hivemallの使い方はgithubのwikiによくまとめられているのですが、それは、あくまで、Hive上で動かすことを前提に書かれています。今回は、TD上で動いているHivemallを使いたいため、一部、変更したりする必要があります。手を動かしたいということで、どこのご家庭にも常備してある、あやめのデータを使いたいと思います。データの準備とりあえず、オーソドックスに2値分類をやってみようと思いますので、あやめのうち、setosaとversicolorの2種に絞ってデータを用意します。setosaを1に、versicolorを-1に置きまえます。学習用と試験用に適当な割合(一般的には8対2程度らしい)に分けておきます。このデータをTDへアップします。テーブル名はiris_train、iris_test、変数名としてs_width、s_length、v_width、v_lengthとしておきます。特徴量行列を作る特徴量行列は、要素名と値を:でつなぎます。そのための関数も用意されています。iris_trainこれを、tbl_fvとして書き出します。今回用いるクラス分類の手法では、正規化を行ったほうがよいので(※要出典)正規化をします。正規化の手法はいくつかあるのですが、適当に、Z-Scoreを用いたいと思います。Z-Scoreでは、平均と分散を用いるため、それらを算出するため、一旦、先ほど作った、特徴量行列を展開します。featureこれをtbl_explode_fvとして保存します。平均と分散を求めます。featureさらに、tbl_statsとして保存しておきます。続いて、Z-Scoreを求めて正規化された、特徴量行列を作成します。r.rowidこれをtbl_trainとして保存します。データをかさ増しするやらなくてもいいのですが、今回はデータセットが小さいので、学習が安定しない可能性が高いので、ガガッと大きくしたいと思います。それから、学習順序に依存しにくくするため、シャッフルも行います。tbl_train_xこれを、tbl_train_rxとして保存します。モデルの作成いよいよ、モデルの作成です。featureこれをtbl_modelとして保存します。予測モデルが完成したので、最初に分割したテスト用データの予測を行います。t.rowidこれで、予測が完成です!長いですが雛形を作ってしまえばどんどん行っていくことができます。実際には、WITH句を駆使してなっがいSQL1つのJOBにしています。ちなみに、モデルの評価を行ったところ、精度は100%でした。過学習はしてないかな?(まぁ、プロットするとわかりますが簡単に線形分離できそうなデータなんですけどね)TDを使うと機械学習本来のところに注力することができていい感じです。Machines、三歩...こんにちは、k_oomoriです。InnoDBさんとNeo4jさんごきげんよう。k_oomoriです。業務でデータノード間の関連性を...2014-07-29MongoDBとHiveでごにょごにょ事始めこんにちは、s_mamedaifukuです。...2014-03-28MuninでELBのメトリクスをモニタリングするこんにちは、t_oookaです。Are青山のアドテク会社。アドネットワークやDSPを開発・運用。サーバを止めてみたよ。インターン:実業務体験編インターンでCTR予測をしましたSearchArchiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。