JPH11345124A - データベース内のルール決定方法及び装置 - Google Patents

データベース内のルール決定方法及び装置

Info

Publication number
JPH11345124A
JPH11345124A JP10149790A JP14979098A JPH11345124A JP H11345124 A JPH11345124 A JP H11345124A JP 10149790 A JP10149790 A JP 10149790A JP 14979098 A JP14979098 A JP 14979098A JP H11345124 A JPH11345124 A JP H11345124A
Authority
JP
Japan
Prior art keywords
data
value
attribute
rule
bucket
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
Application number
JP10149790A
Other languages
English (en)
Inventor
Yasuhiko Morimoto
康彦 森本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM Japan Ltd
Original Assignee
IBM Japan Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by IBM Japan Ltd filed Critical IBM Japan Ltd
Priority to JP10149790A priority Critical patent/JPH11345124A/ja
Priority to US09/322,215 priority patent/US6317735B1/en
Publication of JPH11345124A publication Critical patent/JPH11345124A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/962Entity-attribute-value
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Abstract

(57)【要約】 【課題】データの2つの述語数値属性に対応する2本の
軸により張られる平面からその境界が滑らかな領域を切
り出し、その領域をデータの目的属性の予想に利用でき
るようにすること。 【解決の手段】データベース内のデータの目的属性に関
連し且つあるデータの目的属性値を予測するためのルー
ルを決定する際には、データベース内のデータの第1及
び第2の述語数値属性に対応する2つの軸を有し且つN
×M個のバケットに分割されている平面の各バケットに
対応して、当該バケットに属するデータに関する値を記
憶するステップと、平面から、所定の条件を満たすバケ
ットの領域を切り出す領域切出ステップと、切り出され
たバケットの領域の境界にスムージング処理を施すステ
ップと、スムージング処理後の領域により、あるデータ
の目的属性値を予測するためのルールを決定するルール
決定ステップとを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、あるデータの目的
属性の値の予測に関し、より詳しくは、決定木又はリグ
レッション・ツリーを用いた、あるデータの目的属性の
値の予測に関する。なお、決定木とは、あるデータの真
偽をとる属性値の真偽を予測するために構成されるツリ
ーであり、リグレッション・ツリーとは、あるデータの
数値属性の値を予測するために構成されるツリーであ
る。
【0002】
【従来の技術】特開平9−179883号公報は、デー
タベース内のデータの2つの述語数値属性に対応する2
本の軸を有し且つ複数の矩形バケットに分割された平面
を用意し、各バケットに対応して当該バケットに含まれ
るデータの数及びバケットに含まれるデータの、真偽を
とる属性が真であるデータの数を記憶し、所定の条件に
従って、平面の1つの軸に対し凸な、バケットの領域を
平面から切り出し、切り出された領域を用いてデータ間
結合ルールを導出する方法を開示している。本公報は、
データベース内のデータ間の結合ルールを導出するのが
目的であり、連結したバケット群により領域が構成され
るため、領域の形状は角張っている。
【0003】また、文献1(K.Yoda, T.Fukuda, Y.Mori
moto, S.Morishita, and T.Tokuyama, "Computing Opti
mized Rectilinear Regions for Association Rules,"
KDD-97 Proceedings Third International Conference
on Knowledge Discovery andData Mining, pp96-103, T
he AAAI Press, ISBN 0-1-57735-027-8)は、上記公報
とは異なり、所定の条件に従って、直交凸な、矩形バケ
ットの領域を平面から切り出す方法を開示している。本
論文においても、データベース内のデータ間の結合ルー
ルを導出するのが目的であり、連結した矩形バケット群
により領域が構成されるため、領域の形状は角張ってい
る。
【0004】さらに、文献2(Y.Morimoto, H.Ishii, a
nd S.Morishita, "Efficient Constructioni of Regres
sion Trees with Range and Region Splitting," Proce
edings of the Twenty-third International Conferenc
e on Very Large Data Bases, pp166-175, Aug. 1997)
は、リグレッション・ツリーにおいて、データベース内
のデータの2つの述語数値属性に対応する2本の軸を有
し且つ複数の矩形バケットに分割された平面を用意し、
各バケットに対応して当該バケットに含まれるデータの
数及びバケットに含まれるデータの目的数値属性の値の
和を記憶し、目的数値属性の値の平均自乗誤差を最小化
するようなバケットの領域を平面から切り出し、切り出
された領域内に含まれるデータに関するノード及び領域
外のデータに関するノードを作成する方法を開示してい
る。リグレッション・ツリー自体は、未知のデータにお
ける数値属性値を予測するのに用いることができる。但
し、目的数値属性の値の平均自乗誤差を最小化するよう
なバケットの領域は、先に示した平面の一つの軸に対し
て凸な領域又は直交凸な領域であって、連結した矩形バ
ケット群により構成されるため、領域は角張った形をし
ている。
【0005】
【発明が解決しようとする課題】以上の従来技術では、
領域切り出しアルゴリズムの性質のため、切り出された
領域は矩形バケットの集合で角張った形をしていた。し
かし、平面の二本の軸に対応する2つの数値属性の値は
連続値であって、予測対象のデータの対応する2つの数
値属性の値も連続値として与えられるのにもかかわら
ず、領域を矩形バケット単位で切り出しているので、そ
の領域の境界線は予測を行うのに十分な信頼性を有して
いるか不明である。このため、予測の結果が異なってく
る場合も考えられる。さらに、決定木又はリグレッショ
ン・ツリーでは、木が成長していくごとに、ノードに含
まれるデータの数は減少していくので、1つの矩形バケ
ットの大きさが大きくなっていく。そうすると、切り出
される領域もいびつな領域が切り出されるようになる。
この場合も領域の境界線の妥当性には疑問がある。但
し、上記のような平面から滑らかな曲線による領域を直
接切り出すことは計算量からして不可能である。
【0006】以上から、本発明の目的は、データの2つ
の述語数値属性に対応する2本の軸により張られる平面
からその境界が滑らかな領域を切り出し、その領域をデ
ータの目的属性の予想に利用できるようにすることであ
る。
【0007】また、切り出された領域により、決定木又
はリグレッション・ツリーのノードを構成することも目
的である。
【0008】さらに、予測精度の向上を図ることも目的
である。
【0009】
【課題を解決するための手段】本発明は、データベース
内のデータの目的属性に関連し且つあるデータの目的属
性値を予測するためのルールを決定する方法であって、
データベース内のデータの第1及び第2の述語数値属性
に対応する2つの軸を有し且つN×M個のバケットに分
割されている平面の各バケットに対応して、当該バケッ
トに属するデータに関する値を記憶するステップと、平
面から、所定の条件を満たすバケットの領域を切り出す
領域切出ステップと、切り出されたバケットの領域の境
界にスムージング処理を施すステップと、スムージング
処理後の領域により、あるデータの目的属性値を予測す
るためのルールを決定するルール決定ステップとを含
む。よって、スムージング処理を施した後のバケットの
領域により、あるデータの目的属性値を予測することが
できる。
【0010】上で述べた「バケットに属するデータに関
する値」は、バケットに属するデータの数及び当該バケ
ットに属するデータの目的属性に関する値とすることも
考えられる。
【0011】なお、目的属性が数値属性である場合(リ
グレッション・ツリーの場合)には、上述の「目的属性
に関する値」は、バケットに属するデータの目的属性の
数値の和であり、目的属性が真偽をとる属性である場合
(決定木の場合)には、上述の「目的属性に関する値」
は、バケットに属するデータであってその目的属性値が
真であるデータの個数とすることもできる。
【0012】領域切出ステップにおける「所定の条件」
には、(a)目的属性の値の平均自乗誤差を最小にする
こと(又はインタークラス・バリアンスを最大化するこ
と)、(b)目的属性の離散値のエントロピー・ゲイン
を最大化すること,(c)目的属性の離散値のGINI
インデックス関数値を最大化すること、(d)目的属性
の離散値のカイ(χ)2乗値を最大化すること、(e)
目的属性が真偽をとる属性であって、目的属性が真であ
るデータの割合がある定められた値以上であって、含ま
れるデータ数が最大となること、又は(f)最低限含ま
れるデータ数が定められた場合、目的属性が真であるデ
ータの割合が最大となること、という条件が考えられ
る。なお、リグレッション・ツリーにおいては(a)の
条件を用いることが好ましい。
【0013】上で述べたスムージング処理は、領域の境
界のスプライン曲線化処理とすることも考えられる。ま
た、スムージング処理において、領域を第1の述語数値
属性に対応する軸に平行なN本の重複のないストライプ
の、第2の述語数値に対応する軸に平行な辺内に制御ポ
イントを設定するステップを含むようにすることも考え
られる。この際、さらに、制御ポイントを通過する曲線
を設定するステップ(例えば図11)、又は隣接する制
御ポイントを結ぶ直線の中点を通過する曲線を設定する
ステップ(例えば図12)を実施するようにすることも
考えられる。境界をスプライン曲線にすることにより、
予測精度が上げられる。
【0014】また、上述のルール決定ステップは、スム
ージング処理後の領域内部のデータに関するノードと、
領域外部のデータに関するノードとを追加したツリーを
作成するステップを含むようにすることも考えられる。
リグレッション・ツリー又は決定木の場合、このように
してノードを作成していく。但し、本発明は、ツリーの
ノードが1つであるような場合にも用いることができ
る。
【0015】以上本発明の処理のフローを説明したが、
本発明はこれらの処理を実施する装置や、コンピュータ
にこれらの処理を実施させるプログラムの形態によって
も実施可能である。このプログラムを、フロッピー・デ
ィスクやCD−ROM等の記憶媒体又は他の形態の記憶
装置に格納することは、当業者が通常行う事項である。
【0016】
【発明の実施の形態】リグレッション・ツリー(例えば
図2のようなツリーで、Regは図3のような領域であ
る。Ageは年齢、Years Employed は勤続年数、nは
データ数、mは給与額。給与額の平均値の最小自乗誤差
が小さくなるようにツリーを構築する例)を構築するた
めの大きな処理の流れを図1に示す。最初に、データ集
合Dのデータが終端条件を満たしているか検査する(ス
テップ102)。データ集合Dが初期データ集合であれ
ば、終端条件を満たしていないので、次のステップに進
む。一方、以下説明する処理を何回も実行した結果のデ
ータ集合であれば、ユーザの決めた所定の終端条件を満
たす場合もある。この終端条件を満たす場合は、処理を
終了する(ステップ110)。
【0017】次に、インタークラス・バリアンスを最大
化するルールR(より一般的には所定の条件を満たすル
ールR)を、述語数値属性の組み合わせについて計算す
る(ステップ104)。リグレッション・ツリーを構築
する場合には、平均自乗誤差を最小化する最適な分割ル
ールを算出する必要がある。しかし、文献2で示されて
いるように、平均自乗誤差を最小化するということはイ
ンタークラス・バリアンスを最大化するということと等
価であって、計算コストなどの観点からインタークラス
・バリアンスを最大化する領域を見つけ出すようにす
る。特に問題がなければ、全ての組み合わせについて計
算する。また、ここでは初めから2つの数値属性から分
割ルールRを構築することを目的としているため、述語
数値属性の組み合わせについて実行するとしている。し
かし、場合によっては、1つの述語属性についての分割
ルールRを用いて、データ集合を分割できる場合もあ
る。これは、他の属性と相関の小さい1つの述語属性で
あれば可能である。よって、ステップ104では、その
ような1つの述語属性についてルールを求めるようにし
てもよい。
【0018】そして、導出されたルールの中で最もイン
タークラス・バリアンスが大きいルール(より一般的に
は、所定の条件を満たす最適な述語数値属性の組み合わ
せについてのルール)でもって、データ集合DをD1及
びD2に分割する(ステップ106)。ステップ104
で述べたように、1つの述語属性について求めたルール
についても、インタークラス・バリアンス(より一般的
には所定の条件)を計算すれば、このステップ106で
比較を実行することができる。そして、データ集合Dを
D1又はD2として、上記のステップを実行する(ステッ
プ108)。
【0019】1つの述語属性についての処理は従来技術
どおりであるから、以下、2つの述語数値属性について
インタークラス・バリアンスを最大化するルールRの構
築方法について述べる。
【0020】最初に図4で、処理の概要を説明する。最
初に、2つの述語数値属性に対応する平面を構成し、当
該平面をメッシングする(ステップ122。図5参照の
こと)。各メッシュ・エレメントは、データ集合Dのう
ち、当該メッシュに属するタップルの数、及び当該メッ
シュ・エレメントに属するタップルの目的数値属性の和
(後に述べる目的属性が真偽をとる属性の場合、目的属
性値が真であるタップル数)を格納している。図5のよ
うなメッシュされた平面の構成方法は任意である。例え
ば、データ集合Dから適当な数のデータをサンプリング
して、そのサンプリングされたデータを各数値属性ごと
にソートし、そのソートの結果を用いてメッシュ・エレ
メントの境界値を求め、全てのデータを各メッシュ・エ
レメントに分類する方法も考えられる。また、全てのデ
ータをソートして、そのソートの結果を用いてメッシュ
・エレメントの境界値を決定してもよい。また、最初に
メッシュ・エレメントの境界値を決定して、全てのデー
タを境界値に従って分類することも可能である。メッシ
ュ・エレメントのことをバケットと呼ぶ。
【0021】そして、この平面から切り出される領域R
の形状を指定する(ステップ124)。このステップ
は、最初に実行されるようにしてもよい。切り出される
領域Rの形状には、x単調、直交凸、ベース単調があ
る。これについては後に述べる。但し、他の形状にする
ことも考えられる。最後に、プロービング・パラメータ
θを変化させて、インタークラス・バリアンスを最大化
する領域R(より一般的には所定の条件を満たす領域
R)を平面から切り出す(ステップ126)。この領域
Rを分割ルールRとするものである。
【0022】この領域切り出しの方法は、ハンドプロー
ブという手法によって行われる。この手法は、領域R内
のタップル数x(R)と、領域R内のタップルの目的数
値属性の和(後に述べる目的属性が真偽をとる属性の場
合には、タップルの真偽をとる目的属性値が真であるタ
ップル数)y(R)とを2軸とする平面(図6)におい
て、全ての領域族Rに対する(x(R),y(R))か
らなる点集合をP(図6の白及び黒丸)とし、Pの凸包
をconv(P)(図6の黒丸)とした時に、凸包co
nv(P)上の点を幾何学的手法で高速に計算する方法
である。このハンド・ブローブは、タッチング・オラク
ル(Touching Oracle)、即ち「傾きθを持つ直線y=
θx+Aを仮定し、その直線が凸包conv(P)に接
するようY切片Aを最大化(又は最小化)させ、凸包と
の接点を求める」ことにより、凸包を求める方法であ
る。プロービング・パラメータθはこの傾きθを意味す
る。
【0023】求めようとするインタークラス・バリアン
スを最大化する点は、図6のような平面上の凸包con
v(P)上に存在する。インタークラス・バリアンス
は、ある分割ルールRに対して、 V(R)=|Dtrue|(μ(Dtrue)−μ(D))2+|Dfalse|
(μ(Dfalse)−μ(D))2 なお、あるデータ集合Dに対し、ルールを満足するデー
タ集合Dtrue、ルールを満足しないデータ集合をD
false、|D|をデータ集合Dにおけるデータ数、μ
(D)をデータ集合Dにおける目的数値属性の平均値と
している。このインタークラス・バリアンスV(R)
は、図5のメッシングされた平面G上の全てのデータ数
をN、全データの目的数値属性の値の和をy(G)とし
た場合、以下の式に変形される。
【数1】 ここで、x(R)=x,y(R)=yとし、簡単のため
平面G上の全データの目的数値属性の平均y(G)/N
=0であると仮定すると、N≠0の時y(G)=0とな
り、このインタークラス・バリアンス関数V(x,y)
=f(x,y)は以下のように表される。
【数2】
【0024】そして、インタークラス・バリアンス関数
の凸関数性から、次の事項が導き出される。2つのプロ
ービング・パラメータ値でプロービングして得られた2
つの頂点(接点)をそれぞれI(left),I(right)とす
る(図7)。この2つを得るために利用した2つの接線
の交点Q(I)のインタークラス・バリアンス値が、検
索における現時点までに発見された最大のインタークラ
ス・バリアンス値より大きくない場合、凸包上でI(lef
t)とI(right)の2つの頂点間の頂点に対応するいかな
る分割も最大インタークラス・バリアンスを与えない。
すなわち、Q(I)のインタークラス・バリアンス値
は、I(left)とI(right)の間の凸包上の全ての点のイ
ンタークラス・バリアンス値よりも大きく、アッパー・
バウンドと呼ばれる。そして、Q(I)がそれまでに発
見された最大のインタークラス・バリアンス値より大き
くない場合には、このI(left)とI(right)の間はもは
や探索する必要がないということである。
【0025】インタークラス・バリアンス関数の凸関数
性及び上記の性質より、図6及び図7の平面において、
効率よくインタークラス・バリアンス値を最大化する凸
包上の点を見出すことができる。次に、このインターク
ラス・バリアンス値を最大化する凸包上の点を見出すた
めに、θの設定方法の一例を図8乃至図10を用いて述
べる。
【0026】図8はメイン(MAIN)のフローを示す
図である。最初に、θ=−∞+ε(垂直)としてI(rig
ht)を、θ=∞−ε(垂直)としてI(left)を計算する
(ステップ132)。但し、εは凸包の左右の端点を求
めるのに十分小さな実数とする。このI(right)の図7
における座標(x,y)をインタークラス・バリアンス
関数f(x,y)(数1の変形)に入力したものをf
(I(right))とし、同様にI(left)の場合にはf(I
(left))とする。この2つのインタークラス・バリアン
ス値のうち大きい方をfmaxに入れる(ステップ13
4)。そして、このI(right)及びI(left)のアッパー
バウンドQ(I)のインタークラス・バリアンス値f
(Q(I))を∞とし、且つこのf(Q(I))をBmax
いう変数に入れる(ステップ136)。そして、I(rig
ht)とI(left)の区間をIとして、区間の集合Sに入れ
る(ステップ138)。
【0027】ここで、区間の集合Sに含まれるIのアッ
パーバウンドのインタークラス・バリアンス値f(Q
(I))の中で最大のものをBmaxに入れる(ステップ1
40)。最初の繰り返しでは、Iは1つでf(Q(I))
=∞であるから、この値が再度Bmaxに入れられる。そ
して、繰り返しの終了条件である、fmax≧Bmax又はS
が空集合かどうかを検査する(ステップ142)。最初
の条件fmax≧Bmaxは、これまでに求められた凸包上の
点のインタークラス・バリアンスの最大値fmaxより大
きいアッパーバウンドのインタークラス・バリアンスの
最大値Bmaxが存在しないということを表す。もし、こ
の条件が満たされた場合には、fmaxである領域Rが求
めるべきルールRを表すので、この領域Rを出力する
(ステップ144)。一方、終了条件を満たさない場合
には、SEARCH&PRUNE処理を呼び出す(ステップ14
8)。
【0028】このSEARCH&PRUNE処理を図9に示す。この
処理では最初に、f(Q(I))がBm axとなるIを取り出
し、このIについて処理する(ステップ152)。最初
の繰り返しではI(right)とI(left)の区間Iがそのま
ま取り出される。そして、Split処理が呼び出され
る(ステップ154)。このSplit処理は、区間I
を分割する処理であって、図10を用いて後に説明す
る。そして、Split処理が終了した後に、区間の集
合S内に含まれる区間のうち、fmax≧f(Q(I))であ
る区間Iを取り除く(ステップ158)。このfmax
f(Q(I))は、f maxより区間Iのアッパーバウンドの
インタークラス・バリアンスf(Q(I))が大きくなけ
れば、その区間Iは探索しても、求めるべき凸包上の点
はないからである。
【0029】では、Split処理を説明する(図1
0)。ある区間Iを分割するため、その区間Iを区間の
集合Sから除去する(ステップ162)。θをI(left)
及びI(right)を接続する線の傾きにセットする(ステ
ップ164)。そしてθに対する接点I(mid)を計算す
る(ステップ166)。もし、I(mid)がI(right)及び
I(left)を接続する線上に存在する場合には(ステップ
168)、このI(left)及びI(right)の間にはもはや
凸包上の点はないので、SEARCH&PRUNEに戻る(ステップ
178)。
【0030】一方、I(left)及びI(right)を接続する
線より上側にI(mid)が存在する場合には、fmaxとf
(I(mid))のうち大きい方をfmaxに入れる(ステップ
170)。そして、IをI1=[I(left),I(mid)]と
2=[I(mid),I(right)]に分割する(ステップ1
72)。さらに、f(Q(I1))及びf(Q(I2))を計
算する(ステップ174)。最後に、I1及びI2を区間
の集合Sに追加する(ステップ176)。その後、SEAR
CH&PRUNE処理に戻る(ステップ178)。
【0031】以上の処理を実施すると、探索不要の区間
が早い段階で枝刈りできるので、高速に所望の凸包上の
点を求めることができる。但し、図8乃至図10は、凸
包の上側のみを扱うため、下側については、以下に述べ
る数3に示す式のθに対する最大化を最小化に置き換え
ることで同様に行うことができる。また、凸包の下側が
上側で求まったインタークラス・バリアンスより大きく
なければ採用する意味がないので、上側で求まったイン
タークラス・バリアンスの値を、下側の枝刈に用いると
より高速に処理できるようになる。
【数3】
【0032】以上は、図4のステップ126におけるプ
ロービング・パラメータθの決定の方法であるが、図8
乃至図10の処理において明らかなように、1つのθに
ついて、インタークラス・バリアンス値や図6上の座標
値((x,y),数1ではx(R),y(R))を求め
るためには、図5の平面における具体的な領域切り出し
が必要である。Appendix Aに、1つのθが決
められた時の、x単調な領域(ベース単調も含む)の領
域切り出しアルゴリズム、AppendixBに、1つ
のθが決められた時の、直交凸領域の領域切り出しアル
ゴリズムについて説明する。
【0033】そして、ステップ126において切り出さ
れた領域Rの境界をスムージングする(ステップ12
7)。まず、切り出された領域Rの例を図11及び図1
2に示す。ハッチングが付された領域がステップ126
にて切り出された領域である。切り出された領域の境界
を、同じく図11及び図12に示されているように、ス
プライン曲線化する。図15に第1のスプライン曲線
(図11)を求めるためにどのような処理を行うかを示
す。まず、制御ポイントを決定する(ステップ18
3)。制御ポイントは、図11及び図12に示すよう
に、縦軸に平行な重複のない、バケットのストライプの
横軸に平行な辺の中点である。すなわち、ストライプの
x座標(横軸方向)がa1<x<a2で、y座標(縦軸方
向)がb1<y<b2である場合には、((a1+a2)/
2,b1)及び((a1+a2)/2,b2)の点である。
但し、このような点に制限される分けではなく、(a1
+a2)/2はa1からa2の間で設定できる。
【0034】そして、fi(x)は制御ポイントxi及び
i+1を通過し、fi'(xi+1)=fi+ 1'(xi+1)(xi+1
で一階微分が同一)、且つfi''(xi+1)=fi+1''(x
i+1)(xi+1でニ階微分が同一)であるfi(x)をす
べてのiについて決定する(ステップ185)。図13
に示すように、制御ポイントx1からx2までの区間がf
1(x)で、x2からx3までの区間がf2(x)であり、f
1及びf2は(x2,f1(x2))(x2,f2(x2))を通
過している。滑らかに接続するため、f1及びf2の一階
及びニ階微分はx2で同一値でなければならない。な
お、fi(x)は三次多項式をここでは想定している。こ
のようにして決定されたfi(x)により、各区間の領域
境界を変更する(ステップ187)。
【0035】また、図12は、制御ポイントを通過しな
いスプライン曲線(Bスプラインの場合もある)を設定
するものである。この場合、制御ポイントを設定するの
は図15と同じである(図16:ステップ193)。そ
して、図14に示すように、隣接する各制御ポイントを
結ぶ直線の中点間が1つの区間であり、この中点をf
i(x)は通過する。すなわち、(xi+xi+1)/2から
(xi+1+xi+2)/2が1つの区間であって、これらの
点をfiは通過する。図14のf1は、((x1+x2)/
2,f1((x1+x2)/2))及び((x2+x3)/2,
1((x2+x3)/2))を通過する。さらに、隣接す
る制御ポイントの中点では、一階微分が同一値を有す
る。すなわち、fi'((xi+1+xi+2)/2)=fi+1'
((xi+1+xi+2)/2)=(yi+2−yi+1)/(xi+2
−xi+1)である。これらの条件を満たすfi(x)をす
べてのiについて求める(ステップ195)。そして、
各区間をfi(x)により変更する(ステップ197)。
【0036】なお、図11及び図12を参照すれば分か
るように、切り出された領域の右端及び左端のストライ
プについては、それぞれ右端の縦軸に平行な辺の中点、
左端の縦軸に平行な辺の中点にも制御点を設けている。
但し、必ずしも中点である必要はない。また、制御ポイ
ントは、領域の境界を上端のみではなく、下端にも設
け、同じような処理を実施する。図11及び図12の場
合には、後に述べるベース単調な領域が切り出されてい
るので、角を円くするためには、右端及び左端のストラ
イプについてのみ領域の下端に制御ポイントを設けてい
る。x単調及び直交凸な領域については、全てのストラ
イプについて上下に制御ポイントを生成し、例えばスプ
ライン曲線化する。
【0037】以上のようにすれば、図11及び12のよ
うなスプライン曲線に、切り出された領域の境界を変更
することができ、図4における処理を終了する(ステッ
プ128)。
【0038】以上はリグレッション・ツリーを生成する
場合の例であった。次に、決定木を生成する場合の処理
について説明する。決定木の場合、目的属性は、数値属
性ではなく、例えば真偽をとる属性(より一般的にはj
個の離散値をとる)となる。よって、以下のような条件
を用いる。
【0039】(1)コンフィデンス最大化ルールの場合 コンフィデンス最大化ルールとは、最低限含まれるデー
タ数が定められた場合、真偽をとる属性が真であるデー
タの割合が最大となるようなルールである。切り出され
た領域R内に含まれるデータ数はサポートと呼ばれ、最
小限度のサポートminsupは全体のデータ数に対する領域
Rに含まれるデータ数の割合を表す。ある領域Rに含ま
れるデータ数をx(R)とし、その領域Sに含まれるデ
ータのうち目的属性(真偽をとる属性)の値が真である
データの数をy(R)とし、平面(図5)全体のデータ
数をUsumとし、平面全体のデータでその目的属性の値
が真であるデータ数をVsumとすると、以下の手順でコ
ンフィデンスを最大化するルールを導き出すことができ
る。
【0040】まず、最小限度のサポートminsupを入力す
る(図18:ステップ910)。ここで、Umin=Usum
×minsupを計算しておく。ここで図17を見てみると、
最小限度サポートと記された縦の点線がこの値に対応す
る。まず、θ=1で領域S1を求める(ステップ92
0)。そして、このS1に含まれるデータ数x(S1)
が、x(S1)>Uminを満たすかどうか判断する(ステ
ップ930)。もし成立するならば、S1を解として決
定し(ステップ950)、処理を終了する(ステップ9
90)。成り立たない場合、領域S2を平面全体を表す
イメージとする。すなわち、x(S2)=Usum,y(S
2)=Vsumと代入する(ステップ940)。そして、X
Xを介して図19に移行する。
【0041】図19では、XXから始まり、新たな条件
θを求め、このθに対する領域Sを計算する(ステップ
1400)。このθは θ=(y(S2)−y(S1))/(x(S2)−x(S
1)) にて計算される。そして、S1=S又はS2=Sであるな
らば、(S1,S2)の間にはこれ以上凸包上の点は存在
しないので、コンフィデンスの高いS2が最良解として
出力され、処理を終了する(ステップ1410)。ま
た、x(S)≒Uminであるならば、Sを出力し、処理
を終了する。
【0042】ところが、x(S)<Uminであると(ス
テップ1420)、まだ処理が必要なので、S1=Sと
して(ステップ1440)、ステップ1400に戻る。
同様に、x(S)>Uminであるならば、S2=Sとして
(ステップ1430)、ステップ1400に戻る。
【0043】これを繰り返すことにより解が見つけられ
る。図17を参照すると、先に説明した最小限度のサポ
ートの右側、濃く塗られた部分に解の存在する範囲があ
る。そして、この図17の場合には、凸包の内部の白丸
の点が厳密解となるが、本発明ではハンド・プローブに
て得られた近似解が出力される。
【0044】(2)サポート最大化ルールの場合 真偽をとる目的属性の値が真であるデータの割合がある
定められた値以上であって、含まれるデータ数(サポー
ト)が最大となるようなルールである。まず、ルールの
定義より、最小限度のコンフィデンスminconf(領域R
に包含されるデータ数に対する真偽をとる属性が真であ
るデータ数の割合)を入力する(図20:ステップ11
10)。図17の場合、最小限度のコンフィデンスと示
され、原点から引かれた点線がこれに該当する。まず、
領域S2を平面全体を表すものとする。すなわち、x
(S2)=Usum,y(S2)=Vsumと代入する(ステッ
プ1120)。そして、minconf≦y(S2)/x(S
2)であるかを判断する(ステップ1130)。もしこ
の条件が成立するならば、S2を解として決定し(ステ
ップ1160)、処理を終了する(ステップ119
0)。条件が成立しないならば、θ=1で領域S1を求
める(ステップ1140)。そして、minconf>y(S
1)/x(S1)が成り立つかどうか判断する(ステップ
1150)。もし成り立つならば、解は存在せず、処理
を終了する。成り立たないならば、Yを介して図24へ
移行する。
【0045】図21では、Yから処理が開始され、θ=
(y(S2)−y(S1))/(x(S2)−x(S1))
として領域Sを求める(ステップ1200)。この求め
られた領域Sに対し、(1)minconf≒y(S)/x
(S)が成立する場合には、このSを出力して処理を終
了する(ステップ1210)。また、S1=S若しくは
S2=Sである場合には、これ以上S1とS2の間には解
は無いので、S1を最良解として出力し、処理を終了す
る(ステップ1210)。これに対し、minconf<y
(S)/x(S)である場合には(ステップ122
0)、S1=Sとしてステップ1200に戻る(ステッ
プ1230)。また、minconf>y(S)/x(S)で
ある場合には、S2=Sとしてステップ1200に戻る
(ステップ1240)。
【0046】以上のようにして、サポート最大化ルール
が求められる。もう一度図17に戻ると、先に説明した
最小限度のコンフィデンスとして示した点線より上の濃
く塗られた範囲に解が存在する。そして、この例では凸
包内の白丸の点が厳密解であるが、このように凸包内部
の点は見つけ出すのに膨大な計算量を必要とするので、
凸包上の点でサポートを最大にする近似解を出力するよ
うにしている。また、目的属性が数値属性である場合で
も、サポート最大化ルールを採用する場合もある。その
場合に、y(R)には、領域Rに含まれるデータの目的
数値属性の値の和を用いる。
【0047】(3)最適化エントロピ・ルールの場合 最適化エントロピ・ルールとは、領域の内部と外部との
分割を考えた時、分割前の情報量と比較した分割後の情
報量の増分を最大化するルールである。よって、切り出
された領域と平面全体のエントロピのゲイン(以下の
式)が最大となる領域を発見すればよい。
【数4】 このxはx(R)、yはy(R)、aはUsum、bはVs
umである。このような条件も、解は凸包上に存在するこ
とが分かったので、上述と同じような処理を用いること
ができる。よって、θを変化させ、数4を最大化する領
域を求めればよい。
【0048】以下の条件(及び最適化エントロピー・ル
ール)はいずれも、領域R(=ルールR)により分離さ
れるデータ集合における目的属性の値の分布が、元のデ
ータの分布といかに異なるのかを数値化したものであ
る。ここでは、ルールRがデータ集合SをS1とS2(=
S−S1)に分割するとする。また、目的属性がj個の
離散的な値をとり、集合S内にi番目の値を有するデー
タがそれぞれxi(S)個(i=1,...j)存在する
とした場合、集合Sはj次元空間上のベクトルx(S)
で表わすことができる。同様に、ルールRも同じj次元
空間上のベクトルx(S1)で表わすことができ、以下、
データの分布を評価する評価関数はこれらのベクトルを
用いて表現する。なお、部分集合S1内のi番目の値の
分布比率をpi(S1)=xi(S1)/|S1|としてい
る。
【0049】(4)GINIインデックス関数の最大化 データ集合をあるルールRで分割したとき、2つの値を
とる目的属性値の誤り率を最小化するために用いられ
る。評価関数の形式は以下のとおりである。
【数5】 このようなGINIインデックス関数を最大化する領域
Rは、図5に示したような平面において、インタークラ
スバリアンスを最大化するときと同じように、ハンドプ
ローブを行えばよい。すなわち、1つのプロービング・
パラメータθについて領域Rを計算し、その領域内外の
データについて数5の評価値を計算する。そしてθを変
化させて、数5の評価値が最大になるまで繰り返す。
【0050】(5)カイ(χ)二乗関数の最大化 データをあるルールRで分割した時、元のデータ集合で
の、2値属性である目的属性値のデータ分布と分割後の
データ集合の目的属性の値データ分布に有意な差がな
い、という統計学でいう帰無仮説を最も強く否定するた
めに用いられる。評価関数の形式は以下のとおりであ
る。
【数6】 この場合にも、プローピング・パラメータθを変化させ
て、各θごとに領域Rを切り出して、数6を最大化する
領域Rを見つけ出す。
【0051】(6)インタークラス・バリアンス最大化 目的属性が真偽をとる属性の場合でも、インタークラス
・バリアンスを最大化するルールを採用する場合があ
る。
【0052】以上のような条件に従う領域RをルールR
として、決定木及びリグレッション・ツリーにおけるノ
ードを作成することができる。以下に、あるプロービン
グ・パラメータθが決まった時に領域Rを切り出すため
に行われる処理について説明する。
【0053】Appendix Ax単調な領域の切り
出しアルゴリズム 図5に示したステップ122の平面の構成まで終了して
いるものとする。なお、各メッシュ・エレメントは、デ
ータ集合Dのうち、当該メッシュ・エレメント(i,
j)に属するタップルの数u(i,j)(データ数とも言
う)、及び当該メッシュ・エレメントに属するタップル
の目的数値属性の和(目的属性が数値属性の場合)又各
メッシュ・エレメントに属するタップルの真偽をとる属
性の値が真であるタップルの総数(目的属性が真偽をと
る属性の場合)v(i,j)のデータを格納している。な
お、図5の平面において、iは縦軸方向の座標値、jは
横軸方向の座標値を示していることに注意する。
【0054】最初に、x単調の領域について説明してお
く。図22の左には、幅1のY軸方向に伸びる帯で切る
と必ず連結している例を示しており、このような領域を
x単調な領域という。右には、先の帯で切ると連結して
いない例が示されており、これはx単調とは言えない。
このようなx単調の領域を切り出す問題は、Y軸方向に
伸びる帯は必ず連結しているので、ダイナミックプログ
ラミングを用いて、それらを順々に連結していけば解く
ことができる。
【0055】上で述べたようにハンドプローブを用いて
傾きθの直線を下ろしていくということは、直線y=θ
x+AのY切片であるAを減少させることであり、言い
かえれば、図6の平面においてA=y(R)−θx
(R)を最大にするx(R)をX座標に有する点を求め
る問題となる。よって、
【数7】 と変形される。但し、
【数8】g(i,j)=v(i,j)−θu(i,j)
【0056】では、この数7をどのように解くかを考え
る。基本的には先に述べたダイナミック・プログラミン
グを用いた手法を用いる。まず、m列目より左のバケッ
トからなり、(m,t)の位置のバケットを含む領域を
考え、この中で目的関数である数8を最大化したものを
f(m,t)とすると、以下の条件を満たす。すなわ
ち、
【数9】 この数9のAは、t,lを含む連続区間(範囲)全体で
数9のBを最大化する連続区間(範囲)Iを見つけるこ
とを意味する(図23参照。図5と同じ平面)。
【0057】このIをcover(t,l)と記述する
こととする。いま、t≦lを仮定すると、次の定義され
るlow(t),high(l)を用いれば、
【数10】 となる。但し、low(t)は連続区間[i,t]全体
で数9のBが最大となるiであり、high(l)は連
続区間[l,j]全体で数9のBが最大となるjを言
う。
【0058】このlow(t)やhigh(l)はダイ
ナミック・プログラミング中では何度も用いられるの
で、low(t)やhigh(l)を高速に求めること
ができれば有効である。このため、連続区間[i,j]
中の数9のBが要素K(i,j)に入る行列Kを作る。
但し、i>jの場合にはK(i,j)=(i−j)x
(xは十分、その絶対値が大きい負の数。例えば、u
(i,j)を全体について加算した値より絶対値が大きいな
らば十分である。)としておく。すると行番号lにおい
て最大値を有する列の列番号がhigh(l)となる。
よって、すべてのl∈[1,N]についてhigh
(l)を求める問題は、Kの各行の最大値の列番号を求
める問題となる。このような計算は、O(N)の計算量
で行える。 最大値の列番号を求める場合に最大値かど
うかを判断するための行列の要素の比較を行う。
【0059】このKで各行の最大値に注目すると、行番
号が大きくなるにつれて最大値の列番号は単調に増加す
る。但し、同じ行に最大値が複数個ある時には、左端の
みを考える。このような行列を「単調な行列」と呼ぶ。
証明は省略するがこの行列Kは「完全単調な行列」(任
意の部分行列が単調行列であるような行列。)でもあ
る。単調な行列の全ての行の最大値を有する列番号を計
算するにはO(NlogN)の計算量が必要である。こ
の完全単調な行列の各行の最大値の列番号を求めるアル
ゴリズムは周知であり、例えば、「計算幾何学」浅野哲
夫著,朝倉書店,1990年9月の第4章「計算幾何学
の基本的技法」に記載されている。
【0060】同様にしてlow(t)を計算する場合に
は、連続区間[i,j]中の数9のBが要素L(j,
i)に入る行列Lを作り、行番号tにおける最大値を有
する列の列番号を求めれば、low(t)になる。今度
は上三角部分(i>j)を−∞とする。このような行列
も完全単調な行列である。
【0061】このようにして求めたlow(t)及びh
igh(l)を用いれば、cover(t,l)が求ま
り、数9の変形である以下の式が計算可能となる。
【数11】
【0062】f(m,t)を最大にするような、領域を
見い出すには、f(m,t)の計算をX軸(図23参
照。X,Yは2種類の数値属性に対応する軸)に垂直な
帯について順に行い、その帯を記憶しておき、それらを
連結すれば求まる。
【0063】さらに高速化するには、
【数12】 を要素として有する行列Mを作り、行番号tの最大値が
f(m,t)となる。Mは先に説明した完全単調な行列
であり、すべてのtについてf(m,t)はO(N)で
計算することができる。よって、すべてのmについてf
(m,t)を計算するには、O(N2)の計算量が必要
となる。
【0064】以上詳細を述べたが、必要なステップを以
下に示しておく。 (1)全てのX軸に垂直な帯についてlow(t),h
igh(l)を計算しておく。 (2)low(t),high(l)によりcover
(t,l)が求まるので、数12を要素とする行列Mを
計算する。 (3)行列Mの各行の最大値を求め、その値をf(m,
t)として記憶する。 (4)切り出されるべき領域全体を把握するために、行
列Mの各行の列番号lをs(m,t)に入力する。 (5)f(m,t)を最大にするm,tを求め、(4)
で作ったs(m,t)及びs(m,t)に記憶されてい
るlを用いて前列のlow(t),high(l)でも
って、領域を把握する。
【0065】なお、ここではインタークラス・バリアン
ス値(又はその他の条件に当たる評価値)も求めなけれ
ばならないので、x(R)及びy(R)(数13及び数
14参照)も必要である。この計算は、領域全体を求め
てから行ってもよいし、計算途中で途中経過を保持して
おくことも可能である。
【数13】
【数14】
【0066】以上のステップを図24及び図25に示
す。ステップ610で開始した処理は、ステップ620
においてm=1の初期化を行う。そしてm=Nx+1で
あるかを判断する(ステップ630)。これはループを
Nx回繰り返すためであり、Nxはu(i,j)とv(i,j)の列
数である。
【0067】この後に、
【数15】 を計算しておき、この行列の各行の最大値を求め、その
列番号jをhigh(m,i)とする(ステップ64
0)。これにより、前記平面(図23)のm列目のhi
gh(i)が求まった。
【0068】また、
【数16】 を計算しておき、この行列の各行の最大値を求め、その
列番号jをlow(m,i)=jとする(ステップ65
0)。これにより、前記平面(図23)のm列目のlo
w(i)が求まった。
【0069】その後にmを1インクメントして(ステッ
プ660)、ステップ630に戻る。このように、まず
lowとhighを最初にすべて計算しておく。図25
の計算を実行するごとに必要なlowとhighを計算
するようにしてもよいが、この例のように一度に計算し
てしまってもよい。上述のように一度に計算した後に処
理はXを介して図25に進む。
【0070】図25においてXから、f(m,t)を計
算する。まず、図23のような前記平面の一番左の列に
ついて処理する。すなわち、
【数17】 をt=1からNyについて計算する(ステップ71
0)。Nyはu(i,j)とv(i,j)の行数である。このよう
にすると、数12の第1項の初期値となるものが計算さ
れたこととなる。
【0071】また、s(1,t)=−1としておく、こ
れは、最初の列であるから、これ以上前の列には連結が
あり得ないことを明示するためである。
【0072】そして、m=2以降の値を計算するため
に、m=2とし(ステップ720)、以下のループをN
x−1回まわすため、m=Nx+1かどうか判断する(ス
テップ730)。もし、m=Nx+1でなければ、f
(m−1,i)(1≦i≦Ny)に負の値が一つでもあ
る場合には、t=1からNyまで、
【数18】 を計算する(ステップ742)。ここで、coverm
(t,t)は、m列目のcover(t,t)の意味で
ある。そして、
【数19】 この行列Mの各行の最大値の列番号を求める(ステップ
744)。但し、その列iの最大値とf'(m,i)と
比較して大きい方をf(m,i)とする。そして、s
(m,t)には、f'(m,t)がMのt行の最大値よ
りも小さいときにはlを、そうでなければ−1を入れ
る。これは、前列までの連結を保存した方が切り出され
る領域の目的関数の値が大きくなるか、それとも前列ま
での連結を放棄した方が目的関数の値が大きくなるかと
いう判断をしているのである。
【0073】このようにs(m,t)は連結状態を保存
するためにあるので、ある(m,t)が決まれば、s
(m,t)を手繰って遡り、領域がどのように連結する
ものかを後にみることができる。
【0074】この後に、mを1インクリメントし(ステ
ップ750)、ステップ730に戻る。繰り返しが全て
終われば、f(m,t)を最大とするm,tが求まる。
f(m,t)を作りながら、常に最大となるm,tを保
持しておき、新たに作成された部分につき保持している
m,tより大きな点を見い出した場合には更新するよう
にしていけばよい。このm,tを用いて、s(m,t)
から、前列のlが求まる。このlとtのうち小さい方を
lowに大きい方をhighに入力する。例えば、tの
方が小さければ、low(m,t),high(m,
l)が求まる。また、s(m−1,l)から、さらに前
列のl'が求まるので、low(m−1,l),hig
h(m−1,l')を求める。(ここでは、lの方がl'
より小さい。)これを繰り返していくと、イメージSの
全体が分かる(ステップ760)。あるs(m,t)に
て−1が得られれば、その領域は終了する。これにて、
傾きθを入力した場合に、そのθに対応するx単調な領
域Rを得ることができたので、処理を終了する(ステッ
プ770)。
【0075】なお、ベース単調の場合には、low
(t)(又はhigh(l))を常に所定の値に固定す
れば、同様の処理にて求められる。
【0076】Appendix B 直交凸領域の切り出しアルゴリズム この処理は直交凸領域を先に作成した平面から切り出す
ものである。直交凸領域の例を図26に示す。直交凸領
域は、(1)y軸に平行な線との交わりが必ず連続か空
であって、且つ(2)x軸に平行な線との交わりが必ず
連続か空な領域を言う。図26の上側の領域は、y軸に
平行な、いかなる線との交わりも連続か空であり、且つ
x軸に平行な、いかなる線との交わりも連続か空である
ので直交凸領域であると言える。一方、図26の下側の
領域は、x軸に平行な線との交わりは必ず連続又は空で
あるが、y軸に平行な線でとの交わりは連続でないもの
を含んでいる。よって、この領域は直交凸ではない。
【0077】x単調な領域の切り出しと前提は同じであ
るから、数7を解くことになる。ここでは、最初に、直
交凸領域の性質を領域内部のバケット同士の関係によっ
て表現する。Rをピクセル平面内の直交凸領域とする。
l,mrをそれぞれRの左端、右端の列番号とする。R
の第m列(ml≦m≦mr)の下端及び上端のピクセル番
号をそれぞれs(m),t(m)とする。これらの位置
関係は図27を参照するとよく分かる。第m列の区間
[s(m),t(m)]の変化傾向を第m−1列の区間
との比較によって次のように定義する。 (a)W−Type:広がり型 (図28左上) s(m−1)≧s(m),t(m−1)≦t(m)の場
合 (b)U−Type:上昇型 (図28右上) s(m−1)≦s(m),t(m−1)≦t(m)の場
合 (c)D−Type:下降型 (図28左下) s(m−1)≧s(m),t(m−1)≧t(m)の場
合 (d)N−Type:狭まり型 (図28右下) s(m−1)≦s(m),t(m−1)≧t(m)の場
【0078】m=mlの列は全変化傾向に属し、上の不
等式の等号が成り立つ場合、その列は複数の変化傾向に
同時に属する。上の定義から直交凸領域内のどの列の区
間も上の4種類のタイプのいずれかに属する。
【0079】また、直交凸領域の性質から、ある変化傾
向の列の左隣の列の変化傾向は次の条件を満たす。すな
わち、 (1)W−Typeの左隣の列はW−Typeである。 (2)U−Typeの左隣の列はW−Type又はU−
Typeである。 (3)D−Typeの左隣の列はW−Type又はD−
Typeである。 (4)N−Typeの左隣の列はW−Type、又はU
−Type、又はD−Type、又はN−Typeであ
る。
【0080】このような条件を満たす領域は逆に言うと
直交凸領域であると言える。これらの条件は、図29に
状態遷移図として示されている。図中のW,U,D,N
は、それぞれW−Type、U−Type、D−Typ
e、N−Typeであり、矢印を1つたどるごとに1つ
右隣の列の状態に遷移する。
【0081】全ての直交凸領域は領域の右端の列の変化
傾向によって先に示した4つの種類に分類できる。ここ
で、4つの種類を総称してXタイプ(X∈{W,U,
D,N})と呼ぶ。列の区間のタイプと同様に、領域の
タイプも複数のタイプに同時に属する場合もある。
【0082】また、右端が第m列の区間[s,t]であ
るXタイプの直交凸領域のゲインの最大値をfm X(s,t)
と表す。そして、4つのタイプ領域のゲインのうち最も
大きいものを、fm(s,t)と表す。すなわち、
【数20】 である。このfm(s,t)をm=0,...Nx−1(∀
(s≦t))について求めて、それらの中で最大のもの
を選びだせば、それが先の平面内の全ての直交凸領域の
ゲインの最大値となる。
【0083】この最大値を求めるために、m=0...
x−1に対して順番に、fm(s,t)(∀(s≦t))を
全て計算するという方針をとる。
【0084】次にm=0、すなわち第1列のf0 X(s,t)
を計算する。この場合、全てのタイプで同一である。こ
れは、
【数21】 で求められる。
【0085】そして、fm-1 X(s,t) (∀X∈{W,U,
D,N},(∀(s≦t)))を求める。以下は、各タ
イプごとに説明する。
【0086】(a)広がり型(W−Type)の場合 第m列の区間[s,t]を最右端とする直交凸領域であ
って第m列がW−Typeである領域のゲインの最大値
m W(s,t)は、以下の式により求められる。
【数22】 ここで、maxを求める時に、s=tの場合は数22の
(1)(2)式だけで比較をし、大きい方の値を用い
る。その他の場合は(1)乃至(4)のすべてから最も
大きい値を用いる。
【0087】数22の(1)式は、第m列の区間[s,
t]だけからなる領域(幅1の縦長の長方形)のゲイン
を表す。また(2)式は、第m−1列がW−Typeで
その区間が[s,t]、且つ第m列も区間[s,t]で
右端となっている領域のうち最大のゲインを表す。これ
は、図30(a)に表したような場合を示す。なお、直
交凸領域の性質から第m列がW−Typeであれば第m
−1列がW−Typeであることは決まる。
【0088】また(3)式は、第m−1列がW−Typ
eであって、その区間[s(m−1),t(m−1)]
が、s(m−1)≧s,t(m−1)≦t−1を満た
し、第m列の区間[s,t]で右端という領域のうち最
大のゲインを示す。これは、図30(b)のような形状
を意味する。第m−1列の上端は、t−1以下であり、
下端はs以上である。(4)式は、第m−1列がW−T
ypeであって、その区間[s(m−1),t(m−
1)]がs(m−1)≧s+1,t(m−1)≦tを満
たし、第m列の区間[s,t]で右端という領域のうち
最大のゲインを表す。これは、図30(c)のような形
状を意味する。第m−1列の上端はt以下であり、下端
はs+1以上である。(2)乃至(4)式は、W−Ty
peの左列はW−Typeしかあり得ないということが
考慮されている。
【0089】以上のfm W(s,t)の計算を一列中の全ての
区間[s,t]に対して行う。この計算は図31のアル
ゴリズムに従う。以上のように、第m列が領域の右端で
第m−1列からの変化傾向がW−Typeという領域の
うち最大のゲインが得られる。
【0090】(b)上昇型(U−Type)の場合 最初に以下の式の値を求めておく。
【数23】
【数24】 これは、図32のようなアルゴリズムにて実行される。
【0091】以上の計算を用いて、第m列の区間[s,
t]を最右端とする直交凸領域であって第m列がU−T
ypeである領域のゲインの最大値fm U(s,t)は、以下
の式により求められる。
【数25】 (1)乃至(3)式は、s=tの場合に比較に用いら
れ、その際(4)式は用いられない。
【0092】数25の(1)式は、第m列の区間[s,
t]のみからなる領域(幅1の縦長の長方形)のゲイン
を表す。また、(2)式は、第m−1列がW−Type
であって、その区間[s(m−1),t(m−1)]
が、s(m−1)≦s,t(m−1)=tを満たし、第
m列は区間[s,t]で右端という領域のうち最大のゲ
インを表す。これは、図33(a)に示した形状の場合
であって、第m−1列の下端の上限はsである。
【0093】(3)式は、第m−1列がU−Typeで
あって、その区間[s(m−1),t(m−1)]が、
s(m−1)≦s,t(m−1)=tを満たし、第m列
は区間[s,t]で右端という領域のうち最大のゲイン
を表す。これは、図33(b)に示した形状の場合であ
って、第m−1列の下端の上限はsである。(4)式
は、第m−1列がW−Type又はU−Typeであっ
て、その区間[s(m−1),t(m−1)]が、s
(m−1)≦s,s≦t(m−1)≦t−1を満たし、
第m列は区間[s,t]で右端という領域のうち最大の
ゲインを表す。これは、図33(c)に示した形状の場
合であって、第m−1列の下端の上限はsであり、また
上端の範囲はs以上t−1以下である。(2)乃至
(4)式は、U−Typeの左隣列はW−Type又は
U−Typeしかあり得ないということが考慮されてい
る。
【0094】以上のfm U(s,t)の計算を一列中の全ての
区間[s,t]に対して行う。この計算は、図34に示
すアルゴリズムに従う。このように、第m列が領域の右
端でそこの変化傾向がU−Typeという領域のうち最
大のゲインが得られる。
【0095】(c)下降型(D−Type)の場合 最初に以下の式の値を計算しておく。
【数26】
【数27】 これらの計算は、図35に示されたアルゴリズムにより
実行される。(1)乃至(3)式は、s=tの場合に比
較に用いられ、その際(4)式は用いられない。
【0096】以上の計算を用いて、第m列の区間[s,
t]を最右端とする直交凸領域であって第m列がD−T
ypeである領域のゲインの最大値fm D(s,t)は、以下
の式により求められる。
【数28】
【0097】数28の(1)式は、第m列の区間[s,
t]のみからなる領域(幅1の縦長の長方形)のゲイン
を表す。また、(2)式は、第m−1列がW−Type
であって、その区間[s(m−1),t(m−1)]
が、s(m−1)=s,t(m−1)≧tを満たし、第
m列は区間[s,t]で右端という領域のうち最大のゲ
インを表す。これは、図37(a)に示した形状の場合
であって、第m−1列の上端の下限はtである。
【0098】(3)式は、第m−1列がD−Typeで
あって、その区間[s(m−1),t(m−1)]が、
s(m−1)=s,t(m−1)≧tを満たし、第m列
は区間[s,t]で右端という領域のうち最大のゲイン
を表す。これは図37(b)に示した形状の場合であっ
て、第m−1列の上端の下限はtである。(4)式は、
第m−1列がW−Type又はD−Typeであって、
その区間[s(m−1),t(m−1)]が、s+1≦
s(m−1)≦t,t(m−1)≧tを満たし、第m列
は区間[s,t]で右端という領域のうち最大のゲイン
を表す。これは図37(c)に示した形状の場合であっ
て、第m−1列の上端の下限はtであって、下端の範囲
はs+1以上t以下である。(2)乃至(4)式は、D
−Typeの左隣列はW−Type又はD−Typeし
かあり得ないということが考慮されている。
【0099】以上のfm D(s,t)の計算を一列中の全ての
区間[s,t]に対して行う。この計算は図35のアル
ゴリズムに従う。このようにして、第m列が領域の右端
でそこの変化傾向がD−Typeという領域のうち最大
のゲインが得られる。
【0100】(d)狭まり型(N−Type)の場合 第m列の区間[s,t]を最右端とする直交凸領域であ
って第m列がN−Typeである領域のゲインの最大値
m N(s,t)は、以下の式により求められる。
【数29】 ここで、maxを求める時、各式は式の後ろの条件を満
たす場合にのみ用いられる。すなわち、(6)式はt>
y−1を満たす時のみ比較され、(7)式はs>0を
満たす場合にのみ比較に用いられる。
【0101】数29の(1)式は、第m列の区間[s,
t]のみからなる領域(幅1の縦長の長方形)のゲイン
を表す。(2)式は、第m−1列がW−Typeであっ
て、その区間が[s,t]であり、第m列は区間[s,
t]で右端という領域のうち最大のゲインを表す。これ
は図38(a)に示した形状の場合である。(3)式
は、第m−1列の区間[s,t]がU−Typeであっ
て、第m列は区間[s,t]で右端という領域のうち最
大のゲインを表す。これは図38(b)に示した形状の
場合である。(4)式は、第m−1列の区間[s,t]
がD−Typeであって、第m列は区間[s,t]で右
端という領域のうち最大のゲインを表す。これは図38
(c)に示した形状の場合である。(5)式は、第m−
1列の区間[s,t]がN−Typeであって、その区
間[s,t]であり、第m列は区間[s,t]で右端と
いう領域のうち最大のゲインを表す。これは図38
(d)に示した形状の場合である。
【0102】(6)式は、第m−1列がW−Type、
U−Type、D−Type又はN−Typeであっ
て、その区間[s(m−1),t(m−1)]が、s
(m−1)≦s,t(m−1)≧t+1を満たし、第m
列は区間[s,t]で右端という領域のうち最大のゲイ
ンを表す。これは図38(e)に示した形状であって、
第m−1列の上端の下限はt+1であり、下端の上限は
sである。(7)式は、第m−1列がW−Type、U
−Type、D−Type又はN−Typeであって、
その区間[s(m−1),t(m−1)]が、s(m−
1)≦s−1,t(m−1)≧tを満たし、第m列は区
間[s,t]で右端という領域のうち最大のゲインを表
す。これは図38(f)に示した形状であって、第m−
1列の上端の下限はtであり、下端の上限はs−1であ
る。
【0103】以上のfm N(s,t)の計算を一列中の全ての
区間[s,t]に対して行う。この計算は次のアルゴリ
ズムに図39に従う。このようにして、第m列の区間
[s,t]が領域の右端でそこの変化傾向がN−Typ
eという領域のうち最大のゲインが得られる。
【0104】上述の(a)乃至(d)の計算にて各列の
各[s,t]を右端とする領域の最大のゲインを計算す
ることができる訳であるが、それと同時に"領域"自体も
同時に記録しておく必要がある。これは、後の出力ステ
ップでは、この求められた直交凸領域内に含まれるデー
タを取り出すからである。
【0105】ここで、同じ最大値の領域が複数存在する
場合には、それらのうち先に見つかった方を解として取
り扱う。また、領域は縦方向の区間が横に並んだものと
して [s(ml),t(ml)],...[s(mr),t
(mr)] のように表現する。1列はNy行あるので、区間[s,
t](s≦t)の総数はNy(Ny+1)/2個ある。各
区間[s,t]は1つの整数pに一対一対応させる。
【0106】例えば、次の関数h(s,t)によって区
間[s,t]を1つの整数p=h(s,t)に対応させ
ることができる。すなわち、
【数30】 である。
【0107】逆に、区間を表す整数p(0≦p≦N
y(Ny+1)/2)から区間[s,t]は、次のように
求められる。
【数31】
【数32】 但し、このような計算はどの領域が最大のゲインを有す
るのかを決定する際には用いることはない。以後、
[s,t]は1つの整数と同一視して取り扱う。また、
上記数30は一例にすぎず、他の関数を用いても問題な
い。
【0108】次に領域を記憶しておく配列を用意する。
これは、Nx×Ny(Ny+1)/2の整数型2次元配列
であり、W,U,D,N−Typeのそれぞれに対して
1つ用意する。この要素HX(m,[s,t])(0≦m≦Nx
1,0≦[s,t]≦Ny(Ny+1)/2,X∈{W,U,
D,N})と表すこととする。
【0109】この要素HX(m,[s,t])には、ゲインがfm X
(s,t)の領域の第m−1列の区間[x,y]と、第m−
1列の第m−2列からの変化傾向Yを表す数値を記憶す
る。以下、HX(m,[s,t])=Y:[x,y]と表す。例え
ば、このHX(m,[s,t])を整数型32ビットで表現し、Y
の部分を上位2ビット、残りの下位ビットを[x,y]
を表すのに用いる(図40参照)。
【0110】但し、第m列が領域の左端列である場合
に、第m−1列にはつながらないことを表すために、こ
の下位ビットには領域の左端を表す値を入れる。例え
ば、先ほどの数32で区間を表現する例では、この下位
ビットにNy(Ny+1)/2以上の値を入れるか又は2
9ビット目を領域の左端を表すフラグにすればよい。
【0111】では、最終的に最大のゲインを有する直交
凸領域を求める処理を図41を用いて説明する。ステッ
プ1600で開始された処理は、最初にm=0として、
mを初期化する(ステップ1610)。次に、m=Nx
であるか判断する(ステップ1620)。これは、mが
xに達して、全ての列について以下の計算が終了した
かを判断するものである。もし、全ての列mについて計
算が終了していなければ、全ての[s,t]について、
W(m,[s,t])とfm W(s,t)、HU(m,[s,t])とfm U(s,t)、
D(m,[s,t])とfm D(s,t)、HN(m,[s,t])とfm N(s,t)を
計算し、その結果を記憶する。この計算の順番は任意で
ある。そして、各計算中それまでに計算されたゲインの
最大値より大きい値が計算されたならば、その値及びそ
のm,[s,t],Xを記憶しておく(ステップ163
0)。
【0112】ここで、HW(m,[s,t])とfm W(s,t)の計算
は、先に示した数22の計算を実施すればよい。よっ
て、HW(m,[s,t])は、数22の(1)式が最大であれ
ば領域の左端を表す値、(2)式が最大であればW:
[s,t],(3)式が最大であればHW(m,[s,t-1])、
(4)式が最大であればHW(m,[s+1,t])となる。以上の
ように、HW(m,[s,t])のみを考えれば、前列である第m
−1列は、必ずW−Typeであるから、第m−1列の
第m−2列からの変化傾向は記憶する必要ない。
【0113】また、HU(m,[s,t])とfm U(s,t)の計算
は、先に示した数25の計算を実施すればよい。よっ
て、HU(m,[s,t])には、数25の(1)式が最大であれ
ば領域の左端を表す値、(2)式が最大であればW:
[βm-1 W(s,t),t]、(3)式が最大であればU:
[βm-1 U(s,t),t]、(4)式が最大であればHU(m,
[s,t-1])が記憶される。
【0114】HD(m,[s,t])とfm D(s,t)の計算は、先に
示した数28の計算を実施すればよい。よって、HD(m,
[s,t])には、数28の(1)式が最大であれば領域の左
端を表す値、(2)式が最大であればW:[s,τm-1 W
(s,t)]、(3)式が最大であればD:[s,τm-1 D(s,
t)]、(4)式が最大であればHD(m,[s+1,t])が記憶さ
れる。
【0115】最後に、HN(m,[s,t])とfm N(s,t)の計算
は、先に示した数29の計算を実施すればよい。よっ
て、HN(m,[s,t])は、数29の(1)式が最大であれ
ば領域の左端を表す値、(2)式が最大であればW:
[s,t],(3)式が最大であればU:[s,t]、
(4)式が最大であればD:[s,t]、(5)式が最
大であればN:[s,t]、(6)式が最大であればH
N(m,[s,t+1])、(7)式が最大であればHN(m,[s-1,t])
となる。
【0116】ここまでで分かるように、すべてのf
m X(s,t)を記憶しておく必要はない。第m列の計算を実
施している時には、その第m列と第m−1列の計算結果
のみを用いる。よって、W,U,D,N−Typeごと
に2列分の記憶容量があればよい。但し、余裕があれば
全て記憶しておいてもよい。
【0117】図41のステップ1630を終了すると、
mを1インクリメントして(ステップ1640)、ステ
ップ1620に戻る。そして、この処理を全ての列につ
いて実施する。もし、全ての列について実施されたなら
ば、全ての列に関して最大のゲイン値を有していた領域
に関するm,[s,t],Xから、HX(m,[s,t])を参
照し、その値Y:[x,y]を取り出す(ステップ16
50)。ここまでの処理で、最右端列である第m列と、
その列の区間[s,t]、第m−1列とその区間[x,
y]が分かる。
【0118】次に、第m−1列で領域は左端となる場合
もあるので、[x,y]が左端を表す値であるか判断さ
れる(ステップ1660)。左端であれば、ここで処理
は終了する(ステップ1680)。左端でなければ、Y
をXとして、[x,y]を[s,t]として、m−1を
mとし(ステップ1670)、ステップ1650に戻
る。このように、[x,y]が左端を表す値となるま
で、この処理を繰り返せば、最大のゲイン値を有する直
交凸領域の各列の区間を得ることができる。
【0119】直交凸領域についてのインタークラス・バ
リアンス(又は他の条件に関する評価値)も、領域が求
まってから計算してもよいし、領域を求める途中で計算
結果を保持しておくようにすることも可能である。 #d Appendix C なお、データ数が少ない場合には、バケットの数を少な
くして、しらみつぶしに数3を最大化するような領域を
見つけだすことも可能である。
【0120】以上述べたアルゴリズムにて、平面から所
望の形状の領域Rを切り出すことができ、そして、その
領域RにてルールRが構成できる。なお、以上の説明
は、図6の平面の上側の凸包についての処理であり、下
側の凸包については、先に述べたように数3で示した式
を最大化する代わりに最小化を行うことにより同様に求
めることができる。
【0121】以上、本発明における処理のプロセスを説
明した。このような処理プロセスは、コンピュータ・プ
ログラムによって実現し、実行するようにしてもよい。
例えば、図42のような通常のコンピュータ・システム
において実行できるようなプログラムにすることもでき
る。処理プログラムは、HDD1050に格納され、実
行時にはメインメモリ1020にロードされ、CPU1
010によって処理される。また、HDD1050はデ
ータベースをも含んでおり、処理プログラムはそのデー
タベースに対するアクセスを行う。図5の平面や切り出
された領域R,またリグレッション・ツリー又は決定木
は、表示装置1060によってユーザに提示される。ユ
ーザは、入力装置1070にてツリーの構成命令又は条
件決定や、データ出力の命令を入力する。このような入
力装置には、キーボードやマウス、ポインティング・デ
バイスやディジタイザを含む。さらに、出力結果を補助
記憶装置であるFDD1030のフロッピー・ディスク
に記憶したり、また新たなデータをFDD1030から
入力することもできる。さらに、CD−ROMドライブ
1040を用いて、データを入力することもできる。
【0122】さらに、本発明の処理プロセスを実現した
コンピュータ・プログラムは、フロッピー・ディスクや
CD−ROMといった記憶媒体に記憶して、持ち運ぶこ
とができる。この場合、通常のデータベース検索プログ
ラムのデータ取り出し部分や、表示装置1060に表示
するだけの処理を行うプログラムは、すでにHDD10
50に記憶されている場合もある。よって、それ以外の
部分が、上記のような記憶媒体にて流通することは通常
行われる事項である。また、図示されていない通信装置
がバス1080に接続されており、遠隔地にあるデータ
ベースを用いて処理したり、処理結果を遠隔地に送信す
るようにしてもよい。
【0123】また、本発明の処理プロセスを実行する特
別の装置を構成するようにしてもよい。その一例を図4
3に示す。この装置のツリー構成モジュール400は、
データベース402及びハンド・プローブ・コントロー
ラ404に接続されている。ハンド・プローブ・コント
ローラ404は、平面構成モジュール406及び領域切
出モジュール1乃至3(408、410、412)に接
続されている。平面構成モジュール406は、領域切出
モジュール1乃至3に接続されている。
【0124】ツリー構成モジュール400は、リグレッ
ション・ツリー又は決定木の構築に必要な全体的な処理
を実施する。そして、データベース402から必要なデ
ータと取り出し、ハンド・プローブ・コントローラ40
4に出力する。また、ユーザからの評価関数等の条件の
指定も受信する。例えば、インタークラス・バリアンス
を最大化する、GINIインデックス関数を最大化する
等、上述した評価関数を指定する。ハンド・プローブ・
コントローラ404は、ハンド・プローブに必要なθの
設定等を実施する。さらに、形状指示を通じてユーザが
切り出そうとする形状の指定を受ける。ここでは、x単
調な領域(領域切出モジュール1が担当)、ベース単調
な領域(領域切出モジュール2が担当)、直交凸領域
(領域切出モジュール3が担当)を選択することがで
き、ハンド・プローブ・コントローラ404が起動する
領域切出モジュールを指定する。平面構成モジュール4
06は、ハンド・プローブ・コントローラ404からの
データを用いて、図5のような平面を構成し、各領域切
出モジュールに出力する。
【0125】以上の構成は一例であって、図43のよう
なモジュール分けを必ず実施しなければならないわけで
はない。上述した処理を実施するようなモジュールを、
必要に応じて分けたり、統合したりすることができる。
【0126】
【効果】データの2つの述語数値属性に対応する2本の
軸により張られる平面からその境界が滑らかな領域を切
り出し、その領域をデータの目的属性の予想に利用でき
るようになった。
【0127】また、切り出された領域により、決定木又
はリグレッション・ツリーのノードを構成することもで
きた。
【0128】以下に実験結果を示す。表1がx単調な領
域切出アルゴリズムを使用した場合、表2が直交凸領域
切出アルゴリズムを使用した場合の結果を示す。そし
て、各表では、バケット単位で切り出した場合、図11
の曲線化を使用した場合、図12の曲線化を使用した場
合、の誤差Err及びサイズSize(ツリーの終端ノ
ードの数)を示している。誤差Errは、予想した値と
実際の値の平均自乗誤差を予測する値の分散で正規化し
た値である。これを見ると、図12の曲線を用いると誤
差Errが小さくなっていることがわかる。よって、予
測精度の向上を図ることもできた。
【表1】
【表2】
【図面の簡単な説明】
【図1】リグレッション・ツリー構築処理の高レベルの
フローを示す図である。
【図2】リグレッション・ツリーの一例である。
【図3】2つの数値属性を取り扱う場合の分割ルールの
例である。
【図4】2次元領域切出しを実行する場合の高レベルの
フローを示す図である。
【図5】2つの数値属性により張られた平面を示す図で
ある。
【図6】x(R)y(R)平面を表す図である。
【図7】図6の平面上で凸包上の点を高速に求める方法
を説明するための図である。
【図8】図6の平面上で凸包上の点を高速に求める方法
の一例を示す図である。
【図9】図6の平面上で凸包上の点を高速に求める方法
の一例を示す図である。
【図10】図6の平面上で凸包上の点を高速に求める方
法の一例を示す図である。
【図11】スプライン曲線化の第1の例である。
【図12】スプライン曲線化の第2の例である。
【図13】スプライン曲線化の第1の例の特徴を説明す
るための図である。
【図14】スプライン曲線化の第2の例の特徴を説明す
るための図である。
【図15】スプライン曲線化の第1の例に関する処理フ
ローを説明するための図である。
【図16】スプライン曲線化の第2の例に関する処理フ
ローを説明するための図である。
【図17】x(R),y(R)平面の説明をするための
図である。
【図18】コンフィデンス最大化ルールを導出するため
の処理の一部を示すための図である。
【図19】コンフィデンス最大化ルールを導出するため
の処理の一部を示すための図である。
【図20】サポート最大化ルールの導出するための処理
の一部を示すための図である。
【図21】サポート最大化ルールの導出するための処理
の一部を示すための図である。
【図22】x単調な領域を説明するための図である。
【図23】x単調な領域を連結性を保ちつつ求める方法
を説明するための図である。
【図24】x単調な領域を切出すための方法の一例を示
す図である。
【図25】x単調な領域を切出すための方法の一例を示
す図である。
【図26】直交凸領域を説明するための図である。
【図27】直交凸領域の性質を説明するための図であ
る。
【図28】直交凸領域の性質を説明するための図であ
る。
【図29】直交凸領域の各列の状態遷移を表す図であ
る。
【図30】W−Typeにおける第m列と第m−1列の
関係を説明するため図であって、(a)は数22の
(2)式、(b)は(3)式、(c)は(4)式を説明
するための図である。
【図31】fm W(s,t)の計算順番を示した図である。
【図32】U−Typeの計算に用いる前処理のアルゴ
リズムを説明するための図である。
【図33】U−Typeにおける第m列と第m−1列の
関係を説明するための図であって、(a)は数25の
(2)式、(b)は(3)式、(c)は(4)式を説明
するための図である。
【図34】fm U(s,t)の計算順番を示した図である。
【図35】D−Typeの計算に用いる前処理のアルゴ
リズムを説明するための図である。
【図36】D−Typeにおける第m列と第m−1列の
関係を説明するための図であって、(a)は数28
(2)式、(b)は(3)式、(c)は(4)式を説明
するための図である。
【図37】fm D(s,t)の計算順番を示した図である。
【図38】N−Typeにおける第m列と第m−1列の
関係を説明するための図であって、(a)は数29の
(1)式、(b)は(3)式、(c)は(4)式、
(d)は(5)式、(e)は(6)式、(f)は(7)
式を説明するための図である。
【図39】fm N(s,t)の計算順番を示した図である。
【図40】HX(m,[s,t])のデータ構造を示すための図で
ある。
【図41】直交凸領域切り出しステップの処理フローを
表す図である。
【図42】通常のコンピュータ・システムで本発明を実
施した場合の装置構成の一例を示す図である。
【図43】本発明を専用の装置で実施した場合の機能ブ
ロック図の一例である。
【符号の説明】
1010 CPU 1020 メインメモリ 1030 FDD 1040 CD−ROMドライブ 1050 HDD 1060 表示装置 1070 入力デバイス 400 ツリー構成モジュール 402 データベース 404 ハンド・プローブ・コントローラ 406 平面構成モジュール 408 領域切出モジュール1 410 領域切出モジュール2 412 領域切出モジュール3
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年9月30日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項9
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項11
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】上で述べたスムージング処理は、領域の境
界のスプライン曲線化処理とすることも考えられる。ま
た、スムージング処理において、領域内の、第1の述語
数値属性に対応する軸に平行なストライプの、第2の述
語数値に対応する軸に平行な辺内に制御ポイントを設定
するステップを含むようにすることも考えられる。この
際、さらに、制御ポイントを通過する曲線を設定するス
テップ(例えば図11)、又は隣接する制御ポイントを
結ぶ直線の中点を通過する曲線を設定するステップ(例
えば図12)を実施するようにすることも考えられる。
境界をスプライン曲線にすることにより、予測精度が上
げられる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0022
【補正方法】変更
【補正内容】
【0022】この領域切り出しの方法は、ハンドプロー
ブという手法によって行われる。この手法は、領域R内
のタップル数x(R)と、領域R内のタップルの目的数
値属性の和(後に述べる目的属性が真偽をとる属性の場
合には、真偽をとる目的属性の値が真であるタップル
数)y(R)とを2軸とする平面(図6)において、全
ての領域族Rに対する(x(R),y(R))からなる
点集合をP(図6の白及び黒丸)とし、Pの凸包をco
nv(P)(図6の黒丸)とした時に、凸包conv
(P)上の点を幾何学的手法で高速に計算する方法であ
る。このハンド・ブローブは、タッチング・オラクル
(Touching Oracle)、即ち「傾きθを持つ直線y=θ
x+Aを仮定し、その直線が凸包conv(P)に接す
るようY切片Aを最大化(又は最小化)させ、凸包との
接点を求める」ことにより、凸包を求める方法である。
プロービング・パラメータθはこの傾きθを意味する。

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】データベース内のデータの目的属性に関連
    し且つあるデータの前記目的属性値を予測するためのル
    ールを決定する方法であって、 前記データベース内のデータの第1及び第2の述語数値
    属性に対応する2つの軸を有し且つN×M個のバケット
    に分割されている平面の各バケットに対応して、当該バ
    ケットに属するデータに関する値を記憶するステップ
    と、 前記平面から、所定の条件を満たす前記バケットの領域
    を切り出す領域切出ステップと、 切り出された前記バケットの領域の境界にスムージング
    処理を施すステップと、 前記スムージング処理後の領域により、前記あるデータ
    の前記目的属性値を予測するためのルールを決定するル
    ール決定ステップと、 を含むルール決定方法。
  2. 【請求項2】前記バケットに属するデータに関する値
    が、前記バケットに属するデータの数及び当該バケット
    に属するデータの前記目的属性に関する値である請求項
    1記載のルール決定方法。
  3. 【請求項3】前記目的属性が数値属性であり、 前記目的属性に関する値が、前記バケットに属するデー
    タの前記目的属性の数値の和である請求項2記載のルー
    ル決定方法。
  4. 【請求項4】前記目的属性が真偽をとる属性であり、 前記目的属性に関する値が、前記バケットに属するデー
    タであって前記目的属性値が真であるデータの個数であ
    る請求項2記載のルール決定方法。
  5. 【請求項5】前記所定の条件が、インタークラス・バリ
    アンスを最大化することである請求項1記載のルール決
    定方法。
  6. 【請求項6】前記所定の条件が、前記目的属性の離散値
    のエントロピー・ゲインを最大化することである請求項
    1記載のルール決定方法。
  7. 【請求項7】前記所定の条件が、前記目的属性の離散値
    のGINIインデックス関数値を最大化することである
    請求項1記載のルール決定方法。
  8. 【請求項8】前記所定の条件が、前記目的属性の離散値
    のカイ2乗値を最大化することである請求項1記載のル
    ール決定方法。
  9. 【請求項9】前記目的属性が真偽をとる属性であり、 前記所定の条件が、前記目的属性が真であるデータの割
    合がある定められた値以上であって且つ含まれるデータ
    数が最大となるように、又は最低限含まれるデータ数が
    定められた場合に前記目的属性が真であるデータの割合
    が最大となるように、することある請求項1記載のルー
    ル決定方法。
  10. 【請求項10】前記スムージング処理が、前記領域の境
    界のスプライン曲線化処理である請求項1記載のルール
    決定方法。
  11. 【請求項11】前記スムージング処理が、 前記領域を前記第1の述語数値属性に対応する軸に平行
    な前記N本の重複のないストライプの、前記第2の述語
    数値属性に対応する軸に平行な辺内に制御ポイントを設
    定するステップと、を含む請求項1記載のルール決定方
    法。
  12. 【請求項12】前記スムージング処理が、 前記制御ポイントを通過する曲線を設定するステップを
    さらに含む請求項11記載のルール決定方法。
  13. 【請求項13】前記スムージング処理が、 隣接する前記制御ポイントを結ぶ直線の中点を通過する
    曲線を設定するステップをさらに含む請求項11記載の
    ルール決定方法。
  14. 【請求項14】前記ルール決定ステップが、 前記スムージング処理後の領域内部のデータに関するノ
    ードと、前記領域外部のデータに関するノードとを追加
    したツリーを作成するステップを含む請求項1記載のル
    ール決定方法。
  15. 【請求項15】データベース内のデータの目的属性に関
    連し且つあるデータの前記目的属性値を予測するための
    ルールを決定する装置であって、 前記データベース内のデータの第1及び第2の述語数値
    属性に対応する2つの軸を有し且つN×M個のバケット
    に分割されている平面の各バケットに対応して、当該バ
    ケットに属するデータに関する値を記憶する手段と、 前記平面から、所定の条件を満たす前記バケットの領域
    を切り出す手段と、 切り出された前記バケットの領域の境界にスムージング
    処理を施す手段と、 前記スムージング処理後の領域により、前記あるデータ
    の前記目的属性値を予測するためのルールを決定する手
    段と、 を含むルール決定装置。
  16. 【請求項16】データベース内のデータの目的属性に関
    連し且つあるデータの前記目的属性値を予測するための
    ルールをコンピュータに決定させるプログラムを格納し
    た記憶媒体であって、 前記プログラムは、前記コンピュータに、 前記データベース内のデータの第1及び第2の述語数値
    属性に対応する2つの軸を有し且つN×M個のバケット
    に分割されている平面の各バケットに対応して、当該バ
    ケットに属するデータに関する値を記憶するステップ
    と、 前記平面から、所定の条件を満たす前記バケットの領域
    を切り出すステップと、 切り出された前記バケットの領域の境界にスムージング
    処理を施すステップと、 前記スムージング処理後の領域により、前記あるデータ
    の前記目的属性値を予測するためのルールを決定するル
    ール決定ステップと、 を実行させる、記憶媒体。
  17. 【請求項17】前記バケットに属するデータに関する値
    が、前記バケットに属するデータの数及び当該バケット
    に属するデータの前記目的属性に関する値である請求項
    16記載の記憶媒体。
  18. 【請求項18】前記スムージング処理が、前記領域の境
    界のスプライン曲線化処理である請求項16記載の記憶
    媒体。
  19. 【請求項19】前記ルール決定ステップが、 前記スムージング処理後の領域内部のデータに関するノ
    ードと、前記領域外部のデータに関するノードとを追加
    したツリーを作成するステップを含む請求項16記載の
    記憶媒体。
JP10149790A 1998-05-29 1998-05-29 データベース内のルール決定方法及び装置 Pending JPH11345124A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10149790A JPH11345124A (ja) 1998-05-29 1998-05-29 データベース内のルール決定方法及び装置
US09/322,215 US6317735B1 (en) 1998-05-29 1999-05-28 Method and apparatus for determining rule in database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10149790A JPH11345124A (ja) 1998-05-29 1998-05-29 データベース内のルール決定方法及び装置

Publications (1)

Publication Number Publication Date
JPH11345124A true JPH11345124A (ja) 1999-12-14

Family

ID=15482783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10149790A Pending JPH11345124A (ja) 1998-05-29 1998-05-29 データベース内のルール決定方法及び装置

Country Status (2)

Country Link
US (1) US6317735B1 (ja)
JP (1) JPH11345124A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083519B1 (ko) 2004-06-23 2011-11-16 마이크로소프트 코포레이션 데이터 퍼스펙티브들에서의 변칙 검출

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007020B1 (en) * 2000-03-10 2006-02-28 Hewlett-Packard Development Company, L.P. Distributed OLAP-based association rule generation method and system
JP2002351898A (ja) * 2001-05-23 2002-12-06 Internatl Business Mach Corp <Ibm> グラフ構造データの処理方法、処理システムおよびプログラム
US7251639B2 (en) * 2002-06-27 2007-07-31 Microsoft Corporation System and method for feature selection in decision trees
US7426520B2 (en) 2003-09-10 2008-09-16 Exeros, Inc. Method and apparatus for semantic discovery and mapping between data sources
US8401987B2 (en) * 2007-07-17 2013-03-19 International Business Machines Corporation Managing validation models and rules to apply to data sets
US9720971B2 (en) * 2008-06-30 2017-08-01 International Business Machines Corporation Discovering transformations applied to a source table to generate a target table
US20120109981A1 (en) * 2010-10-28 2012-05-03 Goetz Graefe Generating progressive query results
US8930303B2 (en) 2012-03-30 2015-01-06 International Business Machines Corporation Discovering pivot type relationships between database objects
US8819078B2 (en) * 2012-07-13 2014-08-26 Hewlett-Packard Development Company, L. P. Event processing for graph-structured data
US20140035924A1 (en) * 2012-08-01 2014-02-06 Apollo Group, Inc. Trend highlighting
GB201610984D0 (en) 2016-06-23 2016-08-10 Microsoft Technology Licensing Llc Suppression of input images
US11568317B2 (en) 2020-05-21 2023-01-31 Paypal, Inc. Enhanced gradient boosting tree for risk and fraud modeling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365426A (en) * 1987-03-13 1994-11-15 The University Of Maryland Advanced signal processing methodology for the detection, localization and quantification of acute myocardial ischemia
US5842200A (en) * 1995-03-31 1998-11-24 International Business Machines Corporation System and method for parallel mining of association rules in databases
US6185549B1 (en) * 1998-04-29 2001-02-06 Lucent Technologies Inc. Method for mining association rules in data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083519B1 (ko) 2004-06-23 2011-11-16 마이크로소프트 코포레이션 데이터 퍼스펙티브들에서의 변칙 검출

Also Published As

Publication number Publication date
US6317735B1 (en) 2001-11-13

Similar Documents

Publication Publication Date Title
JP3118181B2 (ja) データ間結合ルール導出方法及び装置
CN110134714B (zh) 适用于大数据迭代计算的分布式计算框架缓存索引方法
US9870342B2 (en) Approach for more efficient use of computing resources while calculating cross product or its approximation for logistic regression on big data sets
JPH11345124A (ja) データベース内のルール決定方法及び装置
JP2005500594A (ja) 高速の近似部分文字列検索ための方法および装置
CN111460234B (zh) 图查询方法、装置、电子设备及计算机可读存储介质
CN111400555B (zh) 图数据查询任务处理方法、装置、计算机设备和存储介质
JPH10240747A (ja) データ間結合ルール導出方法及び装置、及び直交凸領域切出方法及び装置
US11868346B2 (en) Automated linear clustering recommendation for database zone maps
US20210182259A1 (en) Level-based hierarchies
JP3277142B2 (ja) リグレッション・ツリー作成方法及び装置
Sarkar et al. An algorithm for DNA read alignment on quantum accelerators
CN110245022B (zh) 海量数据下并行Skyline处理方法及系统
US11914999B2 (en) Method for accelerating deep neural networks execution with advanced operator fusion
Hakata et al. Algorithms for the longest common subsequence problem for multiple strings based on geometric maxima
CN114897290A (zh) 业务流程的演化识别方法、装置、终端设备以及存储介质
JP2000035965A (ja) 類似特徴量の検索方法及び装置及び類似特徴量の検索プログラムを格納した記憶媒体
US20210303536A1 (en) Methods and systems for graph approximation
US11048730B2 (en) Data clustering apparatus and method based on range query using CF tree
Lewis et al. G-PICS: A framework for GPU-based spatial indexing and query processing
US20030018623A1 (en) System and method of query processing of time variant objects
Yang et al. Workload-based ordering of multi-dimensional data
CN117573944B (zh) 数据检索方法、装置、设备及存储介质
Matsumoto et al. Parallel outlier detection on uncertain data for GPUs
CN114691749B (zh) 一种基于滑动窗口的频繁项集并行增量挖掘的方法