ジニ不純度: 決定木の構築にジニ不純度をどのように活用するか?

ジニ不純度: 決定木の構築にジニ不純度をどのように活用するか?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。

決定木は、機械学習で使用される最も人気があり強力な分類アルゴリズムの 1 つです。名前が示すように、決定木は特定のデータ セットに基づいて決定を下すために使用されます。つまり、適切な特徴を選択して、人間の思考の流れに似たサブパーツにツリーを分割するのに役立ちます。

決定木を効率的に構築するために、エントロピー/情報ゲインとジニ不純度の概念を使用します。ジニ不純度とは何か、そしてそれが決定木の構築にどのように使用できるかを見てみましょう。

[[375443]]

ジニ純度とは何ですか?

ジニ不純度は、ルート ノードと後続の分割に最適な分割を決定するために決定木アルゴリズムで使用される方法です。これは、決定木を分割する最も一般的かつ最も簡単な方法です。バイナリ分割のみを実行するため、カテゴリ ターゲットにのみ適しています。

ジニ不純度の式は次のとおりです。


ジニ不純度が低いほど、ノードは均質になります。純粋なノード (同じクラス) のジニ不純度は 0 です。ジニ不純度を計算するための例としてデータ セットを取り上げます。

データ セットには、男子 8 名と女子 10 名の計 18 名の生徒が含まれています。パフォーマンスに応じて次のように分類されます。


上記のジニ不純度の計算は次のとおりです。


上記の計算では、分割(ルートノード)の加重ジニ不純度を見つけるために、子ノードの学生の確率を使用しました。 「平均以上」ノードと「平均以下」ノードの場合、各ノードの男子生徒と女子生徒の数はクラスでの成績に応じて異なりますが、2 つの子ノードの生徒数は等しいため、確率は 9/18 のみです。

ジニ不純度を使用して決定木を分割する手順は次のとおりです。

  • エントロピー/情報ゲインで行われることと同様です。各分割ごとに、子ノードごとにジニ不純度が個別に計算されます。
  • 各分割のジニ不純度は、子ノードの加重平均ジニ不純度として計算されます。
  • ジニ不純度値が最も低い分割を選択します。
  • 同じタイプのノードが得られるまで、手順 1 ~ 3 を繰り返します。

ジニ不純度の要約:

  • ルート ノード、中間ノード、およびリーフ ノードを見つけて、決定木を作成するのに役立ちます。
  • 分類ツリーの CART (分類および回帰ツリー) アルゴリズムによって使用されます。
  • ノード内のすべてのケースが 1 つの目標に属する場合、最小値 (ゼロ) に達します。

要約すると、ジニ不純度は、より単純であり、計算コストが高く難しい対数を使用しないため、エントロピー/情報ゲインよりも好まれます。

<<:  機械学習の博士課程での私の経験から得た洞察

>>:  海運業界は人工知能を活用して海賊行為と戦うことができる

ブログ    
ブログ    
ブログ    

推薦する

...

...

AI時代の企業の変革とイノベーション

人工知能は、私たちの生活、仕事、学習に影響を与えるだけでなく、企業の運営、戦略、組織にも影響を与える...

2018年、中国とアメリカのインターネット大手によるAIチップ戦争で、BATはFANGに挑戦できるのか?

AI時代に注目すべき新たな変化は、テクノロジー大手がAIチップを独自に開発し始めたことだ。これは一...

600以上のベーキングレシピを分析し、機械学習を使用して新製品を開発しました

焼き菓子は、世界中のさまざまな料理の中で常に重要な位置を占めてきました。柔らかいパン、繊細なケーキ、...

...

Googleが独自のAIチップを開発することを選択した6つの理由

[51CTO.com クイック翻訳] 長い間、Google などのクラウドベンダーは、自社のデータセ...

役立つ情報 | 115 行のコードで数独パーサーを作成する方法を段階的に説明します。

あなたも数独愛好家ですか? Aakash Jhawar さんは、多くの人と同じように、新しい困難な課...

GPT-4V は惨めに失敗しました! CVマスター謝彩寧氏の新作:V*の重量級「視覚検索」アルゴリズムにより、LLMの理解力が人間に近づく

サム・アルトマン氏は最近、世界経済フォーラムで講演し、人間レベルの AI が間もなく登場すると述べま...

...

...

検索アルゴリズムはあなたの指先にあります: GitHubには最大のオープンソースアルゴリズムライブラリがあります

[[433085]]アルゴリズムは本質的に、1 つ以上の入力を受け入れ、内部計算とデータ操作を実行...