物欲購入目録日誌 写真館
スポンサーサイト
--.--.-- (--:--) スポンサー広告
Twitterでつぶやく
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ Ruby ] twitter スパム推定で特徴選択
2011.10.14 (00:26) プログラミングtrackback(0)comment(0)
Twitterでつぶやく
shiwasu.jpg


オイラが作っているtwitter bot(@tachi_pic_bot)にスパム推定(スパム検出)機能を実装しているのですが、もう少し面白いことはできないかといろいろ改造していじくってみた。

とりあえず、いらない素性を利用しなくしてもっと精度が上がらないかと思ったので、feature selection(特徴選択)を実際に簡単なものでやってみた。

特徴選択はK個の全て特徴量を機械学習で利用するのではなくそのうちで有用な素性のみを選び出す方法。

特徴選択を実施する理由は大きく分けて2つ

(1) 目的変数と無関係な特徴量を使わないことで予測精度を向上させる.
(2) 学習された関数を,定性的に解釈しやすくする.

がある。オイラの目的としては主に(1)番目を目論んでおる。

実現方法も2つあって

(1) 事前に素性をある指標によってフィルタリングするフィルター法
(2) 特徴量の部分空間をえらんで実際に学習し交差検定を行い精度を確認して最も精度の出る素性セットを探すラッパー法

ここでオイラは(1)のフィルター法を実際にやってみた。

計算する指標は簡単な相関係数を計算してみた、んで計算した結果が以下の図。


corr.png


結構バラバラ。ほんとにいいのかどうかわからんかったので、実際に一番数値の高い4つの素性と数値のわるい4つの素性のみを使って実際に学習検証をやってみた。精度が以下のもの

ベスト4
- 全tweet数
- フォロー数
- フォロワー数
- 直近20 tweetの総文字数
82.6 [%]

ワースト4

- お気に入り数
- 直近20tweetにおいてハッシュタグが含まれている割合
- など

63.2 [%]


となってかなり綺麗な結果になって自分でもびっくりした。なるほどって感じ。
とりあえず、必要なさそうな素性を削除して再度ベストセットに近い素性セットで精度を図ると

97.2 [%}


程度まで上昇して、素性選択が結構有効であることがわかった。

今度は情報ゲインとかもうちょっとこったことを計算してみる。toro_mune.gif
prevhome next












トラックバックURL
→http://tachiphoto.blog61.fc2.com/tb.php/1486-807441ce
home
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。