研究所で働くエンジニアのブログ【入門】Kaggle本でデータ分析の技術を勉強する【第3章】Part2Python2020.01.01『Kaggleで勝つデータ分析の技術』第3章の特徴量の作成について、前回の続きです。Kaggleで勝つデータ分析の技術Kaggleなどのデータ分析コンペでは、実際のデータを扱うため、機械学習の解説書にはあまり載っていないような手法やテクニックが数多く活用されています。これらを理解し自身で使えるようにしておくことはコンペだけでなく、実務でのモデル構築において非常に役に立ちます。特徴量の作り方,バリデーション,パラメータチューニングなどについて,一般的な書籍ではあまり言及されない暗黙知やポイントについて記述しています。GBDTで効果的な変数の組み合わせについての著者の方の意見GBDTは加減よりも乗除の関係性をとらえることが難しいため、加減よりも乗除の特徴量を加えた方が、モデルが反映できていなかった部分を補完しやすいのではないかと思います。周期的な動きがある場合、その周期に従って移動平均をとると、その影響を打ち消すことができる(移動平均:シフトさせて一定期間の平均をとった値)どれくらい過去のデータまで集計すべきかは、データの性質による古い情報を集計し過ぎると直近の状況を表さない平均となってしまう場合もありますし、長期間であまり傾向が変わらないようなデータであれば、長い期間で集計した方が有利な場合もあります。直近の情報に重みを付ける加重移動平均や指数平滑平均を適用する方法もあります。テストデータのレコードの時点ごとに、使える過去の期間が異なる場合、テストデータの期間が分割時点から何期先であるかによって、個別に特徴量やモデルを作るアプローチがあるPCAは各特徴量が正規分布に従っている条件を仮定するため、歪んだ分布を持つ変数に適用するのはあまり適切ではない次元削減の手法は必ずしも全ての変数に適用する必要はない(一部の列のみに適用した方が良い場合もある)疎行列を扱えるなどの理由からか、PCAよりTruncatedSVDの方がよく使われているらしいt-SNEでは非線形な関係をとらえることができるため、元の特徴量にこれらの圧縮結果を加えるだけで精度が大きく向上することがある(最近はt-SNEよりUMAPの方が高速などの理由でよく使われてるらしい)クラスタリングにより分類されたクラスやクラスタ中心からの距離などが特徴量として使えるデータの誤りを修正することでより質が高いデータで学習できる(自然言語を扱うタスクでは、前処理の1つとしてスペリングミスの修正がよく行われる)言わずもがなですが、特徴量は作り方が無限に考えられるので、データをよく眺め、先行研究などの背景知識を使う必要がありますね。実装ラグ特徴量や次元圧縮など、個人的に直近で使いたいものを手元で動かして理解を深めました。GitHub.github.comクラスタリング結果の距離を特徴量に使うなどは、これまで考えたこともなかったので、とても勉強になりました。いった知識が体系的にまとまっているのは、この本の素晴らしいところですね。Kaggleで勝つデータ分析の技術Kaggleなどのデータ分析コンペでは、実際のデータを扱うため、機械学習の解説書にはあまり載っていないような手法やテクニックが数多く活用されています。これらを理解し自身で使えるようにしておくことはコンペだけでなく、実務でのモデル構築において非常に役に立ちます。特徴量の作り方,バリデーション,パラメータチューニングなどについて,一般的な書籍ではあまり言及されない暗黙知やポイントについて記述しています。ICLR2018word2vecやGloVeなどの単語分散表現の精度を向上させる後処理を提案。タイトル通り手法がシンプルで実用的。慣れ親しんだ技術は手放せない印象深かった雑誌記事の抜粋です。ある特定の技術に慣れ親しむと、その技術を手放せなくなる「過剰慣性」(ロックイン)と呼ばれる現象が起こります。practice)』という本を再読しています。今日は、コードの表面上の改善について印象的な内容をメモしておきます。常に「このコ...Python【Python】lambda式を使うときに気をつけたいことみなさま、lambda式はご存知でしょうか。Pythonにおいてlambdaとは無名関数を表現するもので、関数を名前付けされずに定義できる優れものです。今日はPythonで改行されているテキストファイルの1行1行を要素とするリストを作成する方法のメモです。文字列で見ると何の話か分かりにくいので、とりあえず状況を整理します。今日も元気にみどり本です。第3章を終わらせましょう。(所々、はてなのtex記法で書いた数式が正しく変換されず、そのまま文字列が表示されてしまっている箇所がありますがご容赦ください...。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。メーカーの研究所に入所。研究や開発に従事しており、普段はプログラミングをしたり論文を読んだりしています。ブログは趣味の学びのアウトプットです。本ブログが何かのお役に立ちましたら幸いです。研究所で働くエンジニアのブログ.。