ディープラーニングの活発な発展に伴い、業務シナリオで使用するためのディープ ニューラル ネットワークを構築しようとする人がますます増えています。モデルにデータを入力してモデル パラメータを調整するだけで、モデルが独自のメカニズムを使用して重要な機能を選択し、より優れたデータ結果を出力できると彼らは考えています。
実際の作業シナリオでは、データと時間が限られているため、このアプローチはお勧めできません。一方で、大量のデータ入力はモデルのトレーニング サイクルの長期化につながります。他方、現在の市場セグメントでは、すべてのシナリオに大量のデータがあるわけではなく、大量のデータから重要な機能を見つけることが急務となっています。 この記事では、データサイエンスの分野で働きたい人なら誰でも知っておくべき特徴量を選択するための 3 つの方法を紹介します。この記事は次のように構成されています。
データセットの読み込みと準備 導入のために、Scikit-Learn に組み込まれている「load_breast_cancer」データセットを使用します。 次のコード スニペットは、ライブラリをインポートしてデータセットをロードする方法を示しています。
結果を出力するために次のコードを呼び出します。
上記のデータには、30 個の特徴変数と 1 つのターゲット変数があります。すべての値は数値であり、欠損値はありません。スケーリングの問題を解決する前に、トレーニングとテストの分割も実行する必要があります。
方法1: 係数から特徴量の重要度を取得する 特徴の重要性を確認する最も簡単な方法は、モデルの係数を調べることです。たとえば、線形回帰とロジスティック回帰はどちらも、各入力値に係数 (重要度) が割り当てられる方程式になります。 簡単に言えば、割り当てられた係数が大きい(負または正)数値である場合、予測に何らかの影響を及ぼします。逆に、係数がゼロの場合、予測には影響しません。 ロジックは非常に単純なので、テストしてロジスティック回帰が適切なアルゴリズムであるかどうかを確認しましょう。モデルを適合した後、係数は属性 coef_ に保存されます。
対応する視覚化は次のとおりです。 この方法の最大の特徴は、「シンプル」かつ「効率的」であることです。係数(正方向と負方向)が大きいほど、予測効果への影響が大きくなります。 方法2: ツリーモデルから重要度を取得する 任意の Tree モデルをトレーニングした後、feature_importances 属性にアクセスできるようになります。これは、作業機能の重要性を把握する最も簡単な方法の 1 つです。 次のコードは、モデルをインポートしてトレーニング データにモデルを適合させる方法と、重要度を取得する方法を示しています。
対応する視覚化を以下に示します。 方法3: PCAスコアから特徴の重要度を取得する 主成分分析 (PCA) は、特徴の重要性を判断するためにも使用できる優れた次元削減手法です。 PCA は、前の 2 つの手法のように最も重要な特徴を直接表示しません。代わりに、N 個の主成分を返します。ここで、N は元の特徴の数に等しくなります。
しかし、これは何を意味するのでしょうか? これは、最初の 5 つの主成分を使用して、ソース データセットの分散の 90% を説明できることを意味します。繰り返しますが、これが何を意味するのかわからない場合は、読み続けてください。
最初の主要コンポーネントが重要です。これは単なる 1 つの要因ですが、データセット内の分散の 60% 以上を説明します。上の図からわかるように、平均半径特徴との相関係数は 0.8 に近く、強い正の相関関係があると考えられます。 すべての入力特徴と第 1 主成分間の相関を視覚化してみましょう。以下にコード スニペット全体 (視覚化を含む) を示します。
これは、PCA を「ハック」し、それを特徴の重要度の方法として使用する方法です。 結論は 上記は、シナリオに応じて柔軟に適用できる機械学習の特徴重要度の 3 つの方法をまとめたものです。機械学習に興味がある方はフォローしてください。 |
<<: サーバーレス コンピューティングによる機械学習の解決策は何でしょうか?
最近、Microsoft は、Microsoft AI プラットフォームを使用してインテリジェントな...
数え切れないほど多くの企業が、意思決定を支援するために機械学習 (ML) を日常的に使用しています。...
1新しいインテリジェンス集出典: arXiv、Github張毅編纂[新しいインテリジェンスの紹介]自...
過去2023年間で、大規模言語モデル(LLM)は潜在力と複雑さの両面で急速に成長しました。 2024...
オリンピック数学を勉強したことがない彼に、システム アーキテクトになれるかと誰かが尋ねました。他にも...
これまで、多くの独創的なコンピュータ アルゴリズムの設計が私たちのコンピューティング技術を変えてきま...
人工知能の概念は長年提唱されてきたが、最近の流行は「人間対機械」の競争で囲碁の世界的名人、イ・セドル...
バッチ正規化は、確かにディープラーニングの分野における大きな進歩の 1 つであり、近年研究者によって...
無人運転車による配達に続き、ドローンによる食品配達も現実化に向かって加速している。先日終了した202...
[[229949]]若い観客が自動運転車「ファントム」を体験[[229950]] [[229951]...
まずは二分木についてお話しましょう。二分木は、各ポイントが 2 つのポイントに接続されているツリー構...
AIチップはクラウドとエッジに分かれています。クラウドチップは高いパフォーマンスが求められますが、...
[[252207]] [51CTO.com クイック翻訳] Juliaは2018年に登場し、現在最...