データハンドリング 前処理 可視化 機械学習

毒キノコの判定 〜SVM〜

投稿日:5月 26, 2019 更新日:

SVMとは

クラス間のマージンを最大化するように境界線を引く手法。クラス分類や場合によっては回帰にも使うことができる。

  • 利点:高次元でも識別性能が良い
  • 利点:最適化すべきパラメータが少ない
  • 欠点:特徴量が増えると計算が重くなる
 
 
 
  label cap-shape cap-surface cap-color bruises odor gill-attachment gill-spacing gill-size gill-color stalk-surface-below-ring stalk-color-above-ring atalk-color-below-ring veil-type veil-color ring-number ring-type spore-print-color population habitat
0 p x s n t p f c n k s w w p w o p k s u
1 e x s y t a f c b k s w w p w o p n n g
2 e b s w t l f c b n s w w p w o p n n m
3 p x y w t p f c n n s w w p w o p k s u
4 e x s g f n f w b k s w w p w o e n a g
 
 
  label cap-shape cap-surface cap-color bruises odor gill-attachment gill-spacing gill-size gill-color stalk-surface-below-ring stalk-color-above-ring atalk-color-below-ring veil-type veil-color ring-number ring-type spore-print-color population habitat
count 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124 8124
unique 2 6 4 10 2 9 2 2 2 12 4 9 9 1 4 3 5 9 6 7
top e x y n f n f c b b s w w p w o p w v d
freq 4208 3656 3244 2284 4748 3528 7914 6812 5612 1728 4936 4464 4384 8124 7924 7488 3968 2388 4040 3148

 

標準化

SVMは学習する前にデータの標準化が必要

 
  label cap-shape cap-surface cap-color bruises odor gill-attachment gill-spacing gill-size gill-color stalk-surface-below-ring stalk-color-above-ring atalk-color-below-ring veil-type veil-color ring-number ring-type spore-print-color population habitat
0 1 5 2 4 1 6 1 0 1 4 2 7 7 0 2 1 4 2 3 5
1 0 5 2 9 1 0 1 0 0 4 2 7 7 0 2 1 4 3 2 1
2 0 0 2 8 1 3 1 0 0 5 2 7 7 0 2 1 4 3 2 3
3 1 5 3 8 1 6 1 0 1 5 2 7 7 0 2 1 4 2 3 5
4 0 5 2 3 0 5 1 1 0 4 2 7 7 0 2 1 0 3 0 1
 
 

カーネルとは

カーネルとはふたつのベクトルxとyの内積を(たいていはとても高次元の)特徴空間で計算する方法

カーネルの使い分け

線形カーネル 訓練データが線形分離可能であればわざわざ特徴空間に写像する必要はないので、このような場合には次の線形カーネルを用いる。 テキストデータのように大規模で疎なデータ(ほとんどの列が0であるようなデータ)でよく用いられる。

多項式カーネル 画像を分類するときによく用いられる。

ラジアル基底関数カーネル(RBFカーネル、ガウシアンカーネル) データに関する事前知識がない場合に用いられる汎用的なカーネル。最もよく用いられるカーネルの一つ。

双曲線正接カーネル おもにニューラルネットワークの代わりとして用いられる。

※参考URL:
https://qiita.com/keisuke-nakata/items/9d46152ac52dcd2cc92a
http://sudillap.hatenablog.com/entry/2013/04/08/235610

 

コストペナルティCとは

コストペナルティとは誤分類したときのペナルティの大きさを決めるパラメータ。 Cを大きくすると、誤分類のペナルティが大きくなるため、ご分類を避けるため境界を細かく調整する。その結果、汎化性のが低下する。

※参考URL:http://aidiary.hatenablog.com/entry/20100503/1272889097

 

ハイパーパラメータの調整

 
 
 

学習およびテスト

選択したハイパーパラメータを利用して、学習およびテストを実施。

 
 

-データハンドリング, 前処理, 可視化, 機械学習

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ボストン住宅価格 〜決定木〜

Contents1 線形回帰とは1.1 基本的なデータ探索について1.2 学習曲線について1.3 グリッドサーチについて1.4 グリッドサーチの使いこなし 線形回帰とは 線形回帰複数の変数における相関 …

no image

学習データとテストデータの分割

学習データとテストデータの分割法の備忘録として載せておきます。 Contents1 非時系列データ2 時系列データ 非時系列データ 非時系列データの場合は、ランダムに分割すれば良い。sklearnモジ …

no image

kaggle:メルカリ チュートリアル(EDA探索的データ解析)

Contents1 概要説明1.1 データ探索の流れ2 ライブラリインポート3 データ読み込み4 目的変数5 送料6 アイテムカテゴリ¶7 ブランド8 アイテム説明8.1 前処理 tokenizati …

no image

python/pandas/DataFrame/データ型指定列抽出

データフレームカラムのdtypeを判定し任意のdtype列に絞り込む Contents1 メソッド1.1 パラメータ1.2 注意2 データの準備3 pandas.DataFrame.select_dt …

no image

データフレームの操作一覧

データフレームでよく使う機能をチートシートとしてまとめました。 Contents1 インデックス操作2 型変換3 欠損値4 ソート5 一括処理6 可視化7 結合8 集約9 重複10 条件抽出11 出力 …