SlideShare a Scribd company logo
RubyとRのおいしい関係
2015/06/06
第18回 岡山Ruby, Ruby on Rails勉強会
貞松 政史
@sady_nitro
自己紹介
•名前:貞松 政史 (@sady_nitro)
•所属:株式会社リゾーム
•興味:Microsoft系テクノロジー/Ruby/機械学習
•多芸は無芸を地で行く 自作自演なんでも屋
近況
•弊社の新パッケージを開発中
–必然的にMSテクノロジー寄りに
そうでなくても寄ってる
•Azure Machine Learningと
Visual Studio Onlineが好き
•オープンセミナー岡山2015に参加しました
–懇親会でRubyとRを使ったネタでLTしました
オープンセミナー岡山2015 懇親会LT
オープンセミナー岡山2015 懇親会LT
•人の主観でなく、システマティックに当日の
ハイライトを作成
•RubyとRとMeCabを利用して#oso2015の
ハッシュタグツイートを分析
•テキスト分析とビジュアライズの一例として
•延長線上として本発表を志願
おしながき
•なぜRubyとRの組合せが「おいしい」のか
•数値分析のケーススタディ
•テキスト分析のケーススタディ
•まとめ
なぜRubyとRの組合せが「おいしい」のか
「RubyとR」といえば…
•「RとRubyによるデータ解析入門」
•「R」が先に付いてるだけあって
R力がアップする一冊
•Rubyはデータ取得・加工の手段
という位置付け
なぜRubyとRの組合せが「おいしい」のか
•世間一般に溢れる「分析」を実施する場合…
–データの蓄積
–データのクリーニング
–データの加工・集計
–分析・解析アルゴリズムの適用
–分析・解析結果のビジュアライズ
なぜRubyとRの組合せが「おいしい」のか
•Rubyが得意な領域
–データの蓄積
•Ruby on Railsで構築されたWebアプリ・サービス
•既にデータの蓄積があるケースも多い
–データのクリーニング
–データの加工・集計
•言語の仕様としてコレクション操作や文字列操作に強い
•Ruby on RailsでActive Recordが利用できる
なぜRubyとRの組合せが「おいしい」のか
•Rが得意な領域
–分析・解析のアルゴリズム適用
–分析・解析結果のビジュアライズ
•R自体がそれに特化した言語
•実用的なパッケージが多く存在する
なぜRubyとRの組合せが「おいしい」のか
分析・解析の実施において
互いの長所を生かしてより良いアウトプットを得られる
どちらも強力なライブラリ(パッケージ)が存在するので
学習コストなども低め
テキスト分析のケーススタディ
テキスト分析のケーススタディ
•キーワード抽出+Word Cloudsによる可視化
–オープンセミナー岡山2015 懇親会LTでやったやつ
•TwitterAPIで取得したツイート
•MeCabによる単語抽出
•Rubyによるフィルタリング
•Rのパッケージによるビジュアライズ
テキスト分析のケーススタディ
•ツイートの取得
–twitter gemを導入すれば楽勝
テキスト分析のケーススタディ
•MeCabによる単語の抽出
–mecab-ruby gemを導入すれば楽勝
–(導入が楽勝ではないという話も)
テキスト分析のケーススタディ
•Rubyによるフィルタリング
–Rubyはコレクション操作が容易
•select
•reject
•collect etc…
–正規表現の扱いが容易
•「=~」とか
–URLや記号など、不要なワードを除外する
テキスト分析のケーススタディ
•Rのパッケージによるビジュアライズ
–wordcloudパッケージを導入すr(以下略
–RStudioを使えばさらに便利に
テキスト分析のケーススタディ
•RStudio
–RのGUIツール(IDE的なもの)
–Rスクリプトが利用しやすい
–パッケージのインストール等も画面操作で出来る
テキスト分析のケーススタディ
•せっかくなので#okarubyハッシュタグの
ツイートを分析
数値分析のケーススタディ
数値分析のケーススタディ
•ユーザー(顧客)のクラスタリング(グルーピング)
–ちょっとギョーミーな題材を
•ユーザーIDと利用ショップの入ったデータを集計
•クラスター分析を実行し、ユーザーを分類
•せっかくだから取得した分類を使ってさらに分析
数値分析のケーススタディ
•データの定義
–DBに以下のテーブルが存在するという想定
数値分析のケーススタディ
•データの集計
–テーブルを集計して以下の形式のデータを作る
会員(ユーザー)のID ユーザーごとのショップの利用回数
数値分析のケーススタディ
•クラスター分析
–Rを使用してデータをクラスター分析にかける
–K-Means Clusteringを使用
数値分析のケーススタディ
•取得した分類を使ってさらに分析
–分類ごとの特徴、傾向を分析する
まとめ
まとめ
•分析・解析の実施において
–RubyとRは互いの長所を生かしやすい
–どちらも強力なライブラリ(パッケージ)が存在するので
学習コストなども比較的低め
–Rを使うときはRStudioが便利
–ケーススタディで示したように意外と実践的

More Related Content

PDF
パターン認識と機械学習入門
PDF
人それぞれの競プロとの向き合い方
PDF
研究効率化Tips Ver.2
PPTX
数理最適化とPython
PPTX
ようやく分かった!最尤推定とベイズ推定
PDF
[DL輪読会]Reward Augmented Maximum Likelihood for Neural Structured Prediction
PDF
Active Learning 入門
PDF
ベイズ最適化
パターン認識と機械学習入門
人それぞれの競プロとの向き合い方
研究効率化Tips Ver.2
数理最適化とPython
ようやく分かった!最尤推定とベイズ推定
[DL輪読会]Reward Augmented Maximum Likelihood for Neural Structured Prediction
Active Learning 入門
ベイズ最適化

What's hot (20)

PPTX
ベルヌーイ分布における超パラメータ推定のための経験ベイズ法
PDF
機械学習モデルのハイパパラメータ最適化
PDF
因果推論の基礎
PDF
Vision and Language(メタサーベイ )
PDF
20090924 姿勢推定と回転行列
PDF
コンピューテーショナルフォトグラフィ
PPTX
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
PDF
Cosine Based Softmax による Metric Learning が上手くいく理由
PDF
スペクトラル・クラスタリング
PPTX
ベイズ統計学の概論的紹介
PDF
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
PPTX
Group normalization
PDF
グラフィカル Lasso を用いた異常検知
PDF
統計的因果推論への招待 -因果構造探索を中心に-
PDF
AlphaGoのしくみ
PDF
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
PDF
TensorFlowで逆強化学習
PDF
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
PDF
プログラミングコンテストでの動的計画法
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
ベルヌーイ分布における超パラメータ推定のための経験ベイズ法
機械学習モデルのハイパパラメータ最適化
因果推論の基礎
Vision and Language(メタサーベイ )
20090924 姿勢推定と回転行列
コンピューテーショナルフォトグラフィ
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
Cosine Based Softmax による Metric Learning が上手くいく理由
スペクトラル・クラスタリング
ベイズ統計学の概論的紹介
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
Group normalization
グラフィカル Lasso を用いた異常検知
統計的因果推論への招待 -因果構造探索を中心に-
AlphaGoのしくみ
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
TensorFlowで逆強化学習
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
プログラミングコンテストでの動的計画法
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Ad

More from sady_nitro (12)

PDF
What's new with Amazon SageMaker
PPTX
20181117 azure ml_seminar_3
PPTX
20181117 azure ml_seminar_2
PPTX
20181117 azure ml_seminar_1
PPTX
座駆動LT Surface Go 実機レビュー
PPTX
組合せ最適化問題と解法アルゴリズム
PPTX
オカヤマ コンピュータサイエンス ラボ についてのおはなし
PPTX
Try Azure Machine Learning
PPTX
Comcamp 2016 Okayama VSTS
PPTX
RubySeminar16_Analyze
PPTX
OITEC19_TFS
PPTX
みんな大好き機械学習
What's new with Amazon SageMaker
20181117 azure ml_seminar_3
20181117 azure ml_seminar_2
20181117 azure ml_seminar_1
座駆動LT Surface Go 実機レビュー
組合せ最適化問題と解法アルゴリズム
オカヤマ コンピュータサイエンス ラボ についてのおはなし
Try Azure Machine Learning
Comcamp 2016 Okayama VSTS
RubySeminar16_Analyze
OITEC19_TFS
みんな大好き機械学習
Ad

RubyとRのおいしい関係