OKIYUKI99 Blog

データ分析や日常に関するブログ

RのSlidifyを触ったけど、色々問題でた

RのSlidifyと言えば、

Rでパワーポイントを作成できるパッケージです。

触ってみた感想、
・ローカルのRStudioで実行したが、文字化け(SHIFT-JIS、UTF8等が混ざっている?)が激しい(結局なおらなかった)
・サーバー版のRStudioだと問題なかった
・RPubsに公開したら、あとから見れなくなった
というのに、色々ハマる。

インストールは超簡単。

・事前準備

install.packages("devtools")
library(devtools)
install_github("slidify", "ramnathv")
install_github("slidifyLibraries", "ramnathv")

・"sample"というフォルダができて、サンプルコードがでてくる。(適宣、変更して下さい)

library(slidify)
library(slidifyLibraries)
author("sample")

・好きなように編集
パッケージslidify - 浅井拓也 研究室用ページパッケージslidify - 浅井拓也 研究室用ページ

・実行

slidify("index.Rmd")

・出来上がるはず。このとき、ローカルなら文字化け激しかった。

・RPubsへの公開(titleの部分は適宣変更してください)

publish(title = 'test_slidify', 'index.html', host = 'rpubs')

すると、RPubsのアップロード画面に遷移する。

以上です。もう少しオプション等、見てみよう。

Google Refineとか

クレンジングツールなんてあったとは….

Google Refine便利そう.データ集めるのが簡単になるのかな.

Webに載ってるデータをコピーして処理できるっぽい.

詳しい解説ページないかな.日本語希望w

■参考
『米Google、データクリーニングツール「Google Refine 2.0」をリリース』
http://sourceforge.jp/magazine/10/11/15/0514235

Google Refineの使い方』
http://wiki.kazusa.or.jp/Google_Refine%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9

『第7回 大相撲のアノーマリー (1)』
http://www.atmarkit.co.jp/fcoding/articles/stat/07/stat07b.html

クラスタリングとか

「Rで学ぶクラスタ解析」を購入した.

Rで学ぶクラスタ解析

Rで学ぶクラスタ解析

図書館で借りてパラパラと見ると良さ気だった.
何分,クラスタだけの本って持っておらず,Rで学べるってのも今の流行かなと思い,中古本を購入.

2000+250円でアマゾンさんでね.

届くのが楽しみです.

決定木とか

今更ながら決定木強っ!って思った.

ランダムフォレストって今のところ最強の分類器じゃ….

CHAIDとかC5.0とかCARTとか色々あるけど,どれ選べばいいのでしょうか?

CARTジニ係数使ってて,純度で分岐点を作る.純度が増す=ばらつきが少なくなるね.

ランダムフォレストのようなアンサンブル学習はほかの分類器にも使えるよね.計算時間やばそうだけど.

ggplot2とか

■感想
Rで流行してるものといえば,ggplotかと思い,サンプル動かしてみた.確かに綺麗に描画されるし,シンプルに使える.

レイヤーのように後からポイポイ載せていくって感じ.

『ggplot2 の自分用メモ集を作ろう』はかなり詳しく紹介してくれていました.

■参考
『ggplot2のqplot関数のまとめ』

『ggplot2の概要』

『ggplot2できれいなグラフ-スライド』

『一粒で3回おいしいggplot2』

『ggplot2 の自分用メモ集を作ろう』

『ggplotはただの綺麗系graphics libraryではない』

hadoopとか

最近,データベースの分散処理技術について非常に流行ってる.

とりまググッて色々調べたことをメモる.

■背景
・インターネットの普及により大規模データが蓄積!

  • Webページで考えると200億ページ×20KB = 400TB
  • 世界で作成されたデータ量
    • 2009年:0.8ZB
    • 2020年:35ZB

→データ処理の効率性が必要,分散並列化

上記の解決方法

  • お金:大量のマシンで.パワープレイ.
  • 並列プログラミング
    • MPI(Message Passing Interface)
    • MapReduce
      • 大規模データ処理を行う問題に特化


hadoop
・大規模分散計算フレームワーク
オープンソースインフラストラクチャ

googleの基盤ソフトウェアのクローン

・Yahoo ResearchのDoug Cutting氏が開発

  • Dougの子供の持っているぬいぐるみの名前(笑)

Javaで記述されている

  • しかし,"Hadoop Streaming"という拡張パッケージを用いて、C/C++RubyPythonなど言語と標準入出力を用いてMapReduce処理を書くことができる

・開発したYahooはもちろん,FacebookIBMAmazonも使用

  • 楽天はレコメンド管理システムに使用
  • NTTデータは渋滞情報の可視化システムに使用

・2011/7月現在,日本語の資料はほとんどない.

Hadoopの特徴的な機能

  • Scalable
  • Economical
    • 汎用プラットフォームによるクラスタにまたがってデータと実行を分散できる.クラスタは数千オーダーでも対応可能
  • Efficient
    • データを分散させることで,ノード間で並列に実行できる.そのため,実行速度が速い.
  • Reliable
    • 自動的にデータを複数コピーし,失敗を契機にタスクの移動を行わせる.


■hBase
hadoopの上に作られた大規模分散データベース

Javaで記述されている


MapReduce
hadoopの上に作られた大規模データを大量のマシンで並列に処理するための分散計算フレームワーク

  • Mapフェーズ

・大量の情報を分解→必要な情報を抜き出して出力

  • Reduceフェーズ

・Mapフェーズで抽出された情報を集約→それに対して計算を行い,結果を出力


■Mahout
Hadoop上で動く機械学習ライブラリ

・サポートする手法

  • クラスタリング,パターンマイニング,分類,行列計算
  • まだまだ手法は揃ってない様子


■Pig
・大規模データセットを解析するためのプラットフォーム



■参考
・『CodeZineHadoop、hBaseで構築する大規模分散データ処理システム 』

・『CodeZineHadoopのインストールとサンプルプログラムの実行 』

・『グーグル発「Hadoop」,日本企業も利用へ』

・『Hadoopで,かんたん分散処理』
http://techblog.yahoo.co.jp/cat207/cat209/hadoop/

・『Googleの基盤クローンHadoopについて-スライド』

・『Googleの基盤クローンHadoopについて-ビデオ』

・『MapReduceによる大規模データを利用した機械学習

・『Rと並列化の現状について』