(57)【特許請求の範囲】
【請求項１】
数値でその値が表される数値属性を含む複数の属性の値を予め定められた順に一列に並べた各レコードを記憶する記憶手段、
前記記憶手段で記憶されたレコード群から決定木を作成する演算手段を有するコンピュータにおけるデータ分析方法において、
前記演算手段が、各レコードの前記数値属性の値の分布から、その分布を所定間隔の区画に分割する当該数値属性の概算値を求め、各レコードの前記数値属性の値をその近傍の前記概算値に変換するステップと、
前記演算手段が、前記数値属性の値が概算値に変換されたレコード群のうち前記複数の属性の値のいずれかが互いに異なる各レコードには、当該レコードにレコード数を示す新たな属性の値「１」を追加し、前記レコード群のうち前記複数の属性の値が全て等しいＮ（Ｎは任意の２以上の整数）個のレコードは、当該複数の属性の値及び前記新たな属性の値「Ｎ」を一列に並べた１つの新たなレコードにまとめることにより、前記レコード群から、前記複数の属性の値及び前記新たな属性の値をそれぞれ一列に並べた新たなレコード群を生成するステップと、
前記演算手段が、前記新たなレコード群の各属性の値と前記レコード数の値とを基に前記複数の属性のうちの１つを選択しながら、前記新たなレコード群を階層的にグループ分けをして最終的に前記複数の属性のうちの１つである目標属性の値で前記新たなレコード群を分類するための決定木を作成するステップと、
を有するデータ分析方法。
【請求項２】
数値でその値が表される数値属性を含む複数の属性の値を予め定められた順に一列に並べた各レコードを記憶する記憶手段と、
前記記憶手段に記憶された各レコードの前記数値属性の値の分布から、その分布を所定間隔の区画に分割する当該数値属性の概算値を求め、各レコードの前記数値属性の値をその近傍の前記概算値に変換する手段と、
前記数値属性の値が概算値に変換されたレコード群のうち前記複数の属性の値のいずれかが互いに異なる各レコードには、当該レコードにレコード数を示す新たな属性の値「１」を追加し、前記レコード群のうち前記複数の属性の値が全て等しいＮ（Ｎは任意の２以上の整数）個のレコードは、当該複数の属性の値及び前記新たな属性の値「Ｎ」を一列に並べた１つの新たなレコードにまとめることにより、前記レコード群から、前記複数の属性の値及び前記新たな属性の値をそれぞれ一列に並べた新たなレコード群を生成する手段と、
前記新たなレコード群の各属性の値と前記レコード数の値とを基に前記複数の属性のうちの１つを選択しながら、前記新たなレコード群を階層的にグループ分けをして最終的に前記複数の属性のうちの１つである目標属性の値で前記新たなレコード群を分類するための決定木を作成する手段と、
を具備したことを特徴とするデータ分析装置。
【請求項３】
数値でその値が表される数値属性を含む複数の属性の値を予め定められた順に一列に並べた各レコードを記憶する記憶手段と、前記記憶手段で記憶されたレコード群から決定木を作成する演算手段とを有するコンピュータの前記演算手段に、
前記記憶手段で記憶された各レコードの前記数値属性の値の分布から、その分布を所定間隔の区画に分割する当該数値属性の概算値を求め、各レコードの前記数値属性の値をその近傍の前記概算値に変換するステップと、
前記数値属性の値が概算値に変換されたレコード群のうち前記複数の属性の値のいずれかが互いに異なる各レコードには、当該レコードにレコード数を示す新たな属性の値「１」を追加し、前記レコード群のうち前記複数の属性の値が全て等しいＮ（Ｎは任意の２以上の整数）個のレコードは、当該複数の属性の値及び前記新たな属性の値「Ｎ」を一列に並べた１つの新たなレコードにまとめることにより、前記レコード群から、前記複数の属性の値及び前記新たな属性の値をそれぞれ一列に並べた新たなレコード群を生成するステップと、
前記新たなレコード群の各属性の値と前記レコード数の値とを基に前記複数の属性のうちの１つを選択しながら、前記新たなレコード群を階層的にグループ分けをして最終的に前記複数の属性のうちの１つである目標属性の値で前記新たなレコード群を分類するための決定木を作成するステップと、
と含む処理を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、クレジットカードの利用履歴等の膨大な処理対象としてのレコードの中からマーケティングなどに有用な情報を抽出するためのデータ抽出方法に関する。
【０００２】
【従来の技術】
大量のデータの中からそのデータに内在する傾向や規則を発見する方式であるデータマイニングの一手法として、データを木構造に分類する決定木作成方式が広く用いられている（参考文献：「ＡＩによるデータ解析」、Ｊ．Ｒ．ランキン著、古川康一監訳、１９９５年、株式会社トッパン）。
【０００３】
図１は、分析対象データの例として、複数の属性データを持つ８つのレコードを示したものである。各レコードは、自動車を購入した人のプロフィールがまとめられており、「識別ＩＤ」、「性別」、「年齢」、「年収」、「車種」の５つの属性を持つ。図１の各レコードは、ある個人の自動車購入のレコードであり、「識別ＩＤ」の属性は各レコードを識別するためのユニークなＩＤである。「性別」、「年齢」、「収入」、「車種」といった属性は、各々自動車を購入した個人の性別、年齢、年収、購入した車種を示す。
【０００４】
「性別」属性は離散値の属性で、「男」と「女」の２つの値を取り得る。「年齢」、「年収」属性は連続値の属性で数値を取り得る。「車種」属性は、離散値の属性で、「ＲＶ」、「スポーツ」、「軽自動車」、「セダン」の４つの値を取り得る。
【０００５】
決定木の作成では、属性のうちの１つを目標属性とし、その目標属性の値が葉の部分でうまくまとまるような木構造を作成する。図２に図１の分析対象データから作成される決定木の例を示す。この例では、「車種」を目標属性とし、「車種」の同じレコードが決定木の葉のノードでうまくまとまるように木を生成している。
【０００６】
図２の決定木では、木のルートノードで性別で分類している。図１の分析対象データでは「性別」属性の値が「男」であるレコードの識別ＩＤは、「１」、「４」、「６」、「８」で、その中で、「車種」属性の値が「ＲＶ」であるのが２人、「セダン」であるのが２人である。また、「性別」属性の値が「女」であるレコードの識別ＩＤは、「２」、「３」、「５」、「７」で、その中で「車種」属性の値が「軽自動車」であるのが２人、「スポーツ」であるのが２人である。また、「性別」属性の値が「男」の枝で、「年齢」属性の値が３０才未満であるレコードの識別ＩＤは「１」、「８」で、「車種」属性の値が「ＲＶ」であるのが２人のみ、「年齢」属性の値が３０才以上であるレコードの識別ＩＤは「４」、「６」で、「車種」属性の値が「セダン」であるのが２人のみである。さらに、「性別」属性が「女」の枝で、「年収」属性が、５００万未満であるレコードの識別ＩＤは「３」、「７」で、「車種」属性の値が「軽自動車」が２人のみ、「年収」属性が、５００万以上であるレコードの識別ＩＤは「２」、「５」で、「車種」属性の値が「スポーツ」であるのが２人のみである。
【０００７】
このように、決定木を作成する際には、葉のノードでの目標属性のまとまりがよくなるような木構造を発見する。
【０００８】
決定木を作成する処理の流れを図３に示す。以下、図３にしたがって、図１の分析対象データから「車種」の属性を目標属性として、図２の決定木を作成する処理について説明する。
【０００９】
図１に示したような分析対象データＤ１は、メモリ、ディスク等の記憶装置に予め記憶されているものとする。この分析対象データＤ１は、まず、そのまま分割対象データとして抽出される（ステップＳ１１）。そして、この分割対象データについて、複数の属性（性別、年齢、年収）のうち、どの属性で分割すると最も目標属性のまとまりが良くなるかをテストし、分割対象データを分割するために用いる属性を決定する（ステップＳ１２）。テスト方法には、情報量による利得を用いるもの、利得比を用いるものなど多く提案されているが、詳細は、上記参考文献に開示されている。ここでは、「性別」で分割すると最も目標属性のまとまりが良くなると判断されたとする。続いて、ステップＳ１２で決定された属性を用いて、分割対象データを実際に分割する。すなわち、ここでは、「性別」属性には、「男」と「女」の２つの属性値があるので、ステップＳ１３では、２つに分割される。「男」の属性を持つものは図４に示す４つのレコードで、「女」の属性を持つものは、図５に示す４つのレコードである。分割されたデータ（図４、図５）は、各々、ステップＳ１１において分割対象データとなり、ステップＳ２において、再び、上記同様、分割対象データを分割するために用いる属性を決定すべくテストされる。
【００１０】
また、ステップＳ１３では、データを分割する際には、分割に用いた属性（例えば、「性別」）と分割条件（例えば、「男」か「女」か）を、メモリ、ディスク等の記憶装置に、決定木（データ）Ｄ２として追加記憶していくことにより、決定木が作成される。すなわち、例えば、図４、図５に示すように分割した時点では、図６に示す決定木が作成される。
【００１１】
図４のデータをステップＳ１２でテストする際には、数値属性である「年齢」又は「年収」の属性で全レコードをソートして目標属性である「車種」の属性のまとまりが良くなる分割の位置を発見する。この場合、「年齢」で昇順にソートすると３０歳付近で目標属性が「ＲＶ」と「セダン」にうまく分かれるので「年齢」属性が３０歳で分割すると決定する。次に、ステップＳ１３で図４のデータを分割し、決定木Ｄ２に、分割に用いた属性と分割条件（３０歳未満か、以上か）が加えられ、図７に示す決定木となる。
【００１２】
図５のデータも同様に、ステップＳ１２でテストする際には、数値属性である「年齢」又は「年収」の属性で全レコードをソートして、目標属性である「車種」の属性のまとまりが良くなる分割の位置を発見する。この場合、「年収」で昇順にソートすると５００万円歳付近で目標属性がスポーツと自動車でうまく分かれるので、「年収」属性を用いて、「５００万円」を分割条件として分割すると決定する。次に、ステップＳ１３で、図５のデータを分割し、決定木Ｄ２に、分割に用いた属性と分割条件が加えられ、図２に示す決定木が生成される。
【００１３】
決定木を作成する際のデータアクセス回数は、図１のデータから図６の決定木を作成するために８レコードのデータへのアクセス、図４のデータから図７の決定木を作成するために４レコードのデータへのアクセス、図５のデータから図２の決定木を作成するために４レコードのデータへのアクセスが必要となり、合計で、のべ１６レコードへのアクセスが必要となる。
【００１４】
【発明が解決しようとする課題】
以上説明したように、従来は、決定木を作成するに、決定木の各ノード作成時点において分析対象のデータにアクセスする必要があり、特に分析対象データが大規模になった場合、それらデータをメモリ上に常駐させることは困難であるのでその都度、ディスクアクセス（記憶装置へのアクセス）が発生し、処理時間を増大させる原因となっていた。
【００１５】
本発明は上記問題を解決するために、分析処理（決定木作成処理）時のデータアクセス時間を削減することができるデータ分析方法およびそれを用いた情報処理装置を提供することを目的とする。
【００１６】
【発明を解決するための手段】
本発明のデータ分析方法は、複数の属性のデータを１組とする複数の分析対象、あるいは、前記複数の属性のうちの一部の複数の属性のデータを１組とする複数の分析対象について、前記分析対象の複数の属性のうちの１つを選択しながら階層的にグループ分けをして決定木を作成するデータ分析方法において、前記分析対象の複数の属性のうちの少なくとも１つは、その値が数値で表される数値属性であって、前記複数の分析対象の前記数値属性の値の分布から、その分布を所定間隔の区画に分割する該数値属性の概算値を求め、前記複数の分析対象のそれぞれの前記数値属性の値をその近傍の前記概算値に変換するとともに、変換後の数値属性の値を含む前記分析対象の複数の属性の値が全て同じである複数の分析対象を１つの分析対象として、新たな複数の分析対象を作成し、この新たな複数の分析対象について、前記決定木を作成することにより、分析対象の数値属性値に基づき、分析対象全体のデータサイズを予め小さくした後に決定木を作成するので、決定木作成時のデータアクセス時間を削減することができる。
【００１７】
本発明の情報処理装置は、複数の属性のデータを１組とする複数の分析対象、あるいは、前記複数の属性のうちの一部の複数の属性のデータを１組とする複数の分析対象について、前記分析対象の複数の属性のうちの１つを選択しながら階層的にグループ分けをして決定木を作成する情報処理装置において、前記分析対象の複数の属性のうちの少なくとも１つは、その値が数値で表される数値属性であって、前記複数の分析対象の前記数値属性の値の分布から、その分布を所定間隔の区画に分割する該数値属性の概算値を算出する手段と、前記複数の分析対象のそれぞれの前記数値属性の値をその近傍の前記概算値に変換する手段と、変換後の数値属性の値を含む前記分析対象の複数の属性の値が全て同じである複数の分析対象を１つの分析対象として、新たな複数の分析対象を作成する手段と、前記新たな複数の分析対象について、前記決定木を作成する手段と、を具備したことにより、分析対象の数値属性値に基づき、分析対象全体のデータサイズを予め小さくした後に決定木を作成するので、決定木作成時のデータアクセス時間を削減することができる。
【００１８】
【発明の実施形態】
以下、本発明の実施形態について、図面を参照して説明する。
【００１９】
図１７は、本発明の実施形態に係る情報処理装置の主要部の構成例を示したもので、主に、ＣＰＵ１０１、主記憶１０２、キャッシュメモリ１０３、表示部１０４、ハードディスク１０５、キーボードやマウス等の入力部１０８、フロッピーディスクドライブ１０９、ＣＤ−ＲＯＭドライブ１１０等から構成され、上記各構成要素はバスを用いて接続されている。ＣＰＵ１０１と主記憶１０２とキャッシュメモリ１０３は超高速バス（プロセッサバス）にて接続され、ハードディスク１０５や表示部１０４の高速性が要求される周辺装置を高速バス（例えば、ＰＣＩバス）にて接続され、この高速バスとブリッジ回路１０６にて接続される低速バスには、キーボードやマウス等の入力部１０８、フロッピディスクドライブ１０９、ＣＤ−ＲＯＭドライブ１１０、シリアル／パラレルインタフェース部１０７などの低速な周辺装置が接続されている。
【００２０】
このような構成において、ＣＰＵ１０１は、ハードディスク１０５に記憶されたプログラムやデータを読み出して、主記憶１０２上にロードしたり、主記憶１０２上に置かれたプログラムやデータを読み出して処理し、その処理結果を主記憶１０２に記憶したり、表示部１０４に表示させたり、また、主記憶１０２上のデータをハードディスク１０５に書き込む。
【００２１】
例えば、本実施形態に係る、予め定められた複数の属性を有する複数のレコードは、所定の端末装置から入力され、所定の通信回線を介して、図１７の情報処理装置のシリアル／パラレルインタフェース部１０７に入力されたり、直接、図１７の情報処理装置の入力部１０８から入力されるなどして、ハードディスク１０５にデータベースとして格納されているとする。この複数のレコードを分析処理データＤ１として、図１７の情報処理装置は、図８に記載した処理を実行する。
【００２２】
図８は、図１７の情報処理装置のデータ分析処理動作を説明するためのフローチャートである。
【００２３】
まず、本発明のデータ分析処理の概略を説明する。本発明では、分析対象データＤ１中の各数値属性の値の分布範囲を求め、その結果を基に、数値属性分布を所定の区画に分割する概算値を計算して、分析対象データＤ１の各レコードの数値属性の値をその概算値に変換し、同一の値を持つレコードを１つのレコードに集計して、概算化分析対象データを作成する。この概算化分析対象データに対し、従来と同様に（図３参照）、データ分析を行う。
【００２４】
なお、ここでは、数値属性とは、その値が数値で表される属性のことを意味する。
【００２５】
次に、図８を参照して、本発明のデータ分析処理について具体的に説明する。なお、図８において、従来のデータ分析処理（図３）と同一部分には同一符号を付している。
【００２６】
図１に示したような、自動車の販売データである複数のレコード群を分析対象データＤ１とし、図１の分析対象データＤ１から「車種」を目標属性として決定木を作成する場合を例にとり、以下、説明する。
【００２７】
まず、図１に示した分析対象データＤ１の各レコードについて、数値属性である「年齢」と「年収」の各々の数値の分布を測定する（ステップＳ１）。この際、図９に示すような数値の分布図が作られる。図９（１）は、「年齢」属性の数値分布図であり、図９（２）は「年収」属性の数値分布図である。各分布図上の（）内の数字は、レコードの識別ＩＤを示す。図９は、各レコードの数値属性の値を直線上に配置し、その最大値と最小値を与えられた数値単位に分割する目盛を配置することにより形成される。この目盛の値が概算値となる。すなわち、各レコードの数値属性の値（直線上のレコードの識別ＩＤの配置位置）の最も近傍にある目盛の値が、当該レコードの数値属性の値の概算値とする。
【００２８】
続いて、図９に示した分布図を基に、各レコードの数値属性の値に最も近い目盛の値をその数値属性の値の概算値とする（ステップＳ２）。ここでは、各レコードの「年齢」と「年収」の値の概算値が求められる。例えば、「年齢」属性の値が「２４」である場合は、その概算値は「２０」となり、「年齢」属性の値が「４５」である場合は、その概算値は「５０」となり、「年収」属性の値が「３０」あるいは「６０」である場合は、その概算値は「０」となり、「年収」属性の値が「４５０」である場合は、その概算値は「５００」となる。概算値となった各レコードを図１０に示す。
【００２９】
次に、図１０の数値属性の値が概算化された分析対象データ内で各属性「性別」、「年齢」、「年収」、「車種」に対して全く同じ属性値を持つレコードを１つにまとめ新たに識別ＩＤをつける（ステップＳ３）。その結果として、概算化分析対象データＤ３が生成される。例えば、図１０の概算化された分析対象データを概算化分析対象データとした例を図１１に示す。すなわち、図１０のレコードのうち、「性別」、「年齢」、「年収」、「車種」の値が全く同じである、識別ＩＤ「１」と「８」のレコードが１つにまとめられて、新たなレコードとして、図１１に示すように、新たな識別ＩＤ「１」が付けられている。また、図１０のレコードのうち、識別ＩＤ「２」と「５」のレコードが１つにまとめられて、新たなレコードとして、図１１に示すように、新たな識別ＩＤ「２」が付けられている。図１０のレコードのうち、上記以外のレコードに対しては、そのまま、新たな識別ＩＤ「３」〜「６」のみが与えられている。
【００３０】
この後の処理は、従来の決定木を作る処理と同じである。すなわち、まず、上記概算化分析データＤ３（図１１参照）をそのまま分割対象データとして抽出し（ステップＳ１１）、どの属性で分割するかテストする（ステップＳ１２）。
【００３１】
この場合は、従来と同様、「性別」属性で分割されたとし、図１２に示すレコード群と、図１３に示すレコード群に分割される（ステップＳ１３）。この時に作られる決定木も従来と同様、分割に用いた属性（「性別」）と分割条件（例えば、「男」か「女」か）を、メモリ、ディスク等の記憶装置に、決定木（データ）Ｄ２として記憶する。すなわち、図１４に示す決定木が作られる。
【００３２】
さらに、図１２に示したレコード群が分割対象データとして抽出され（ステップＳ１１）、この分割対象データを分割するために用いる属性を決定すべくテストされる（ステップＳ１２）。その際、数値属性である「年齢」又は「年収」の属性で全レコードをソートして目標属性である「車種」の属性のまとまりが良くなる分割の位置を発見する。この場合、「年齢」属性が３０歳で分割すると決定する。次に、ステップＳ１３で図１２のレコード群を分割し、図１４のノードＮ１に、分割に用いた属性（「年齢」）と分割条件（３０歳未満か、以上か）が追加され、図１５に示す決定木が生成される。
【００３３】
最後に、図１３に示したレコード群が分割対象データとして抽出され（ステップＳ１１）、この分割対象データを分割するために用いる属性を決定すべくテストされる（ステップＳ１２）。その際には、数値属性である「年齢」又は「年収」の属性で全レコードをソートして、目標属性である「車種」の属性のまとまりが良くなる分割の位置を発見する。この場合、「年収」属性を用いて、「５００万円」を分割条件として分割すると決定する。次に、ステップＳ１３で、図１３のレコード群を分割し、図１５のノードＮ２に、分割に用いた属性（「年収」）と分割条件（５００万円未満か５００円以上か）が追加され、図１６に示す決定木が生成される。
【００３４】
ここで、図８のステップＳ１２において、分割対象データを分割するために用いる属性を決定するためのテスト方法であって、上記参考文献に記載されているテスト方法について説明する。ここで説明するテスト方法は、以下に定義する利得と呼ぶ評価基準を用いたものである。この評価基準は、「メッセージによって伝えられる情報量はメッセージの生起確立で決まる」という情報理論的な考え方に基づく。すなわち、情報量は、確率の値の「２」を底とする対数を取り、それを−１倍して計算され、ビット単位で表される。従って、例えば、８種類の等確率のメッセージがあれば、その各々のメッセージによって伝えられ情報量は、  −ｌｏｇ２（１／８）ビット、すなわち、３ビットとなる。
【００３５】
事例の集合Ｓからランダムに１つの事例を選び出し、それがクラスＣｉに属していると知らせたとする。このメッセージの確率は、
【００３６】
【数１】
0003579349.tif 000002
であり、それが伝える情報量は、
【００３７】
【数２】
0003579349.tif 000003
となる。このようなクラスの所属関係に関するメッセージの平均情報量を求めるために、Ｓ内での頻度で重み付けしてクラス全体に対する平均を求めると、
【数３】
0003579349.tif 000004
【００３８】
を得る。この量は集合Ｓのエントロピーとも呼ばれる。これを図１の分析対象データとしてのレコードの集合Ｔに適用すれば、ｉｎｆｏ（Ｔ）は、Ｔ内にある１つの事例が属するクラスを同定するのに必要な情報量の平均値となる。
【００３９】
さて、テストＸのｎ通りの結果に合わせて、Ｔが分割された後について、同様な評価を考えよう。このときクラスを同定するのに必要な情報量の期待値は、部分集合上で荷重平均をとって、
【数４】
0003579349.tif 000005
【００４０】
となる。これらの差
ｇａｉｎ（Ｘ）＝ｉｎｆｏ（Ｔ）−ｉｎｆｏｘ（Ｔ）
は、テストＸでＴを分割することによって獲得されっる情報量を表す。この情報量の利得は、テストＸとクラスとの相互情報量とも呼ばれる。これを最大にするようテストを選ぶ基準を、利得基準と呼ぶ。
【００４１】
具体例として、図１に示すレコードの集合を考える。以下のｌｏｇ（Ｘ）は、２を底とする対数である。
【００４２】
図１のデータでは、ＲＶのクラスが「２」、スポーツのクラスが「２」、軽自動者のクラスが「２」、セダンのクラスが「２」であり、
ｉｎｆｏ（Ｔ）
＝−２／８×ｌｏｇ（２／８）−２／８×ｌｏｇ（２／８）
−２／８×ｌｏｇ（２／８）−２／８×ｌｏｇ（２／８）
＝−０．２５×（−２）−０．２５×（−２）
−０．２５×（−２）−０．２５×（−２）
＝２．０
である。
【００４３】
次に、性別、年齢、年収のいずれで分割するかをテストする。
【００４４】
まず、性別で分割する場合、性別＝「男」では、ＲＶのクラスが「２」、セダンのクラスが「２」で、性別＝「女」ではスポーツのクラスが「２」、軽自動車のクラスが「２」となり、
ｉｎｆｏｘ（Ｔ）
＝４／８×（−２／４×ｌｏｇ（２／４）−２／４×ｌｏｇ（２／４））
＋４／８×（−２／４×ｌｏｇ（２／４）−２／４×ｌｏｇ（２／４））
＝０．５×（（−０．５×−１）−（０．５×−１））
＋０．５×（（−０．５×−１）−（０．５×−１））
＝１．０
である。
【００４５】
年齢で分割する場合、年齢のフィールドでレコードをソートし、年齢がある値より大きなレコードと小さなレコードに分割する。ここでは８レコードのデータがあるので７通りの分割の方法がある。
【００４６】
年齢を１８歳以下と１９歳以上に分割した場合、年齢が１８歳以下では、軽自動車のクラスが「１」となり、年齢が１９歳以上では、軽自動車のクラスが「１」、ＲＶのクラスが「２」、セダンのクラスが「２」、スポーツのクラスが「２」となる。
【００４７】
ｉｎｆｏｘ（Ｔ）
＝１／８×（−１／１×ｌｏｇ（１／１））
＋７／８×（−２／７×ｌｏｇ（２／７）−２／７×ｌｏｇ（２／７）
−２／７×ｌｏｇ（２／７）−１／７×ｌｏｇ（１／７））
＝０＋７／８×（０．５１６＋０．５１６＋０．５１６＋０．４０１）
＝１．７０５
である。
【００４８】
年齢を２３歳以下と２４歳以上に分割した場合、年齢が２３歳以下では、軽自動車のクラスが「１」、ＲＶのクラスが「１」となり、年齢が２４歳以上では、軽自動車のクラスが「１」、ＲＶのクラスが「１」、セダンのクラスが「２」、スポーツのクラスが２となる。
【００４９】
0003579349.tif 000006
である。
【００５０】
年齢を２４歳以下と２５歳以上に分割した場合、年齢が２４歳以下では、軽自動車のクラスが「１」、ＲＶのクラスが「２」となり、年齢が２５歳以上では、軽自動車のクラスが「１」、セダンのクラスが「２」、
スポーツのクラスが「２」となる。
【００５１】
ｉｎｆｏｘ（Ｔ）＝
３／８×（−１／３×ｌｏｇ（１／３）−２／３×ｌｏｇ（２／３））
＋５／８×（−１／５×ｌｏｇ（１／５）−２／５×ｌｏｇ（２／５）
−２／５×ｌｏｇ（２／５））
＝３／８×（０．５２８＋０．３９０）＋５／８×（０．４６４＋０．５２９＋
０．５２９）
＝０．３４４＋０．９５１
＝１．３０
である。
【００５２】
年齢を２７歳以下と２８歳以上に分割した場合、年齢が２７歳以下では、軽自動車のクラスが「１」、ＲＶのクラスが「２」、スポーツのクラスが「１」となり、年齢が２８歳以上では、軽自動車のクラスが「１」、セダンのクラスが「２」、スポーツのクラスが「１」となる。
【００５３】
ｉｎｆｏｘ（Ｔ）
0003579349.tif 000007
である。
【００５４】
年齢を２９歳以下と４５歳以上に分割した場合、年齢が２９歳以下では、軽自動車のクラスが「１」、ＲＶのクラスが「２」、スポーツのクラスが「２」となり、年齢が４５歳以上では、軽自動車のクラスが「１」、セダンのクラスが「２」となる。
【００５５】
0003579349.tif 000008
である。この値は、年齢を２４歳以下と２５歳以上に分割した場合の値と同じである。
【００５６】
年齢を４５歳以下と４６歳以上に分割した場合、年齢が４５歳以下では、軽自動車のクラスが「１」、ＲＶのクラスが「２」、スポーツのクラスが「２」、セダンのクラスが「１」となり、年齢をが５歳以上では、軽自動車のクラスが「１」、セダンのクラスが「１」となる。
【００５７】
0003579349.tif 000009
である。
【００５８】
年齢で分割する場合に、ｉｎｆｏｘ（Ｔ）の値が一番小さいのは、年齢を２４歳以下と２５歳以上に分割した場合と、年齢を２９歳以下と４５歳以上に分割した場合であり、その値は、「１．３」となる。
【００５９】
年収で分割する場合も年収のフィールドでレコードをソートし、年収がある値より大きなレコードと小さなレコードに分割する。
【００６０】
詳細は省略するが、年収４５０万円以下と年収４５１万円以上で分ける場合に、年収４５０万円以下で軽自動車のクラスが「２」、ＲＶのクラスが「２」、年収４５１万円以上でスポーツのクラスが「２」、セダンのクラスが「２」となり、
0003579349.tif 000010
となる。この分け方が年収で分けた場合に、ｉｎｆｏｘ（Ｔ）の値が一番小さい値となる。
【００６１】
以上により、性別で分割する場合のｉｎｆｏｘ（Ｔ）の値は「１．０」、年齢で分割する場合のｉｎｆｏｘ（Ｔ）の値は「１．３」、年収で分割する場合のｉｎｆｏｘ（Ｔ）の値は「１．０」であり、性別か年収で分けると、情報量の利得、すなわち、ｇａｉｎ（Ｘ）＝ｉｎｆｏ（Ｔ）−ｉｎｆｏｘ（Ｔ）の値が「１」となり、年齢で分ける場合の情報量の利得ｇａｉｎ（Ｘ）＝０．７より多い。従って、図１のレコードの集合Ｔを性別か年収で分けることにする。
【００６２】
性別と年収のどちらで分けるかは任意に決めて良いが、上記実施形態では、性別で分けている。
【００６３】
さて、上記実施形態によれば、図８のステップＳ１１からステップＳ１３までのデータ分析処理において、図１６に示したような決定木を作成するためのデータアクセス回数は、図１１のデータから図１４の決定木を作成するために６レコードのデータへのアクセス、図１２のデータから図１５の決定木を作成するために３レコードのデータへのアクセス、図１３のデータから図１６の決定木を作成するために３レコードのデータへのアクセスを行い、合計で、１２レコードへのアクセスで決定木の生成が終了している。すなわち、図８のステップＳ１１からステップＳ１３までの処理に先立って、分析対象データＤ１のデータ量を削減することにより、従来と比べてデータアクセス回数の削減を実現している。
【００６４】
本発明によるデータ量の削減は、ネットワーク等で接続された複数の計算機のそれぞれの記憶装置上に置かれている大量のレコードから決定木を作成する場合に特に有効である。すなわち、例えば、各小売店に設置された、分散処理型の各計算機において、その日の販売データとしての複数のレコードを、所定の記憶装置に記憶しておく。この各小売店の計算機で記憶した複数のレコードは、この各小売店の計算機とネットワークを介して接続されたセンタの計算機に、定期的に送られて、データ分析（図８のステップＳ１１〜ステップＳ１３の処理）を行う場合を想定する。この場合、各小売店の計算機において、その記憶装置上に記憶した複数のレコードを、上記した手法（図８のステップＳ１〜ステップＳ３）により予め概算化してデータ量を削減しておく。この削減されたデータ（すなわち、概算化分析対象データ）を、ネットワークを介してセンタに設置された計算機上へ送り出すことにより、センタにおいて、各小売店の各計算機上のデータをネットワーク経由で集めて分析する際にネットワーク上のトラフィックを低く抑えることが可能になり、分析の速度の向上を図ることが出来る。
【００６５】
以上説明したように、上記実施形態によれば、分析対象データＤ１中の数値属性の値を概算値に変換し、同一の値を持つレコードを１つのレコードに集計して、概算化分析対象データを作成する。この概算化分析対象データに対し、従来と同様にデータ分析を行う（決定木を作成する）ことにより、分析処理（図８のステップＳ１１〜ステップＳ１３の決定木作成処理）時のデータアクセス時間を削減することができる。
【００６６】
なお、上記実施形態では、分析対象データＤ１は、複数の属性値を有するレコードの集合であり、この複数の属性のうち数値属性を上記したように概算値に変換した結果、上記複数の属性値が全て一致するものをまとめて、概算化分析対象データを作成するようになっていたが、この場合に限らず、分析対象データＤ１の複数の属性のうちの一部の属性を対象にして、その一部の属性値が全て一致するレコードを１つにまとめて概算化分析対象データを作成して、この一部の属性を有する概算化分析対象データに対し、決定木を作成するようにしても上記同様の効果がある。
【００６７】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピーディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【００６８】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００６９】
【発明の効果】
以上説明したように、本発明によれば、分析処理（決定木作成処理）時のデータアクセス時間を削減することができる。
【図面の簡単な説明】
【図１】分析対象データの一例を示した図。
【図２】図１の分析対象データから作成された決定木の一例を示した図。
【図３】従来の決定木を作成するための処理手順を説明するためのフローチャート。
【図４】図１の分析対象データを分割対象データとして、「性別」属性で分割（グループ分け）した結果であって、当該属性値が「男」である分析対象データのグループを示した図。
【図５】図１の分析対象データを分割対象データとして、「性別」属性で分割（グループ分け）した結果であって、当該属性値が「女」である分析対象データのグループを示した図。
【図６】図１の分割対象データを「性別」属性で分割（グループ分け）した結果、作成された決定木を示した図。
【図７】図４に示した分割対象データを「年齢」属性で分割（グループ分け）した結果を図６の決定木に追加することにより作成された決定木を示した図。
【図８】本発明の実施形態に係る情報処理装置のデータ分析処理動作を説明するためのフローチャート。
【図９】分析対象データのもつ複数の属性のうち、数値属性である「年齢」属性と、「年収」属性の値のそれぞれについて、図１の分析対象データの分布を示した図。
【図１０】図１の分析対象データの数値属性の値を概算化した値に変換した結果を示した図。
【図１１】属性値が全く同じ複数の分析対象データを１つの分析対象データとして、分析対象データ全体に新たな識別ＩＤを付して生成された概算化分析対象データを示した図。
【図１２】図１１の概算化分析対象データを分割対象データとして、「性別」属性で分割（グループ分け）した結果であって、当該属性値が「男」である分析対象データのグループを示した図。
【図１３】図１１の概算化分析対象データを分割対象データとして、「性別」属性で分割（グループ分け）した結果であって、当該属性値が「女」である分析対象データのグループを示した図。
【図１４】図１１の分割対象データを「性別」属性で分割（グループ分け）した結果、作成された決定木を示した図。
【図１５】図１２に示した分割対象データを「年齢」属性で分割（グループ分け）した結果を図１４の決定木に追加することにより作成された決定木を示した図。
【図１６】図１３に示した分割対象データを「年収」属性で分割（グループ分け）した結果を図１５の決定木に追加することにより作成された決定木を示した図。
【図１７】本発明の実施形態に係る情報処理装置の主要部の構成例を示した図。
【符号の説明】
１０１…ＣＰＵ
１０２…主記憶
１０３…キャッシュメモリ
１０４…表示部
１０５…ハードディスク
１０６…キーボードやマウス等の入力部
１０９…フロッピーディスクドライブ
１１０…ＣＤ−ＲＯＭドライブ
【図１】
0003579349.tif 000011
【図２】
0003579349.tif 000012
【図３】
0003579349.tif 000013
【図４】
0003579349.tif 000014
【図５】
0003579349.tif 000015
【図６】
0003579349.tif 000016
【図７】
0003579349.tif 000017
【図８】
0003579349.tif 000018
【図９】
0003579349.tif 000019
【図１０】
0003579349.tif 000020
【図１１】
0003579349.tif 000021
【図１２】
0003579349.tif 000022
【図１３】
0003579349.tif 000023
【図１４】
0003579349.tif 000024
【図１５】
0003579349.tif 000025
【図１６】
0003579349.tif 000026
【図１７】
0003579349.tif 000027