説明変数の作り方(特徴量、欠損値、標準化、縮約など)と選び方

データの量や質、評価指標などのテクニックの一部としてこれまで記載していたのだけど、雑多なページになっていたので、特徴量の作り方など比較的ボリュームのあるテーマを括りだした。
なお時系列分析における特徴量の作り方などは時系列分析に関する応用的なトピックにある。

特徴量の作り方

対数変換や逆数変換、box-coxとか、時系列なら移動平均や移動標準偏差・最大値・最小値みたいな、当たり前のテクニックも良い記事があれば追加するとして、自分が疎かにしがちなところから。

特徴量の作成も自動化ができるらしいけど、

でも本来は対象となるビジネスなどの目的に応じて特徴量を作るべき。後々の解釈性も理由だけど、実際その方が予測精度も良かったりする。

欠損値

の処理も、テクニックは普段使わないのも含めていろいろあるのだけど、同じくビジネスなどの目的に応じて方法を選択すべき。あと「欠損値が何割以下なら平均値で補完するけど何割超えたらそもそもデータ項目として信頼性がないから使わない」「欠損値かどうかの0-1を特徴量として使う」とか思い出すだけでも特徴量と欠損値の扱いは実務的に近しい所がある

変数の縮約:主成分分析・因子分析

主成分回帰(PCR)と部分的最小2乗回帰(PLS)みたいな手法としても確立しているので、縮約した変数を特徴量として使う考え方自体は否定しない、というかむしろ有用。

ただ経験の浅い方々が考え方を混同していて違う方向に行く人がいるのは注意してほしいかな、というくらいで。主成分分析や因子分析はどんどん使って使いこなしてほしい。

特徴量の選択

基本は下の記事の通りなのだけど、pythonで実装するのは大変だなーという感想も。Rなら重回帰やロジスティック回帰における変数選択とか既に関数が準備されていて一発で実行できるのに、、、とかR目線で読んでしまう。

意外と知られてないようだけど以下は大事。自称kagglerの初心者が件数が少ないデータ相手に高度な手法や大量の項目を使って四苦八苦してる隣で、むしろデータ項目の数を絞った単純な重回帰で良い結果を出して空気を壊してしまった思い出もあるwwww

他の情報を見たい方は、目次ページへ
仕切り直しで収集情報の整理から|くすぐったがり|note

いいなと思ったら応援しよう!