inohilog

/var/log/inohiro.log

Tsukuba.R#2

以下、勉強会中のメモ。

Tsukuba.R#2 20080914

#1の復習しないと。

1221384941* データ統計解析言語としてのR

アクセスログ解析

#1ではR付属のデータを使った。

データを読み込む

read.table( path )
header="true/false" で絡むとして読み取るみたいな
data <- read.rable( path )

getwd GetWorkingDirectoly
setwd SetWorinDirectory

データフレーム

すべての要素の型が同じでなくてよい行列

データの欠損かそう出ないかを知る

実験データなどは欠損データがつきもの。なので、欠損値を認識しないと残念なことになるので、確認しないといけない。

is.na 関数
apply 関数
all 関数

apply ファミリなどを組み合わせるのがRらしくてよいのでは。

データの特徴(要約)を見る

summary 関数
総称的関数の一つ
型を判断してまとめてくれる

行列データから必要なものをとってくる

coutn[], count$count(countカラムのデータを取ってくる)
これらのデータの増加/減少、周期などを知りたいときはplotすれば良い

plot の範囲指定

ylim 縦軸方向の制限
xlim 横軸方向の制限

plot の装飾

xlabel 横軸のラベル
ylabel 縦軸のラベル

月条件でまとめる

countのインデックスにまたcountを書く
count$month[count[1]]
tapply 関数
median?

Rのデータ構造をそのまま保存する

dput 保存
dget  読み込み(read.table()み(read.tableで読み込んだとき見たいに変数に代入しないと標準出力に出る)

まとめ

データの構造、欠損値などを調べる
summaryなどで要約を見る
解析をして出力

やる夫で学ぶSVM with R

SVM って何?

機械学習とはデータ解析の一つ。
無秩序なデータから関係を探す。

SVM とは

Support Vector Machine 手法。
データ群を2クラスに引く超平面
線形分離、非線形分離
3次元以上もある。

カーネルトリック

SVM の簡単な理論

SVMとは、2つのクラスを分割する「超平面」を引く。
データ点をX軸とY軸で考える。

訓練集合

教師信号:各データのラベル(どちら側に属するか)
学習:これをもとに線を引く

幾何マージン

各訓練集合から超平面までの距離のこと
クラス1と2の超平面から一番近いデータの

要点

SVM とはあるクラスを2つに分ける線を引くこと。
各訓練集合からの超平面での距離の幾何マージンの最大化を解くこと

C言語などで解くときは、ニュートン法、再急降下法

Rのパッケージ;quadprog

グラフィックス

グラフィックスのいろいろ

高水準作図関数:散布図(plot( iris ))、ヒストグラム
低水準作図関数:グラフの塗りつぶしなどを自分で指定する
対話的作図関数:マウスなどをつかってごにょごにょする手法

高水準作図関数

自分で定義した関数をplotすることも可能
barplot, persp,

outer関数: f(x, y) があったとき、第一引数と第二引数のすべての組み合わせを適用した結果を返す
Rjp-Wiki に書いてある

低水準作図関数

legend 関数:凡例を出す
par関数の引数mfrowにベクトルを与えると、一画面に複数のグラフをプロットできる
pa関数の引数に  で余白を作る
matrixをつくって、それをlayoutに指定することでグラフの出力場所を指定できる

paset関数:文字列を結合する
deparse, substitute関数(自分自信の変数名を返す)

最適化

再急降下法(微分とかちょこちょこ点をとってきて、変化させて収束する様子を観察する)
eplison, tauなどを調整する

Rの関数にはデフォルト値が設定できる
Rは数値微分ではなく数式微分のようなことができる
expresion は数式を表す関数(関数であないかも

線を引く関数lines。trans3d
acf関数
RGraphics Manual を見る