DatoのGraphLab Create : 機械学習ライブラリ
目次
- 目次
- 「GraphLab Create」とは
- ライブラリの種類
- GraphLab CreateのDocumentation, user guide, how-to, gallery
- レコメンダー関連のGalleryまとめ
- 今後
「GraphLab Create」とは
Dato(正式には GraphLab, Inc.)という企業が運営しているpython用の機械学習ライブラリです。Courseraの機械学習のコース(以下URL)
の中で僕は知りました。このコースの講師はワシントン大学の教授でかつ、DatoのCEOもしてます。
python用の機械学習ライブラリといえばscikit-learnが有名ですが、初学者の僕が使った感じscikit-learnより簡単に使えます。ライブラリとして使いやすく、わかりやすく設計されている印象があります。逆に言えば拡張性や柔軟性には疑問がありますが現在の僕にはわかりません。
ライブラリの種類
Rやpandasではdataframeを使いますが、それに対応するのがSFrameというデータ型です。基本的にデータを扱う場合はこれらのデータ型に変換します。 ライブラリの種類としては基本的な機械学習手法(回帰や分類)はもちろんのこと、recommender、sentiment analysis、topic model、deep learningもサポートしています。以下のドキュメンテーションをざっと見ればどのような事ができるのかわかると思います。
GraphLab Create API Documentation — GraphLab Create API 1.8.4 documentation
僕はレコメンダーに興味があるので以下の以下でレコメンダーに関するDatoが用意しているギャラリー(実践的なチュートリアルみたいなもの)をまとめておきます。
GraphLab CreateのDocumentation, user guide, how-to, gallery
GraphLab CreateのよいところとしてDocumentなど学習を進めていく上で必要不可欠なサポートが充実しています。
API Documentation GraphLab Create API Documentation — GraphLab Create API 1.8.4 documentation
User Guide Introduction | GraphLab Create User Guide
Gallery Gallery | Dato
レコメンダー関連のGalleryまとめ
Galleryはデータの準備からレコメンダーであれば推薦、評価まで説明してくれています。python、ipython notebook用のプログラムをダウンロードできます。
レコメンダー用の基本的な機能を紹介。graphlab.recommender.util.random_split_by_userはhold-out-data(validation_set)を作る時に便利そう。
dataset : 評価値付きの映画データ
algorithm : baselineをpopularity_recommender(予測値はアイテム毎の評価値の平均)として、factorization_recommender、ranking_factorization_recommenderのRMSEを比較。アクション好きのユーザとロマンス好きのユーザをデータセットに加えて、 彼らにアイテムをレコメンドする。
dataset : 音楽データ(ratingなし)
algorithm : popularity_recommender、item_similarity_recommender
特にratingがない場合のimplicitなデータのみの場合のレコメンダーのつくり方。createする際にtargetを指定すればrmseを計算できるが、そうでない場合はprecisionとrecallのみの評価になる。 graphlab.recommender.item_similarity_recommender.createはデフォルトではjaccordが類似度の計算に使われるので注意。他にはcosine、peasonが使える(implicitな場合の計算方法はよく理解していない)。最後の方ではユーザが実際に見た映画とレコメンデーションリストの内容を比べるのでそこは面白いです。
レコメンダー生成、トピックモデル生成の基本的な構文を紹介。
Building a Recommender using GraphLab Data Pipelines | Dato Notebook | Dato
Winning ACM RecSys Challenge 2014 with GraphLab Create | Dato Notebook | Dato
Recommendation Engine Solutions | Dato(Use Casesから)
今後
今回はGraphlab Createのレコメンダー関連のGalleryをまとめました。これからGallerを分類したいです。