特徴量

特徴量について

・特徴量 = 説明変数
└機械学習の領域で使用される

・予測精度を上げるためには
①特徴量の作成
②特徴量を選ぶ

特徴量の作成

・与えられたデータや外部データを加工し、予測の手がかりとなりそうな新たな特徴を作る
①基本統計量を作る
例)比較対象の平均値を出す

スクリーンショット 2021-08-03 1.28.30

②データを集約する
例)大まかに集約する

スクリーンショット 2021-08-03 1.28.35

特徴量の選択

特徴量が多すぎるのも良くない
└過学習のリスクがある

数ある特徴量から重要なもののみを選択することが大切
└単変量解析 = ひとつの対象にデータが1つしかないデータ
・目的変数と各変数を1体1で確認し、取得選択
・例)分散分析など

 └分散分析とは、データの持つばらつきが因子によるものよりも実験誤差によるもの のほうが大きいかを検定し、因子によるばらつきの方が大きければ 母平均に差がある とする検定
※因子
└条件を変えて同様の実験を繰り返し行ったとき、条件の違いから他の条件の場合の 平均値との差が出た場合、 その差を生み出した要因を 因子
※母平均
└母集団の平均のこと。母集団から標本を無限に抽出し、その標本平均の平均ともいえます。
※母集団
└集団の特徴を知るために一部のものを抜き出し、統計観察の対象とするとき、 そのような抜き出した集団のことを標本といい、 その標本を抜き出した元の集団のことを母集団

モデルベース選択
・モデルにとっての各変数の重要度を算出し、取得選択
・例)ツリー系機械学習手法の重要度を見る
 └ツリー状に条件分岐を繰り返すことによって分類するクラスを予測するモデル

反復選択
・特徴量を増減させながらモデルを生成し、良い特徴量を検索する
・例)ステップワイズ方など
 └目的変数と関係する変数を自動で選んでくれる手法

特徴量を作る前に

・特徴量を作るためには、データ加工が必要
・データ加工に便利な2つの関数

・split関数
└文字列を指定した文字で分割する関数
例)terms = "red,blue,green,yellow"をカンマで区切李、結果を変数colorに代入
colors = terms.split(",")
→["red","blue","green","yellow"]
※配列内の番号は「0」から始まる
red = 0,blue = 1,green = 2,yellow = 3


└apply関数
・データの各値に数式や関数を適用する為の関数(pandas)
変数.apply(lambda x : 数式or関数)
例)datのvalueの各値を2倍して1を足したい
dat["value"].apply(lambda x:x*2+1)
└「x*2+1」 = xにvalueの値が代入される
└「4*2+1」、「7*2+1」、「3*2+1」、「8*2+1」

スクリーンショット 2021-08-03 2.36.08



この記事が気に入ったらサポートをしてみませんか?