プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

エントロピーベースの離散化とは何ですか?


エントロピーベースの離散化は、監視されたトップダウン分割アプローチです。分割点(属性範囲を分離するためのデータ値)の計算と保存において、クラス分布データを調査します。統計属性Aを離散化できます。この方法では、最小のエントロピーを持つAの値を分割点として選択し、結果の間隔を再帰的に分割して、階層的な離散化で表示します。

特定の離散化により、Aの概念階層が形成されます。Dには、属性のグループとクラスラベル属性によって記述されたデータタプルが含まれます。 class-label属性は、タプルごとのクラスデータをサポートします。セット内の属性Aのエントロピーベースの離散化の基本的なアプローチは次のとおりです-

Aの各値は、Aの領域を分割するための潜在的な間隔境界または分割点(分割点で示される)として扱うことができます。つまり、Aの分割点は、Dのタプルを条件Aを満たす2つのサブセットに分割できます。 ≤分割点とA>分割点。これにより、バイナリ離散化が行われます。

エントロピーベースの離散化は、タプルのクラスラベルに関するデータを使用します。エントロピーベースの離散化に続く直感を定義できます。分類を垣間見る必要があります。属性Aといくつかの分割点でパーティション化することにより、Dのタプルを定義する必要があるとします。

たとえば、2つのクラスがある場合、たとえば、クラスC1の一部のタプルが一方のパーティションに減少し、クラスC2の一部のタプルがもう一方のパーティションに減少することを期待できます。しかし、これはありそうにありません。たとえば、最初のパーティションには、C1のタプルをいくつか含めることができますが、C2のタプルも含めることができます。この量は、Aによるパーティショニングに基づいてDでタプルを定義するための予想データ要件として知られています。これは、

によって与えられます。

$$ \ mathrm {Info_A(D)\:=\:\ frac {\ mid \:D_1 \:\ mid} {\ mid \:D \:\ mid} Entrophy(D_1)\:+ \:\ frac { \ mid \:D_2 \:\ mid} {\ mid \:D \:\ mid} Entrophy(D_2)} $$

ここで、D 1 およびD2 条件A≤スプリットポイントおよびA>スプリットポイントを更新するDのタプルに対応します。 | D |はDなどのタプルの数です。特定のセットのエントロピーサービスは、セット内のタプルのクラス分布に基づいて計算されます。

たとえば、m個のクラスC1、C2 ... Cmが与えられた場合、D1のエントロピーは

$$ \ mathrm {Entrophy(D_1)} \:=\:-\ displaystyle \ sum \ Limits_ {i =1} ^ m P_i {\ log_ {2}(P_i)} $$

分割点を決定するフェーズは、取得した各パーティションに対して再帰的に使用されます。これには、すべての学生分割点の最小データ要件が小さなしきい値ε未満の場合や、倍数が高い場合など、停止基準が満たされるまで使用されます。しきい値よりも、max_interval。


  1. Pythonではタプルとは何ですか?

    通常、タプルオブジェクトは、カンマ区切りのフィールド値を括弧で囲んでデータ構造を定義するために使用されます。各フィールドの値は、タプルのインデックスによって識別されます。 >>> student=(1,"Ravi",23, 546) >>> rollno=student[0] >>> name=student[1] >>> age=student[2] >>> marks=student[3] >>> print (rollno, name, age, marks)

  2. Pythonタプルを作成するための正しい構文は何ですか?

    Pythonでは、タプルオブジェクトは不変のアイテムのコレクションであり、必ずしも同じタイプである必要はありません。項目はコンマで区切られ、括弧内に配置されますが、オプションです。 >>> T1 = (1,one,3.45,[1,2,3]) >>> T2 = 1,2,3,4 空のタプルオブジェクトは、括弧内に何も含まずに作成されます >>> T3 = () >>> T3 () タプルに含めるアイテムが1つだけの場合は、その後ろに追加のコンマが配置されます。 >>> T4 = 10, >