カスタム変換
変換器を自分で作りたい時は、TransformerMixinとBaseEstimatorを基底クラスに追加すれば良い。
回帰の性能指標
回帰の性能指標として、一般的には平均二乗誤差(RMSE:Root Mean Square Error)を用いる。
しかし、外れ値となる区域が多数ある場合は平均絶対誤差
(MAE:Mean Absolute Error)を使うことを考えると良い。
実測値と予測値の差の絶対値の平均をとる。
これらはどちらも二つのベクトルの距離を測定する方法である。
距離の指標として、ノルム(norm)がある。
平均二乗誤差はユークリッドノルムに対応する。l2ノルムとも呼ばれる。
平均絶対誤差はマンハッタンノルムに対応する。l1ノルムとも呼ばれる。
マンハッタンノルムとは斜めには移動できず、縦と横だけというイメージ。
ノルムの値が大きくなればなるほど、大きい値を重視し、小さい値を無視する方向に傾く。
そのため、RMSEはMAEより外れ値の影響を受けやすい。
バッチ学習とオンライン学習
バッチ学習
システムを少しずつ学習することができない。
訓練する際は、全ての訓練データを与える必要がある。
オンライン学習
オンライン学習とは異なり、学習データが入ってくるたびに都度、新たに入ってきたデータのみを使って学習する。差分学習とも呼ばれる。
テキストデータの処理
Bag of Wordsによるテキスト表現
・トークン分割
個々の文書を単語に分割する。
ホワイトスペースや句読点で区切る。
・ボキャブラリ構築
単語に番号付をする。
単語が現れる回数を数える。
tf-idfを用いたデータのスケール変換
特徴量がどの程度情報を持っていそうかに応じて、特徴量のスケール変換をする方法の1つ。
特定の文書にだけ頻繁に現れる単語に重みを与え、多数の文書に現れる単語にはあまり重みを与えないというもの。
TfidfTransformerとTfidfVectorizerが用いられる。
ngram_rangeでトークンの長さを変えられる。
1単語をユニグラム、2単語をバイグラム、3単語をトリグラムという。
ほとんどの場合、バイグラムを加えると性能の向上が見込める。