JP2005208709A - データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム - Google Patents
データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2005208709A JP2005208709A JP2004011450A JP2004011450A JP2005208709A JP 2005208709 A JP2005208709 A JP 2005208709A JP 2004011450 A JP2004011450 A JP 2004011450A JP 2004011450 A JP2004011450 A JP 2004011450A JP 2005208709 A JP2005208709 A JP 2005208709A
- Authority
- JP
- Japan
- Prior art keywords
- classification
- data
- classification tree
- attribute
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 分類精度の高い分類木の生成を効率的に実行することを可能とした装置および方法を提供する。
【解決手段】 分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する。本構成により、例えば分割数の大きい属性の除去による分類精度の向上が図られ、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
【選択図】 図1
【解決手段】 分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する。本構成により、例えば分割数の大きい属性の除去による分類精度の向上が図られ、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
【選択図】 図1
Description
本発明は、帰納学習によってデータにより多数の情報レコードの分類のための分類木を作成する手法に関する。特に、複数の属性を持つ未知のレコードに対する分類精度を高めた分類木作成を可能としたデータ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラムに関する。
大量の情報が流通している情報産業界では、効率的で精度の高いデータの分類方法や装置が求められている。中でも、多数のレコードの分類のための分類木を作成する分類器を用いたデータ分類法は、分類木がユーザにとって理解しやすく、ユーザのフィードバックによるさらなる精度の向上が望めるという理由で、文書の分類、医療診断、与信審査、マーケティング等の広範囲の分野で使用されている。
データ分類処理を行なう1つの手法である帰納学習法では、与えられた多くの事例からその事例間に成立する因果関係又は一般法則を生成する。知識獲得における帰納学習法では、事例を属性及びクラス(結果属性)で表現し、観測属性値からクラスを推定するルールを生成する。ルールの生成手法の代表的手法として分割統治(divide−and−conquer)法が知られている。
分割統治(divide−and−conquer)法の代表的なアルゴリズムには、ID3,C4.5, CART, ASSISTANT等がある。これらはルールとして分類木を出力する。
分割統治法のアルゴリズムの概要について説明する。アルゴリズムは以下の通りである。
(1)分類木を設定し、木のノード(分岐点)に事例を割り当てる。なお、初期的には、分類木はルート(頂点ノード)のみからなる。
(2)
(2−1)分類木のあるノードに設定した複数の事例が同じクラスに属するなら、そのノードはそのクラスでラベル付けされる。
(2−2)分類木のあるノードに設定した複数の事例が異なるクラスを含むなら、
(2−2−1)よい分類に適した属性を決定し、
(2−2−2)その属性値により事例を分類して、そのノードの子供のノードに割り当てる
(2−2−3)子供のノードについて(2)を繰り返し実行する。
(1)分類木を設定し、木のノード(分岐点)に事例を割り当てる。なお、初期的には、分類木はルート(頂点ノード)のみからなる。
(2)
(2−1)分類木のあるノードに設定した複数の事例が同じクラスに属するなら、そのノードはそのクラスでラベル付けされる。
(2−2)分類木のあるノードに設定した複数の事例が異なるクラスを含むなら、
(2−2−1)よい分類に適した属性を決定し、
(2−2−2)その属性値により事例を分類して、そのノードの子供のノードに割り当てる
(2−2−3)子供のノードについて(2)を繰り返し実行する。
分割統治法の代表的なアルゴリズムであるID3では、分類に適した属性を決定する際、例えば、上述のステップ(2−2−1)における分類属性決定処理において、情報エントロピーを利用した属性決定処理を行なっている。ID3では分類木を求める際に、事例数から求められる情報エントロピー(情報量の期待値)を効率の指標とする。分類木上の点での分岐属性は、ある属性による分岐前後の情報エントロピーの差(獲得情報量)を最大とする属性を選択することで求める。
なお、分割統治法アルゴリズムとしてのID3、C4.5については、例えば、非特許文献1、特許文献1に記載されている。特許文献1に記載の例を用いて、分割統治法アルゴリズムとしてのID3に基づく分類木生成処理の概要について説明する。
例えば、図14に示されるレコード(C)30を分類する場合を考える。この図14に示されるように、レコード(C)30においては、レコード(C)30に属する対象(この場合は人)の背丈、髪の色、目の色、という属性、及び好き[+]、嫌い[−]という分類クラスがあるものとする。この母集団:レコード(C)30を属性に基づいて、好き[+]、嫌い[−]のクラスに分類する。
このクラス分類を実行する方法には様々な方法がある。すなわち、属性:背丈、髪の色、目の色をどのように選択して、レコード(C)30の分類を行なうかについては複数の手法が存在する。例えば最初に髪の色でレコード(C)30を分類し、次に目の色、背丈で分類する方法や、最初に背丈で分類し、次に髪の色、目の色で分類する方法等が考えられる。
レコード(C)30を最初に髪の色で分類し、次に目の色の順で分類すると、その結果は図15のような木構造として示される。
この場合、髪の色が黒色の集合(C1)31においては、どの要素も[−]のクラスに属しているので、これ以上分類する必要はない。このように、すべての要素が同じクラスに属する場合、その集合を葉ノードと呼び、そのエントロピーは0となる。
髪の色が赤色の集合(C2)32においても[+]のクラスしかないので、これ以上分類しないでよい。このように、適当な属性によって母集合をすべて葉ノードである部分集合に分類すると、分類が終了したことになる。
また、髪の色がブロンドの集合(C3)33においては、次の分類を目の色の属性により行って集合34(目の色:茶)、集合35(目の色:青)に分けると、集合34は[−]のクラスのみ、集合35は[+]のクラスのみの集合になる。
このように、レコード(C)30を最初に髪の色で分類し、次に目の色の順で分類すると、すべての要素が同じクラスに属する葉ノードである部分集合に分類することが可能となり、分類が終了する。
これに対し、レコード(C)30を最初に背丈で分類し、次に髪の色、目の色で分類すると、分類結果は図16と図17に示す分類木となる。
先に説明した図15に示す分類木では、
ステップ1:髪の色で分類
ステップ2:髪の色[ブロンド]の集合を目の色で分類
上記2つのステップの分類によって母集合をすべて葉ノードである部分集合、すなわちクラス(+)またはクラス(−)のみからなる部分集合に分類できた。
ステップ1:髪の色で分類
ステップ2:髪の色[ブロンド]の集合を目の色で分類
上記2つのステップの分類によって母集合をすべて葉ノードである部分集合、すなわちクラス(+)またはクラス(−)のみからなる部分集合に分類できた。
しかし、図16と図17に示す分類木では、
ステップ1:背丈で分類
ステップ2:背丈[高い]の集合を髪の色で分類
ステップ3:背丈[高い]&髪の色[ブロンド]の集合を目の色で分類
ステップ5:背丈[低い]の集合を髪の色で分類
ステップ5:背丈[低い]&髪の色[ブロンド]の集合を目の色で分類
上記5つのステップの分類処理を行なうことが、母集合をすべて葉ノードである部分集合、すなわちクラス(+)またはクラス(−)のみからなる部分集合を生成するために必要となっている。
ステップ1:背丈で分類
ステップ2:背丈[高い]の集合を髪の色で分類
ステップ3:背丈[高い]&髪の色[ブロンド]の集合を目の色で分類
ステップ5:背丈[低い]の集合を髪の色で分類
ステップ5:背丈[低い]&髪の色[ブロンド]の集合を目の色で分類
上記5つのステップの分類処理を行なうことが、母集合をすべて葉ノードである部分集合、すなわちクラス(+)またはクラス(−)のみからなる部分集合を生成するために必要となっている。
このように、図16と図17に示す分類木生成、すなわち、同一のレコード(C)30を対象とした分類を行なう場合であっても、最初に背丈で分類し、次に髪の色、目の色で分類すると好き(+)又は嫌い(−)のみの部分集合に分類するには分類回数を非常に多くする必要があることがわかる。
このように、母集団を分類する際にはどの属性から分類するかによって分類木の木構造が単純にも複雑にもなる。有用な属性を選択し、最終的にできる分類木をいかに単純な構成とするかが、母集団の効率的な分類処理を実現することになる。
ID3においては最小の分類木が得られるような属性選択にたいして情報理論的なアプローチをとっており、ある対象を分類するときのテスト回数の期待値を最小にすることを狙っている。
分類木は、分類対象としての母集団が与えられたときに、その対象がどのクラス(上記例においては+と−)に属しているかの情報(メッセージ)を提示するための情報源であると考えることができる。ID3の属性選択の処理部分は、分類木の複雑さがこのメッセージによってもたらされる情報量と密接に関連している、とする仮定に基づいて属性選択を行う。
具体的には、例えば上述した図14〜図16に示す母集団としてのレコード(C)30において、レコード(C)30中の対象が[+]のクラスに属している確率(この場合は相対頻度)を[p+]、[−]のクラスに属する確率を[p−]としてこの情報量の期待値(エントロピー)M(C)を下式のように表す。
M(C)=−(p+)×log2(p+)−(p−)×log2(p−)
・・・・・(式1)
・・・・・(式1)
なお、レコード(C)30が空集合の場合はM(C)=0とする。
上記定義によれば、レコード(C)30に含まれる8種の要素のうち、+に属するのは3種、−に属するのは5種なので、上式において、
(p+)=3/8、
(p−)=5/8
となり、
M(C)=−(3/8)×log2(3/8)−(5/8)×log2(5/8)
=0.954(ビット)
・・・・・(式2)
となる。
上記定義によれば、レコード(C)30に含まれる8種の要素のうち、+に属するのは3種、−に属するのは5種なので、上式において、
(p+)=3/8、
(p−)=5/8
となり、
M(C)=−(3/8)×log2(3/8)−(5/8)×log2(5/8)
=0.954(ビット)
・・・・・(式2)
となる。
次に、上記処理を一般化した例として説明する。
Aという属性によりレコードCをn個の互いに素な部分集合C1、C2、…Cnに分類を行った後の情報量について評価を行う。この新規の情報量の期待値をB(C,A)とおくと、B(C,A)は以下のように定義される。尚、Σ(シグマ)はi=1〜nの総和を表すものとする。
Aという属性によりレコードCをn個の互いに素な部分集合C1、C2、…Cnに分類を行った後の情報量について評価を行う。この新規の情報量の期待値をB(C,A)とおくと、B(C,A)は以下のように定義される。尚、Σ(シグマ)はi=1〜nの総和を表すものとする。
B(C,A)=Σ(Cの要素がCiに分類される確率)×M(Ci)
・・・・・(式3)
となる。
・・・・・(式3)
となる。
具体的には、図16に示す例においては、属性[背丈]によりレコードCを分類しており、属性[背丈]=高いと分類される確率は5/8、属性[背丈]=低いと分類される確率は3/8である。
また、背が高いという部分集合C'1における情報量期待値M(C'1)、及び背が低いという部分集合C'2における情報量期待値M(C'2)は、それぞれ下式のように表される。
M(C'1)=−(2/5)×log2(2/5)−(3/5)×log2(3/5)
=0.971(ビット)
・・・・・(式4)
M(C'2)=−(1/3)×log2(1/3)−(2/3)×log2(2/3)
=0.918(ビット)
・・・・・(式5)
=0.971(ビット)
・・・・・(式4)
M(C'2)=−(1/3)×log2(1/3)−(2/3)×log2(2/3)
=0.918(ビット)
・・・・・(式5)
従って、情報量の期待値B(C,背丈)は下式のように表される。
B(C,背丈)=(5/8)×M(C'1)+(3/8)×M(C'2)
=(5/8)×0.971+(3/8)×0.918
=0.951(ビット)
・・・・・(式6)
B(C,背丈)=(5/8)×M(C'1)+(3/8)×M(C'2)
=(5/8)×0.971+(3/8)×0.918
=0.951(ビット)
・・・・・(式6)
上記のように、集合Cの情報量M(C)は0.954(ビット)、属性を背丈として分類を行った後の情報量B(C,背丈)は0.951(ビット)である。従って背丈で分類を行って得られる情報量は、0.954−0.951=0.003(ビット)となり、この属性による分類では殆ど情報が得られていないことがわかる。
これに対し、図15に示されるように髪の色の属性にて集合Cを分類すると、上記計算と同様にしてB(C,髪の色)は以下のように計算される。
M(C1)=−(3/3)×log2(3/3)−0=0
M(C2)=−(1/1)×log2(1/1)−0=0
M(C3)=−(2/4)×log2(2/4)−(2/4)×log2(2/4)
=(1/2)+(1/2)=1
B(C,髪の色)=(3/8)×0+(1/8)×0+(4/8)×1
=0.5
・・・・・(式7)
M(C2)=−(1/1)×log2(1/1)−0=0
M(C3)=−(2/4)×log2(2/4)−(2/4)×log2(2/4)
=(1/2)+(1/2)=1
B(C,髪の色)=(3/8)×0+(1/8)×0+(4/8)×1
=0.5
・・・・・(式7)
上記のように、髪の色で集合Cを分類して得られる情報量は、
0.954−0.5=0.454(ビット)
となり、背丈でCを分類した場合に比べて非常に大きな情報量が得られることがわかる。
0.954−0.5=0.454(ビット)
となり、背丈でCを分類した場合に比べて非常に大きな情報量が得られることがわかる。
さらに、同様にして目の色により得られる情報量を計算するとその結果は0.347(ビット)となる。これらの結果より、集合Cを分類する場合には、まず髪の色の属性にて分類を行うと、多くの情報が得られることがわかる。
このように、ID3においてはn種の属性(X1,X2,・・・,Xn)を有する母集合を分類するには、母集合の情報量をM(C)、属性Xiにより分類を行って得られる情報量期待値をB(C,Xi)として下式の値を最も大きくする属性を選択して分類を行う。
M(C)−B(C,Xi)
・・・・・(式8)
M(C)−B(C,Xi)
・・・・・(式8)
順次、異なる属性を適用して分類を行う場合は、上記と同様に得られる情報量が最も大きい属性を選択し、その属性によって分類を行う。
先に説明した図15に示す分類木は母集合としてのレコード(C)30をID3を用いて分類したものであり、前述の様に最初に分類を行う属性として髪の色を選択し、2回目の分類は属性として目の色を選択して分類を行っている。
また、図16、図17に示す分類木は、最初の分類の属性として背丈を選択し、次に髪の色、目の色によって分類を行った例を示している。
このような2つの分類木生成手法を比較することで、ID3を適用することにより、母集合としてのレコード(C)30集合Cの分類が効率的になされることがわかる。
ID3アルゴリズムは、このようにして作成された分類木が、分類木作成時に用いられたレコード以外のレコード(未知レコード)の分類クラスも正確に予測できるという仮定に基づいている。しかし、多くの場合にこの仮定は成り立たず、ID3アルゴリズムには改善の余地が残されていることが知られている。
たとえば、レコードが分割数の多い属性を持つ場合には、この仮定が成立しないことが多い。ID3アルゴリズムは、分割数の多い属性を優先して選択する傾向がある一方、このような属性を用いた分類木は、未知レコードを正確に分類できないことが多いためである。
たとえば、レコード番号は、すべてのレコードを別々の部分集合に分割する。このレコード番号を分類の属性として選択すると、分割による情報量が最大になるため、ID3アルゴリズムはこの属性を最初に選択して分類木の作成を完了する。しかし、この分類木は未知レコードの分類には役立たない。新たなレコードには、新たなレコード番号が割り振られるからである。
C4.5アルゴリズムは、この問題の解決策を含むアルゴリズムである。このアルゴリズムでは、分類を行う属性選択時の指標として、情報利得(属性でレコード集合を分類して得られる情報量)の代わりに下記の情報利得比を用いる。
(情報利得比)=(情報利得)/(分割情報量)
(分割情報量)=−Σ(#Ci/#C)×log2(#Ci/#C)
ただし、#Ciと#Cは、それぞれCiとCの要素数である。
(情報利得比)=(情報利得)/(分割情報量)
(分割情報量)=−Σ(#Ci/#C)×log2(#Ci/#C)
ただし、#Ciと#Cは、それぞれCiとCの要素数である。
情報利得比は、属性による分割数で情報利得を正規化したものである。属性による分割数が大きくなるほどその分割情報量も大きくなるので、分割数の多い属性による情報利得比は、情報利得ほどは大きくならず、結果的にそのような属性が選択されにくくなる。
C4.5アルゴリズムは、代表的な分類木作成アルゴリズムとして広く用いられているが、分割数の多い属性による影響をさらに抑えるための手法が提案されている。
たとえば、特許文献1には、有意水準と呼ばれる数値をあらかじめ設定しておく方法が示されている。ID3アルゴリズムにおいて、ある属性による分割後の集合の要素数がこの有意水準より小さい場合はその属性を選択しないようにして、分割数の多い属性による影響を抑えている。
JR キンラン著、古川康一監訳、AIによるデータ解析、トッパン、1995 特開平6−44206号公報
JR キンラン著、古川康一監訳、AIによるデータ解析、トッパン、1995
しかし、上述した、C4.5アルゴリズムを適用した分類木生成処理、あるいは、特許文献1の手法のいずれも、未知データの正確な分類を効率的に行なう点では問題がある。
たとえば、C4.5アルゴリズムで分類木を作成すると、葉ノードに近いノードでは利用できる属性が限られてくるので、分割数の大きい属性が選択されてしまうことがある。
また、特許文献1に示された手法では、有意水準があらかじめ決定されていることが前提となるが、この有意水準の決定処理をいかに行なうかが問題である。特許文献1には、この有意水準の決定方法は示されていない。
この有意水準の決定には、レコードの属性値に関する十分な知識が事前に必要となるが、多くの場合、分析者がそのような知識を持つことは少ない。
本発明はこのような問題点に鑑みてなされたものであり、複数の属性を持つレコードを分類する分類木の精度、特にレコードの属性値に関する十分な知識を持たない未知のレコードに対する分類精度を高めることを可能とするデータ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成部と、前記入力データ作成部の生成する属性情報データに基づく分類木を生成する分類木作成部と、前記分類木作成部の生成した分類木の分類精度を測定する分類精度測定部と、前記分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定部とを有し、前記除外対象属性決定部における除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成部における入力データ生成処理と、前記分類木作成部における分類木生成処理と、前記分類精度測定部における分類精度測定処理とを繰り返し実行し、該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成を有することを特徴とするデータ分類処理装置にある。
本構成によれば、分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成としたので、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
さらに、本発明のデータ分類処理装置の一実施態様において、前記分類木作成部は、分類処理対象データから選択された学習用データに基づいて分類木を生成する構成であり、前記分類精度測定部は、前記学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定する構成であることを特徴とする。
本構成によれば、学習用データに基づいて分類木を生成し、学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定する構成としたので、分類処理対象データに基づく精度の高い分類精度測定が実現される。
さらに、本発明のデータ分類処理装置の一実施態様において、前記分類木作成部は、分類木作成処理プログラムに設定するパラメータC(枝刈りCF値)を順次変更した複数の分類木の生成処理を実行する構成であり、前記類精度測定部は、前記分類木作成部の作成した異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に該分類木の情報を前記除外対象属性決定部に出力する構成であり、前記除外対象属性決定部は、前記分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する処理を実行する構成であることを特徴とする。
本構成によれば、分類木作成処理プログラムに設定するパラメータを変更した複数の分類木を生成して、異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に分類木の情報を除外対象属性決定部に出力して、除外属性を決定する処理を行なう構成であるので、分類精度の高い分類木の集合を生成し、該集合から、さらに分類精度の高い分類木を選択することが可能となる。
さらに、本発明のデータ分類処理装置の一実施態様において、前記除外対象属性決定部は、前記分類木作成部の生成した分類木の非葉構成ノードから、比較分割情報量が最大のノードを選択し、該選択ノードの子ノード作成時の適用属性を除外対象属性として決定する処理を実行する構成であることを特徴とする。
本構成によれば、除外対象属性決定部において、分類木作成部の生成した分類木の非葉構成ノードから、比較分割情報量が最大のノードを選択して、そのノードの子ノード作成時の適用属性を除外対象属性として決定する構成としたので、分類精度向上に対する寄与度の低い属性を正確に選択することが可能となる。
さらに、本発明の第2の側面は、分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成ステップと、前記入力データ作成ステップにおいて生成する属性情報データに基づく分類木を生成する分類木作成ステップと、前記分類木作成ステップにおいて生成した分類木の分類精度を測定する分類精度測定ステップと、前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定ステップとを有し、前記除外対象属性決定ステップにおける除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成ステップにおける入力データ生成処理と、前記分類木作成ステップにおける分類木生成処理と、前記分類精度測定ステップにおける分類精度測定処理とを繰り返し実行し、該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力するステップと、を有することを特徴とするデータ分類処理方法にある。
本構成によれば、分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成としたので、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
さらに、本発明のデータ分類処理方法の一実施態様において、前記分類木作成ステップは、分類処理対象データから選択された学習用データに基づいて分類木を生成するステップであり、前記分類精度測定ステップは、前記学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定するステップであることを特徴とする。
本構成によれば、学習用データに基づいて分類木を生成し、学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定する構成としたので、分類処理対象データに基づく精度の高い分類精度測定が実現される。
さらに、本発明のデータ分類処理方法の一実施態様において、前記分類木作成ステップは、分類木作成処理プログラムに設定するパラメータC(枝刈りCF値)を順次変更した複数の分類木の生成処理を実行するステップであり、前記類精度測定ステップは、前記分類木作成ステップにおいて作成した異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に該分類木の情報を前記除外対象属性決定部に出力するステップを含み、前記除外対象属性決定ステップは、前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する処理を実行するステップであることを特徴とする。
本構成によれば、分類木作成処理プログラムに設定するパラメータを変更した複数の分類木を生成して、異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に分類木の情報を除外対象属性決定部に出力して、除外属性を決定する処理を行なう構成であるので、分類精度の高い分類木の集合を生成し、該集合から、さらに分類精度の高い分類木を選択することが可能となる。
さらに、本発明のデータ分類処理方法の一実施態様において、前記除外対象属性決定ステップは、前記分類木作成ステップにおいて生成した分類木の非葉構成ノードから、比較分割情報量が最大のノードを選択し、該選択ノードの子ノード作成時の適用属性を除外対象属性として決定する処理を実行するステップであることを特徴とする。
本構成によれば、除外対象属性決定部において、分類木作成部の生成した分類木の非葉構成ノードから、比較分割情報量が最大のノードを選択して、そのノードの子ノード作成時の適用属性を除外対象属性として決定する構成としたので、分類精度向上に対する寄与度の低い属性を正確に選択することが可能となる。
さらに、本発明の第3の側面は、
分類木の生成処理を実行するコンピュータ・プログラムであり、
分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成ステップと、
前記入力データ作成ステップにおいて生成する属性情報データに基づく分類木を生成する分類木作成ステップと、
前記分類木作成ステップにおいて生成した分類木の分類精度を測定する分類精度測定ステップと、
前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定ステップとを有し、
前記除外対象属性決定ステップにおける除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成ステップにおける入力データ生成処理と、前記分類木作成ステップにおける分類木生成処理と、前記分類精度測定ステップにおける分類精度測定処理とを繰り返し実行し、
該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
分類木の生成処理を実行するコンピュータ・プログラムであり、
分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成ステップと、
前記入力データ作成ステップにおいて生成する属性情報データに基づく分類木を生成する分類木作成ステップと、
前記分類木作成ステップにおいて生成した分類木の分類精度を測定する分類精度測定ステップと、
前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定ステップとを有し、
前記除外対象属性決定ステップにおける除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成ステップにおける入力データ生成処理と、前記分類木作成ステップにおける分類木生成処理と、前記分類精度測定ステップにおける分類精度測定処理とを繰り返し実行し、
該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
本構成によれば、分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成としたので、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータシステムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータシステム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成としたので、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
本発明の構成によれば、従来の分類木生成アルゴリズムC4.5を適用した場合の問題、すなわち、分類木の葉ノード近くで分割数の大きい属性が選択されてしまうと、未知レコードに対する分類精度が低下してしまうといった問題を解決することができる。すなわち、本発明の構成においては、分類の寄与度の低い属性を除外して分類木を再作成し、さらに分類精度を測定し、より分類精度の高い分類木を生成する構成であるので、分類精度の低下を防止することができる。また、前述した特許文献1(特開平6−44206号公報)に記載の手法のように、事前に有意水準を決定する必要もなく、効率的な分類精度の高い分類木生成が可能となる。
以下、図面を参照しながら本発明のデータ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラムの詳細について説明する。
図1は本発明のデータ分類処理装置としてのデータマイニングシステム100の構成図である。図1に示すように、データ分類処理装置(データマイニングシステム)100は、データベース101、入力データ作成部102、分類木作成・分類精度測定部103、および、除外対象属性決定部104から構成される。本発明のデータ分類処理装置としてのデータマイニングシステム100は、データベース101に格納されたデータを対象としてデータ分類処理を実行し分類木150を生成して出力する。
データベース101は、入力データ作成部102に入力するデータを保持する。このデータベース101は、一般的な関係データベースやファイルシステムとして実現可能である。
図2に、入力データ作成部102に入力されるデータ、すなわち、データベース101に保持されるデータの例を示す。
図2に示すように、データベース中のデータは、各列を属性とし、各行をレコードとする表形式データとして表現されている。各レコードは、属性a1から属性classまで、合計32の属性を持つ。また、図2では3つのレコードのみを示しているが、本実施例では、一例として7,072のレコードが入力データ作成部102に入力されるものとする。
入力データ作成部102は、データベース101から学習対象のデータを読み込み、分類木作成・分類精度測定部103に対する入力データへの変換処理を実行する。
入力データ作成部102は、この処理において、除外対象属性決定部104から除外対象の属性が出力されている場合は、その属性を除外して入力データを作成する。入力データ作成部102は、perlやJavaなどの一般的なプログラミング言語によるプログラムの実行部として実現される。
図3に、入力データ作成部102が、データベース101の格納データ(例えば図2参照)に基づいて、perlやJavaなどの一般的なプログラミング言語によるプログラムを実行して生成するデータ、すなわち、分類木作成・分類精度測定部103に対する入力データの例を示す。
図3に示すように、入力データ作成部102が生成する分類木作成・分類精度測定部103への入力データは、"@data"より前に位置する行からなる属性宣言部201と、"@data"以降に位置する行からなるデータ部202から構成される。
属性宣言部201は、各属性ごとに、属性名と、その属性が取り得る値を示す。たとえば、データ211は、すべてのレコードにおいて、属性[a1]の値は実数(real)であることを示す。
また、データ212は、すべてのレコードにおいて、
属性a5_1の値は、[未知語]、[副詞]、[感動詞]、[形容詞]、[名詞]、[接続詞]、[フィラー]、[動詞]、[記号]、[連体詞]のいずれかであることを示す。
属性a5_1の値は、[未知語]、[副詞]、[感動詞]、[形容詞]、[名詞]、[接続詞]、[フィラー]、[動詞]、[記号]、[連体詞]のいずれかであることを示す。
データ部202は、各レコードの属性値のデータを順次並べた構成を持つ。各レコードの属性値が、属性宣言部201での出現順にカンマ区切りで順次並べられて示される。レコード間の区切り文字には改行記号が用いられる。
図4は、入力データ作成部102の処理の流れの一例を示すフローチャートである。各処理ステップについて説明する。ステップS101では、データベース101に格納されたデータ(例えば図2に示すデータ)が持つ属性のうち、除外対象属性決定部104が出力している属性を除くすべての属性名によって属性リストAを生成する。属性リストAは、データベース101に格納されたデータ(例えば図2に示すデータ)が持つ属性のうち、除外対象属性決定部104が出力している属性を除くすべての属性名を、データベース101での出現順に格納したリストである。
ステップS102では、データ部リストRを空とする。また、すべての属性Aiについて、属性宣言部集合D(Ai)を空とする。属性:Aiは、属性リストAに設定された属性であり、i=1〜n(ただしnは、属性リストAに設定された属性数)である。
ステップS103では、データベース101中の全レコードが処理されたか判定し、処理された場合にはステップS109に処理を進め、そうでない場合にはステップS104に処理を進める。
ステップS104では、未処理のレコードのうち先頭のレコードRiを選択し、データ部リストRに追加する。このとき、レコードRiの各属性値は、カンマを区切り文字として結合される。図3に示すデータ部202の態様である。
なお、レコードRiにおいて、i=1〜m(ただし、mは、データベース中のレコード数)である。なお、ここでレコード数は、処理対象となるレコード数である。例えば図2に示すデータが処理対象として設定されるレコードとなる。本実施例では、7,072のレコードが入力データ作成部102に入力されるものとする。
ステップS105では、すべての属性について属性宣言部集合D(Ai)への追加処理を行ったか判定し、行った場合にはステップS103へ処理を進め、そうでない場合にはステップS106に処理を進める。
ステップS106では、追加処理をおこなっていない属性のうち先頭の属性Ajを選択する。ステップS107では、属性宣言部集合D(Ai)が、レコードRiにおける属性Ajの値(aij)を含むか判定し、含む場合は処理をステップS108へ、そうでない場合は処理をステップS105に進める。ステップS108では、属性宣言部集合D(Ai)に属性Ajの値(aij)を追加し、処理をステップS105に進める。
ステップS109では、リストA、すなわち、ステップS101において設定したデータベース101に格納されたデータが持つ属性のうち、除外対象属性決定部104が出力している属性を除くすべての属性名からなるリストA中の属性Aiごとに、属性宣言部集合D(Ai)に基づいて、図3に示す属性宣言部201の記述を作成して出力する。ステップS110では、図3のデータ部202の構成データとして、データ部リストR中のレコードを順次出力し、処理を終了する。
分類木作成・分類精度測定部103は、入力データ作成部102から入力する入力データ(例えば図3に示す入力データ)を学習データとテストデータに分割し、学習データから分類木を作成する。また、作成した分類木で正しく分類されたデータ数と誤って分類されたデータ数から分類精度を算出する。分類精度は、学習データとテストデータについてそれぞれ算出される。
分類木作成・分類精度測定部103は、ID3アルゴリズムやC4.5アルゴリズムを実装したデータマイニングツールWEKAの分類木作成モジュール、および、perlやJavaなどの一般的なプログラミング言語によるプログラムの組合せとして実現される。
分類木作成・分類精度測定部103は、分類処理対象データから選択された学習用データに基づいて分類木を生成し、学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定する。
図5は、分類木作成・分類精度測定部103から出力されるデータの例である。図5のデータは、分類木部301と統計情報部302からなる。
分類木部301は、分類木をテキストデータとして表現したものである。分類木部301中の各行は分類木を構成する各ノードの情報に対応する。各行の表記規則は以下の通りである。
<行>::=<親ノード数>?(<非葉ノード情報>|<葉ノード情報>)
<親ノード数>::=("|")*
<非葉ノード情報>::=<ノード条件>
<葉ノード情報>::=<ノード条件><分類レコード情報>
<ノード条件>::=<属性名><比較演算子><属性値>
<分類レコード情報>::=<クラス属性値>"("<分類レコード数>("/"<誤分類レコード数>)?")"
<親ノード数>::=("|")*
<非葉ノード情報>::=<ノード条件>
<葉ノード情報>::=<ノード条件><分類レコード情報>
<ノード条件>::=<属性名><比較演算子><属性値>
<分類レコード情報>::=<クラス属性値>"("<分類レコード数>("/"<誤分類レコード数>)?")"
あるノードAの[親ノード数]は、ノードAの親ノードの数(文字列"|"の数)である。あるノードAの親ノードに対応する行は、ノードAに対応する行の前に位置する行で、"親ノード数"がノードAよりも1つ少ない行のうち、ノードAに最も近い行である。"親ノード数"を含まないノードは、ルートノード直下のノードである。
たとえば、"a5_2=使用する"は、"|a6_2<=0.6363"の親ノードである。また、"|a6_2=<0.6363"は、"||a14_2<=0.25:−(49.0/4.0)"の親ノードである。したがって、ノード"||a14_2<=0.25:−(49.0/4.0)"には、属性a5_2の値が"使用する"であり、属性a6_2の値が0.6363以下であり、属性a14_2の値が0.25以下であるレコードが分類される。
ノードAの[ノード条件]は、ノードAの親ノードに分類されるレコードのうち、ノードAに分類されるものが満たすべき条件である。また、葉ノードBの"分類レコード情報"は、葉ノードBの分類クラス([+]または[−])と、その分類クラスのレコード数からなる。"分類レコード情報"は、葉ノードBの分類クラス以外のクラスのレコード(誤分類レコード)が分類されているときは、それらの数も含む。
たとえば、ノード"||a14_2<=0.25:−(49.0/4.0)"の分類クラスは[−]である。このノードには、分類クラス[−]に属する49レコードと、分類クラス[+]に属する4レコードが分類されている。
統計情報部302は、分類木部301に示された分類木の葉ノード数、ノード数、学習データ・テストデータに対する分類精度を含む。たとえば、"===Error on training data==="の次の行とその次の行はそれぞれ学習データに対する分類率と誤分類率を示す。同様に、"===Stratified cross−validation==="の次の行とその次の行はそれぞれテストデータに対する分類率と誤分類率を示す。
図6は、分類木作成・分類精度測定部103の処理の流れの一例を示すフローチャートである。ステップS201では、分類木作成時にプログラムに与えるパラメータC(枝刈りCF値)についての初期設定を実行する。
パラメータCの最小値としてのCmin、
パラメータCの最大値としてのCmax、
パラメータCの更新量としてのCstep、
最適パラメータCの値としてのCbest、
のそれぞれについて、
Cmin=0.05、
Cmax=0.8、
Cstep=0.05、
Cbest=0
を設定する。
さらに、初期パラメータC=Cmin=0.05を代入する。
なお、上記パラメータCの最小値、最大値、更新量の設定値は一例を示すものであり、これらの設定に限らず、様々な設定が可能である。
パラメータCの最大値としてのCmax、
パラメータCの更新量としてのCstep、
最適パラメータCの値としてのCbest、
のそれぞれについて、
Cmin=0.05、
Cmax=0.8、
Cstep=0.05、
Cbest=0
を設定する。
さらに、初期パラメータC=Cmin=0.05を代入する。
なお、上記パラメータCの最小値、最大値、更新量の設定値は一例を示すものであり、これらの設定に限らず、様々な設定が可能である。
以下のフローの処理は、C=Cmin=0.05から、Cstep=0.05毎に、順次、パラメータCを変更して、Cmax=0.8まで、パラメータを変更して設定される分類木についての分類精度を算出し、その中から最も分類精度の高い分類木に対応するパラメータCを最適パラメータCの値としてのCbestとして決定し、この最適パラメータCbestによって設定される分類木を最終的な分類木とする処理である。
ステップS202以下の処理の詳細について説明する。ステップS202では、分類木の集合Tを空集合とし、分類精度一覧表TBLをクリアする。分類精度一覧表TBLは、図7に示すように、パラメータCの値に応じて、学習事例分類精度(Plearn)と、テスト事例分類精度(Peval)を対応付けたデータである。初期的には、この分類精度一覧表TBLはクリアされ、データは格納されていない。
ステップS203では、パラメータCが、パラメータCの最大値としてのCmaxより大きいか判定し、大きい場合は処理をステップS208に進め、そうでない場合は処理をステップS204に進める。
ステップS204では、パラメータCに基づく分類木T(A,C)を作成する。ここでAは、分類木作成・分類精度測定部103への入力データが持つ属性の集合であり、Cは、この時点で設定されているパラメータC(枝刈りCF値)である。
ステップS204の処理は、たとえば、データマイニングツールWEKAの分類木作成モジュールを利用して実現できる。WEKAの分類木作成モジュールは、たとえば以下のコマンドを実行することで起動できる。
% java−Xmx1024m−Xss1024m weka.classifiers.j48.J48−t(入力データファイル名)−C(P値)>(T(P)に対応するファイル名)
t(入力データファイル名)は、分類木生成に適用する入力データのファイル名であり、入力データ作成部102が生成したデータ、例えば、図3に示す属性宣言部201と、データ部202からなる入力データのファイル名である。
C(P値)は、現時点で設定されているパラメータCの値、すなわち、C=0.05(Cmin)〜0.8(Cmax)の、Cstep=0.05刻みのいずれかの値である。
(T(P)に対応するファイル名)は、入力データと、設定パラメータに基づいて生成されるデータ、すなわち、図5に示す分類木部301と、統計情報部302からなるデータのファイル名である。
C(P値)は、現時点で設定されているパラメータCの値、すなわち、C=0.05(Cmin)〜0.8(Cmax)の、Cstep=0.05刻みのいずれかの値である。
(T(P)に対応するファイル名)は、入力データと、設定パラメータに基づいて生成されるデータ、すなわち、図5に示す分類木部301と、統計情報部302からなるデータのファイル名である。
上記情報を設定したコマンドをWEKAの分類木作成モジューに入力することで、図5に示す分類木部301と、統計情報部302からなるデータのファイルT(P)が出力される。
WEKAの分類木作成モジュールは、入力データを自動的に学習データとテストデータに分け、学習データから分類木を作成し、学習データとテストデータに対する分類精度PlearnとPevalを算出して出力する。
ステップS205では、ステップS204で作成した分類木による学習データとテストデータの分類精度(Plearn、Peval)を測定する。WEKAの分類木作成モジュールの出力ファイルT(P)の統計情報部には、これらの分類精度の記載が含まれているので、これらの記載を入手する。なお、ステップS204で作成した分類木T(A,C)に分類精度が出力されていない場合であっても、生成した分類木の葉ノードごとに、そのノードに正しく分類されるレコード数と誤分類されるレコード数を算出し、以下の式によって分類精度を算出することができる。
(Plearn)=(正しく分類された学習データのレコード数)/(全学習データのレコード数)
(Peval)=(正しく分類されたテストデータのレコード数)/(全テストデータのレコード数)
(Peval)=(正しく分類されたテストデータのレコード数)/(全テストデータのレコード数)
ステップS206では、ステップS205で算出した分類精度を分類精度一覧表TBLに追加する。分類精度一覧表の例を図7に示す。分類精度一覧表TBLは、図7に示すように、パラメータCの値に応じて、学習事例分類精度(Plearn)と、テスト事例分類精度(Peval)を対応付けたデータである。
ステップS207では、パラメータCに、パラメータの更新量Cstep(この例では、Cstep=0.05)を加算し、パラメータCの値の更新処理を実行して、処理をステップS203に戻す。
ステップS203〜S207の処理をパラメータC=0.05(Cmin)〜0.8(Cmax)において、Cstep=0.05刻みで繰り返し実行することで、各パラメータC:0.05,0.10,0.15・・・0.80に対応する分類木が生成され、パラメータCの値に応じた学習事例分類精度(Plearn)と、テスト事例分類精度(Peval)を算出して、図7に示す分類精度一覧表TBLを完成させる。
ステップS208では、分類精度一覧表TBLからテストデータに対する分類精度(Peval)がもっとも高いレコードのパラメータCの値を、最適パラメータCの値としての最適パラメータCbestとして特定する。
ステップS209では、これまでのテストデータ分類精度最高値Peval(Tbest)と、今回作成した分類木でのテストデータ分類精度最高値Peval(T(A,Cbest))を比較し、前者が後者より大きい場合は処理をステップS210に進め、そうでない場合は処理をステップS211に進める。
ステップS210では、分類木Tbestを出力してデータマイニングシステムの処理を終了する。
ステップS211では、TbestにT(A,Cbest)を代入する。T(A,Cbest)は、今回の処理、すなわち、入力データ作成部102から入力したデータに基づいて生成される分類木の中で最適な分類木である。
ステップS212では、除外対象属性決定部104にT(A,Cbest)を出力して処理を終了する。
分類木作成・分類精度測定部103は、このように、作成した異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に該分類木の情報を除外対象属性決定部104に出力する構成である。
除外対象属性決定部104は、分類木作成・分類精度測定部103から出力される分類木を入力とし、分類精度向上にもっとも寄与していない属性を特定して、入力データ作成部102に出力する。
図8は、除外対象属性決定部104の処理の流れの一例を示すフローチャートである。ステップS301では、分類木作成・分類精度測定部103から入力された分類木T、すなわち、T(A,Cbest)のすべての非葉ノードを集合Nに代入する。
ステップS302では、分類木T(A,Cbest)のすべての非葉ノードを集合Nが空であるか判定し、空である場合は処理をステップS305へ進め、そうでない場合は処理をステップS303に進める。ステップS303では、集合N中のノードを1つ(Ni)選択する。
ステップS304では、ノードNiの分割情報量Dを算出して分割情報量一覧表に追加する。なお、
分割情報量D=−Σ(#Ci/#C)×log2(#Ci/#C)
ただし、#Ciと#Cは、それぞれCiとCの要素数である。
分割情報量D=−Σ(#Ci/#C)×log2(#Ci/#C)
ただし、#Ciと#Cは、それぞれCiとCの要素数である。
ステップS305では、分割情報量D値が最大のノードNmaxを特定する。ステップS306では、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力して処理を終了する。
図9に、図8のステップS305開始時点での非葉ノードごとの分割情報量一覧表の例を示す。図9では、"非葉ノードのルール表現"で、各ノードに分類されるレコードが満たすべき条件を述語論理形式で記載している。
たとえば、データ401に示す
class(A,"+"):−a5_2(A,Ver.4.1),a16_1_less_than(A,0.25).
は、そのノードに分類されるレコードの属性a5_2の値が[Ver.4.1]であり、属性a16_1の値が0.25より小さいことを示す。この非葉ノードの分割情報量Dは、0.4689である。
たとえば、データ401に示す
class(A,"+"):−a5_2(A,Ver.4.1),a16_1_less_than(A,0.25).
は、そのノードに分類されるレコードの属性a5_2の値が[Ver.4.1]であり、属性a16_1の値が0.25より小さいことを示す。この非葉ノードの分割情報量Dは、0.4689である。
図9の例では、ルートノード(一覧表末尾の行)の分割情報量が約8.29と最も大きい。したがって、この例では、ルートノード直下のノード作成時に用いられる属性(属性a5_2)がステップS306で、入力データ作成部102に除外対象属性として出力される。
入力データ作成部102は、除外対象属性決定部104から入力する属性を除外した処理を実行した上で、再度、先に説明した図4に示す処理を実行して、分類木作成・分類精度測定部103に対する出力データ、すなわち、図3に示す属性宣言部201とデータ部202からなるデータを生成し、分類木作成・分類精度測定部103に出力する。
分類木作成・分類精度測定部103は、入力データ作成部102から新たに入力するデータに基づいて、再度、図6に示す処理を実行し、パラメータCの値を変更しながら複数の分類木を生成し、図7に示す分類精度一覧表TBLを生成する。さらに、図6に示すステップS208において、分類精度一覧表TBLからテストデータに対する分類精度がもっとも高いレコードのパラメータCの値を、最適パラメータCの値としての最適パラメータCbestとして特定する。
ステップS209では、これまでに生成済みのテストデータ分類精度最高値Peval(Tbest)と、今回作成した分類木でのテストデータ分類精度最高値Peval(T(A,Cbest))を比較し、前者が後者より大きい場合、すなわち、
Peval(Tbest)>Peval(T(A,Cbest))
が成立する場合は、処理をステップS210に進め、そうでない場合は処理をステップS211に進める。
Peval(Tbest)>Peval(T(A,Cbest))
が成立する場合は、処理をステップS210に進め、そうでない場合は処理をステップS211に進める。
ステップS211では、TbestにT(A,Cbest)を代入する。T(A,Cbest)は、今回の処理、すなわち、入力データ作成部102から入力したデータに基づいて生成される分類木の中で最適な分類木である。
この処理を繰り返し実行することによって、ステップS209の判定において、これまでのテストデータ分類精度最高値Peval(Tbest)と、今回作成した分類木でのテストデータ分類精度最高値Peval(T(A,Cbest))を比較し、前者が後者より大きくなり、処理がステップS210に進んだ時点で、この分類木を最終的な最適分類木Tbestとして出力してデータマイニングシステムの処理を終了する。
本発明のデータ分類処理装置の全体処理のシーケンスを図10のフローを参照して説明する。
まず、ステップS401において、入力データ作成部102が、データベース101に格納された分類処理対象データ(図2参照)に基づいて、分類木作成・分類精度測定部103に対する入力データ(図3参照)を生成(詳細フローは図4)する。なお、この際、除外対象属性決定部104から除外対象属性が入力されている場合は、その属性を除いてデータ生成を行なう。
次に、ステップS402において、分類木作成・分類精度測定部103が、入力データ作成部102からの入力データ(図3参照)に基づいて、パラメータCを変更しながら、分類木を含むデータ(図5参照)を生成し、分類精度一覧表TBL(図7)を生成する。
次に、ステップS403において、分類木作成・分類精度測定部103が、分類精度一覧表TBL(図7)から、テストデータ分類精度最高値を持つものを選択し、その分類木をT(A,Cbest)とする。
次に、ステップS404において、分類木作成・分類精度測定部103が、これまでに生成済みのテストデータ分類精度最高値Peval(Tbest)と、今回作成した分類木でのテストデータ分類精度最高値Peval(T(A,Cbest))を比較する。
ステップS405において、
Peval(Tbest)>Peval(T(A,Cbest))
が成立すると判定される場合は、ステップS407に進み、Tbestを最終出力分類木として設定し、出力する。
Peval(Tbest)>Peval(T(A,Cbest))
が成立すると判定される場合は、ステップS407に進み、Tbestを最終出力分類木として設定し、出力する。
ステップS405において、
Peval(Tbest)>Peval(T(A,Cbest))
が成立しないと判定される場合は、ステップS406に進み、除外対象属性決定部104において、Peval(T(A,Cbest))から比較分割情報量D値が最大のノードNmaxを特定し、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力する。
Peval(Tbest)>Peval(T(A,Cbest))
が成立しないと判定される場合は、ステップS406に進み、除外対象属性決定部104において、Peval(T(A,Cbest))から比較分割情報量D値が最大のノードNmaxを特定し、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力する。
以下、ステップS405において、
Peval(Tbest)>Peval(T(A,Cbest))
が成立するまで、ステップS401〜406の処理を繰り返し実行して、ステップS405において、
Peval(Tbest)>Peval(T(A,Cbest))
が成立したことを条件として、ステップS407に進み、Tbestを最終出力分類木として設定し、出力する。
Peval(Tbest)>Peval(T(A,Cbest))
が成立するまで、ステップS401〜406の処理を繰り返し実行して、ステップS405において、
Peval(Tbest)>Peval(T(A,Cbest))
が成立したことを条件として、ステップS407に進み、Tbestを最終出力分類木として設定し、出力する。
なお、この処理フローによって、除外対象属性決定部104において除外対象の属性を選択して生成する分類木の変遷の概要について、図11を参照して説明する。
除外対象属性決定部104では、分類木作成・分類精度測定部103から出力される分類木を入力とし、分類精度向上にもっとも寄与していない属性を特定して出力する。分類木作成・分類精度測定部103から入力された分類木T、すなわち、T(A,Cbest)の非葉ノードから、分割情報量D値が最大のノードNmaxを特定し、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力する。
図11において、例えば、図11(a)は、第1ステップで、分類木作成・分類精度測定部103から出力される分類木、すなわち、最大分類精度を持つ分類木(T(A,Cbest))と、属性を示している。この図11(a)に示す分類木の構成非葉ノードから、分割情報量D値が最大のノードNmaxを特定し、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力する。この例では、ノードC(属性Cに基づく分類を実行しているノード)が分割情報量D値最大のノードNmaxとして選択され、属性Cが、除外対象属性として入力データ作成部102に通知される。
入力データ作成部102、および分類木作成・分類精度測定部103では、属性Cを除くデータに基づいて分類木生成、分類精度測定が実行され、この条件で、最大精度を持つ分類木(T(A,Cbest))として、図11(b)に示す分類木が生成される。
除外対象属性決定部104では、この図11(b)に示す分類木の構成非葉ノードから、分割情報量D値が最大のノードNmaxを特定し、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力する。この例では、ノードB(属性Bに基づく分類を実行しているノード)が分割情報量D値最大のノードNmaxとして選択され、属性Bが、除外対象属性として入力データ作成部102に通知される。
入力データ作成部102、および分類木作成・分類精度測定部103では、属性Bを除くデータに基づいて分類木生成、分類精度測定が実行され、この条件で、最大精度を持つ分類木(T(A,Cbest))として、図11(c)に示す分類木が生成される。
このように、除外対象属性決定部104では、分類木の構成非葉ノードから、分割情報量D値が最大のノードNmaxを特定し、Nmaxの子ノード作成時に用いられている属性を、入力データ作成部102に、除外対象属性として出力し、じゅんじ異なる構成の分類木を生成し、それぞれの条件での分類木の分類精度の最高値を比較して、その中の最高分類精度を持つ分類木を最終出力分類木とするものである。
図1に示すデータ分類処理装置100のデータベース101に図2に示すデータが格納されている場合に、データ分類処理装置100の各構成要素が入力・出力するデータ例を図12に示す。
図12は、
[入力データ作成部102が利用する属性]
[分類木作成・分類木精度測定部103でのテストデータ分類精度最高値]
[除外対象属性決定分104が除外対象として決定し出力する属性]
の各データについて、各処理サイクル毎のデータを示した図である。
[入力データ作成部102が利用する属性]
[分類木作成・分類木精度測定部103でのテストデータ分類精度最高値]
[除外対象属性決定分104が除外対象として決定し出力する属性]
の各データについて、各処理サイクル毎のデータを示した図である。
図12に示す各処理サイクルの処理は以下の通りである。
サイクル1
すべての属性が利用されて分類木が作成され、分類精度63.08%が得られる。
除外対象属性決定部104は、除外対象属性として属性a5_2を決定し、入力データ作成部102に出力する。
サイクル2
サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1以外の属性が利用されて分類木が作成され、分類精度は63.69%に改善される。
除外対象属性決定部104は、除外対象属性として属性a15_1を決定し、入力データ作成部102に出力する。
サイクル3
サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1、サイクル2で除外対象属性決定部が出力した属性a15_1と、属性a15_2以外の属性が利用されて分類木が作成され、分類精度は65.96%に改善される。
除外対象属性決定部104は、除外対象属性として属性a8_2を決定し、入力データ作成部102に出力する。
サイクル4
サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1、サイクル2で除外対象属性決定部が出力した属性a15_1と、属性a15_2、サイクル3で除外対象属性決定部が出力した属性a8_2以外の属性が利用されて分類木が作成され、分類精度が65.26%に悪化する
サイクル1
すべての属性が利用されて分類木が作成され、分類精度63.08%が得られる。
除外対象属性決定部104は、除外対象属性として属性a5_2を決定し、入力データ作成部102に出力する。
サイクル2
サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1以外の属性が利用されて分類木が作成され、分類精度は63.69%に改善される。
除外対象属性決定部104は、除外対象属性として属性a15_1を決定し、入力データ作成部102に出力する。
サイクル3
サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1、サイクル2で除外対象属性決定部が出力した属性a15_1と、属性a15_2以外の属性が利用されて分類木が作成され、分類精度は65.96%に改善される。
除外対象属性決定部104は、除外対象属性として属性a8_2を決定し、入力データ作成部102に出力する。
サイクル4
サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1、サイクル2で除外対象属性決定部が出力した属性a15_1と、属性a15_2、サイクル3で除外対象属性決定部が出力した属性a8_2以外の属性が利用されて分類木が作成され、分類精度が65.26%に悪化する
この結果として、サイクル3で作成された分類木が、最高の分類精度を持つことが判明し、この分類木、すなわち、サイクル1で除外対象属性決定部が出力した属性a5_2と、属性a5_1、サイクル2で除外対象属性決定部が出力した属性a15_1と、属性a15_2以外の属性が利用されて生成した分類木を出力して処理が終了する。
なお、図12に示す例では、入力データ作成部102は、除外対象属性決定部104が出力する属性以外の属性も除外して入力データを作成している。たとえばサイクル2では、属性a5_2以外にa5_1も除外して入力データを作成する。これは、あらかじめ属性a5_2とa5_1が同種の属性であり、一方が除外対象となったときには他方も除外されるようにあらかじめ設定されていたためである。
このように、除外対象属性決定部104が出力する属性と、実際に除外される属性の集合との組を1つ以上あらかじめ入力データ作成部102に保持しておき、除外対象属性決定部104が出力する属性と前者の属性が一致するときには、入力データ作成部102で後者の属性の集合を一括して削除するよう構成してもよい。
また、上記の実施例では、除外対象属性決定部が出力する属性を決定するのに、分類木作成・分類精度測定部103が出力した分類木が利用された。具体的には、分類木の各ノードに分類されたデータを対象にし、データの分割情報量がもっとも大きいノードで利用された属性を除外対象とした。しかし、除外対象属性の決定方法はこの方法に限定されるものではない。たとえば、分類木作成・分類精度測定部103に入力された属性ごとに、その属性で全データを分類したときの分割情報量を算出し、分割情報量がもっとも大きい属性を除外対象属性として決定するよう構成してもよい。
さらに、上記の実施例では、除外対象属性決定時に分割情報量を利用したが、分割前後のエントロピーの差や比など、他の指標を利用して除外対象属性を決定するよう構成してもよい。
本発明は、上述した処理によって最適な分類木、すなわち、分類精度がより高い分類木を効率よく生成することができる。
本発明の処理では、
(1)レコードを学習用レコードとテスト用レコードに分ける。
(2)学習用レコードから分類木Tnを作成し、テスト用レコードの分類精度(Pn)を測定する。
(3)テスト用レコードの分類精度(Pn)が、先に生成した分類木におけるテスト用レコードの分類精度(Pn−1)より低い場合、分類木(Tn−1)を出力して処理を終了する。
そうでない場合、以下の処理を行なう。
(4)Tnでの分枝に用いられた属性で、分類精度に対する寄与度がもっとも小さいものを特定し、特定した属性を学習用レコードから除外し、(2)に処理を進める。
本発明の処理では、
(1)レコードを学習用レコードとテスト用レコードに分ける。
(2)学習用レコードから分類木Tnを作成し、テスト用レコードの分類精度(Pn)を測定する。
(3)テスト用レコードの分類精度(Pn)が、先に生成した分類木におけるテスト用レコードの分類精度(Pn−1)より低い場合、分類木(Tn−1)を出力して処理を終了する。
そうでない場合、以下の処理を行なう。
(4)Tnでの分枝に用いられた属性で、分類精度に対する寄与度がもっとも小さいものを特定し、特定した属性を学習用レコードから除外し、(2)に処理を進める。
なお、(1)のレコード分割処理では、広く用いられている交差検定の手順を採用してもよい。また(2)における分類木作成手法は、ID3またはC4.5でもよいが、他の手法でも構わない。さらに、(4)における、属性の分類精度に対する寄与度は、たとえば以下のように定義される。
(属性の寄与度)=1/(その属性が選択された全ノードでの分割情報量の最小値)
(属性の寄与度)=1/(その属性が選択された全ノードでの分割情報量の最小値)
上記のように、本発明においては、作成した分類木で分類精度向上にもっとも寄与していない属性を除外して再度分類木を作成することを繰り返し、未知データに対する分類精度がもっとも高いものを選択する。したがって、C4.5のように、分類木の葉ノード近くで分割数の大きい属性が選択されてしまった結果、未知レコードに対する分類精度が低下してしまう場合でも、その属性を除外して分類木を作成し直すことにより、この問題を回避できる。また、特開平6−44206号公報に記載の手法のように、事前に有意水準を決定する必要もない。
次に、上述したデータ分類処理装置のハードウェア構成例について、図13を参照して説明する。
CPU(Central Processing Unit)501は、OS(Operating System)、通信制御プログラム、図2、図5を参照して説明したデータ分類、ルール生成処理プログラム等、各種コンピュータ・プログラムに従った処理を実行する制御部である。
ROM(Read Only Memory)502は、CPU501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)503は、CPU501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス504により相互に接続されている。
ホストバス504は、ブリッジ505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス506に接続されている。
キーボード508、ポインティングデバイス509は、ユーザにより操作される入力デバイスである。ディスプレイ510は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。
HDD(Hard Disk Drive)511は、ハードディスクを内臓し、ハードディスクを駆動し、CPU501によって実行するプログラムや情報を記録または再生させる。ハードディスクは、図1に示すデータベース101に格納された分類処理対象となるデータ、例えば図2に示すデータが格納される。また、図4、図6、図8、図10を参照して説明したデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体521に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース507、外部バス506、ブリッジ505、およびホストバス504を介して接続されているRAM503に供給する。
接続ポート514は、外部接続機器522を接続するポートであり、USB,IEEE1394等の接続部を持つ。接続ポート514は、インタフェース507、および外部バス506、ブリッジ505、ホストバス504等を介してCPU501等に接続されている。通信部515は、ネットワークに接続され、CPU501、またはHDD511等からの供給データの送信、データ受信を実行する。
なお、図13に示すデータ分類処理装置のハードウェア構成例は、PCを適用して構成したデータ分類処理装置の一例であり、本発明のデータ分類処理装置は、図13に示す構成に限らず、図1に示す処理ブロックに対応する構成が実現され、図4、図6、図8、図10に示すフローチャートに従った処理を実行可能な構成であればよい。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定し、除外対象属性を除く属性に基づく入力データ生成処理、分類木生成処理、および分類精度測定処理とを繰り返し実行して、繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成としたので、分類処理対象データの知識を持たない未知データに対しても、自動的に分類精度の高い分類木を効率的に生成することが可能となる。
本発明の構成によれば、従来の分類木生成アルゴリズムC4.5を適用した場合の問題、すなわち、分類木の葉ノード近くで分割数の大きい属性が選択されてしまうと、未知レコードに対する分類精度が低下してしまうといった問題を解決することができる。すなわち、本発明の構成においては、分類の寄与度の低い属性を除外して分類木を再作成し、さらに分類精度を測定し、より分類精度の高い分類木を生成する構成であるので、分類精度の低下を防止することができる。また、前述した特許文献1(特開平6−44206号公報)に記載の手法のように、事前に有意水準を決定する必要もなく、効率的な分類精度の高い分類木生成が可能となる。
100 データ分類処理装置(データマイニングシステム)
101 データベース
102 入力データ作成部
103 分類木作成・分類精度測定部
104 除外対象属性決定部
150 分類木
201 属性宣言部
202 データ部
301 分類木部
302 統計情報部
501 CPU(Central processing Unit)
502 ROM(Read-Only-Memory)
503 RAM(Random Access Memory)
504 ホストバス
505 ブリッジ
506 外部バス
507 インタフェース
508 キーボード
509 ポインティングデバイス
510 ディスプレイ
511 HDD(Hard Disk Drive)
512 ドライブ
514 接続ポート
515 通信部
521 リムーバブル記録媒体
522 外部接続機器
101 データベース
102 入力データ作成部
103 分類木作成・分類精度測定部
104 除外対象属性決定部
150 分類木
201 属性宣言部
202 データ部
301 分類木部
302 統計情報部
501 CPU(Central processing Unit)
502 ROM(Read-Only-Memory)
503 RAM(Random Access Memory)
504 ホストバス
505 ブリッジ
506 外部バス
507 インタフェース
508 キーボード
509 ポインティングデバイス
510 ディスプレイ
511 HDD(Hard Disk Drive)
512 ドライブ
514 接続ポート
515 通信部
521 リムーバブル記録媒体
522 外部接続機器
Claims (9)
- 分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成部と、
前記入力データ作成部の生成する属性情報データに基づく分類木を生成する分類木作成部と、
前記分類木作成部の生成した分類木の分類精度を測定する分類精度測定部と、
前記分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定部とを有し、
前記除外対象属性決定部における除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成部における入力データ生成処理と、前記分類木作成部における分類木生成処理と、前記分類精度測定部における分類精度測定処理とを繰り返し実行し、
該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力する構成を有することを特徴とするデータ分類処理装置。 - 前記分類木作成部は、
分類処理対象データから選択された学習用データに基づいて分類木を生成する構成であり、
前記分類精度測定部は、
前記学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定する構成であることを特徴とする請求項1に記載のデータ分類処理装置。 - 前記分類木作成部は、
分類木作成処理プログラムに設定するパラメータC(枝刈りCF値)を順次変更した複数の分類木の生成処理を実行する構成であり、
前記類精度測定部は、
前記分類木作成部の作成した異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に該分類木の情報を前記除外対象属性決定部に出力する構成であり、
前記除外対象属性決定部は、
前記分類木作成部の生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する処理を実行する構成であることを特徴とする請求項1に記載のデータ分類処理装置。 - 前記除外対象属性決定部は、
前記分類木作成部の生成した分類木の非葉構成ノードから、比較分割情報量が最大のノードを選択し、該選択ノードの子ノード作成時の適用属性を除外対象属性として決定する処理を実行する構成であることを特徴とする請求項1に記載のデータ分類処理装置。 - 分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成ステップと、
前記入力データ作成ステップにおいて生成する属性情報データに基づく分類木を生成する分類木作成ステップと、
前記分類木作成ステップにおいて生成した分類木の分類精度を測定する分類精度測定ステップと、
前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定ステップとを有し、
前記除外対象属性決定ステップにおける除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成ステップにおける入力データ生成処理と、前記分類木作成ステップにおける分類木生成処理と、前記分類精度測定ステップにおける分類精度測定処理とを繰り返し実行し、
該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力するステップと、
を有することを特徴とするデータ分類処理方法。 - 前記分類木作成ステップは、
分類処理対象データから選択された学習用データに基づいて分類木を生成するステップであり、
前記分類精度測定ステップは、
前記学習用データに基づいて生成した分類木について、分類処理対象データから選択されたテスト用データを適用して分類精度を測定するステップであることを特徴とする請求項5に記載のデータ分類処理方法。 - 前記分類木作成ステップは、
分類木作成処理プログラムに設定するパラメータC(枝刈りCF値)を順次変更した複数の分類木の生成処理を実行するステップであり、
前記類精度測定ステップは、
前記分類木作成ステップにおいて作成した異なるパラメータの値に対応する複数の分類木の分類精度測定処理を実行し、最高の分類精度を持つ分類木の分類精度が、異なる属性設定条件の下で生成した最高の分類精度を持つ分類木の分類精度より高い精度である場合に該分類木の情報を前記除外対象属性決定部に出力するステップを含み、
前記除外対象属性決定ステップは、
前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する処理を実行するステップであることを特徴とする請求項5に記載のデータ分類処理方法。 - 前記除外対象属性決定ステップは、
前記分類木作成ステップにおいて生成した分類木の非葉構成ノードから、比較分割情報量が最大のノードを選択し、該選択ノードの子ノード作成時の適用属性を除外対象属性として決定する処理を実行するステップであることを特徴とする請求項5に記載のデータ分類処理方法。 - 分類木の生成処理を実行するコンピュータ・プログラムであり、
分類処理対象レコードに基づく分類木の生成に適用する属性情報データを生成する入力データ作成ステップと、
前記入力データ作成ステップにおいて生成する属性情報データに基づく分類木を生成する分類木作成ステップと、
前記分類木作成ステップにおいて生成した分類木の分類精度を測定する分類精度測定ステップと、
前記分類木作成ステップにおいて生成した分類木から分類精度向上に対する寄与度の低い属性を除外対象属性として決定する除外対象属性決定ステップとを有し、
前記除外対象属性決定ステップにおける除外対象属性の決定処理と、除外対象属性を除く属性に基づく前記入力データ作成ステップにおける入力データ生成処理と、前記分類木作成ステップにおける分類木生成処理と、前記分類精度測定ステップにおける分類精度測定処理とを繰り返し実行し、
該繰り返し処理の中で生成する複数の分類木から分類精度のもっとも高い分類木を選択して出力するステップと、
を有することを特徴とするコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004011450A JP2005208709A (ja) | 2004-01-20 | 2004-01-20 | データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004011450A JP2005208709A (ja) | 2004-01-20 | 2004-01-20 | データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005208709A true JP2005208709A (ja) | 2005-08-04 |
Family
ID=34898133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004011450A Pending JP2005208709A (ja) | 2004-01-20 | 2004-01-20 | データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005208709A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009205615A (ja) * | 2008-02-29 | 2009-09-10 | Internatl Business Mach Corp <Ibm> | 変化分析システム、方法及びプログラム |
WO2011052181A1 (ja) * | 2009-10-27 | 2011-05-05 | 株式会社エスグランツ | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
CN105447050A (zh) * | 2014-09-15 | 2016-03-30 | 深圳Tcl新技术有限公司 | 客户分类的处理方法和装置 |
WO2019138584A1 (ja) * | 2018-01-15 | 2019-07-18 | 日本電気株式会社 | 分類木生成方法、分類木生成装置および分類木生成プログラム |
CN113570428A (zh) * | 2021-07-23 | 2021-10-29 | 上海普洛斯普新数字科技有限公司 | 一种用于线上商品一致性筛选的系统 |
CN115619292A (zh) * | 2022-12-19 | 2023-01-17 | 云账户技术(天津)有限公司 | 一种问题管理的方法及装置 |
-
2004
- 2004-01-20 JP JP2004011450A patent/JP2005208709A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009205615A (ja) * | 2008-02-29 | 2009-09-10 | Internatl Business Mach Corp <Ibm> | 変化分析システム、方法及びプログラム |
US8417648B2 (en) | 2008-02-29 | 2013-04-09 | International Business Machines Corporation | Change analysis |
WO2011052181A1 (ja) * | 2009-10-27 | 2011-05-05 | 株式会社エスグランツ | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
JP2011095849A (ja) * | 2009-10-27 | 2011-05-12 | S Grants Co Ltd | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
CN105447050A (zh) * | 2014-09-15 | 2016-03-30 | 深圳Tcl新技术有限公司 | 客户分类的处理方法和装置 |
CN105447050B (zh) * | 2014-09-15 | 2019-04-02 | 深圳Tcl新技术有限公司 | 客户分类的处理方法和装置 |
WO2019138584A1 (ja) * | 2018-01-15 | 2019-07-18 | 日本電気株式会社 | 分類木生成方法、分類木生成装置および分類木生成プログラム |
JPWO2019138584A1 (ja) * | 2018-01-15 | 2020-12-17 | 日本電気株式会社 | 分類木生成方法、分類木生成装置および分類木生成プログラム |
JP6992821B2 (ja) | 2018-01-15 | 2022-01-13 | 日本電気株式会社 | 分類木生成方法、分類木生成装置および分類木生成プログラム |
CN113570428A (zh) * | 2021-07-23 | 2021-10-29 | 上海普洛斯普新数字科技有限公司 | 一种用于线上商品一致性筛选的系统 |
CN113570428B (zh) * | 2021-07-23 | 2024-02-02 | 上海普洛斯普新数字科技有限公司 | 一种用于线上商品一致性筛选的系统 |
CN115619292A (zh) * | 2022-12-19 | 2023-01-17 | 云账户技术(天津)有限公司 | 一种问题管理的方法及装置 |
CN115619292B (zh) * | 2022-12-19 | 2023-03-21 | 云账户技术(天津)有限公司 | 一种问题管理的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240185130A1 (en) | Normalizing text attributes for machine learning models | |
US11308418B2 (en) | Automatic selection of variables for a machine-learning model | |
CN110175168B (zh) | 一种基于生成对抗网络的时间序列数据填补方法及系统 | |
EP3788560A1 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
US20130097125A1 (en) | Automated analysis of unstructured data | |
CN110111888A (zh) | 一种XGBoost疾病概率预测方法、系统及存储介质 | |
US20160328649A1 (en) | Data Discovery Nodes | |
EP1840772A1 (en) | Hierarchical clustering with real-time updating | |
US8799837B2 (en) | Optimizing a netlist circuit representation by leveraging binary decision diagrams to perform rewriting | |
US8862638B2 (en) | Interpolation data template to normalize analytic runs | |
JP4908073B2 (ja) | サービスベースソフトウェア設計支援方法及びそのための装置 | |
JP2007052744A (ja) | 分類ルール作成支援方法 | |
WO2014022154A1 (en) | Building a failure-predictive model from message sequences | |
CN106294466A (zh) | 分类模型构建方法、分类模型构建设备和分类方法 | |
CN117217315B (zh) | 一种利用大语言模型生成高质量问答数据的方法及装置 | |
CN111639470A (zh) | 一种处理器协同芯片的仿真测试方法、系统及相关组件 | |
JP6996936B2 (ja) | ソースコード解析装置、ソースコード解析方法、ソースコード解析プログラム | |
CN116975634A (zh) | 一种基于程序静态属性及图神经网络的微服务提取方法 | |
WO2014130287A1 (en) | Method and system for propagating labels to patient encounter data | |
US20040199484A1 (en) | Decision tree analysis | |
JP2005208709A (ja) | データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム | |
CN112069227B (zh) | 一种面向事件序列的因果建模方法及装置 | |
US20160147816A1 (en) | Sample selection using hybrid clustering and exposure optimization | |
CN111753992A (zh) | 筛选方法和筛选系统 | |
JP6261669B2 (ja) | クエリ校正システムおよび方法 |