(57)【要約】【課題】木構造の分類モデルを用いた判定について、判定結果を評価するための情報を提供できるようにする。【解決手段】分類装置が、分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価部と、前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類部と、前記分類部による分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類部による分類に関する評価値を算出する分類結果評価部と、を備える。【選択図】図１
2018045516.tif 000002
【特許請求の範囲】
【請求項１】
分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価部と、
前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類部と、
前記分類部による分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類部による分類に関する評価値を算出する分類結果評価部と、
を備える分類装置。
【請求項２】
前記分類結果評価部は、前記経路に含まれるノードからの分岐の前記評価値を説明変数毎に合計して、前記分類部による分類における説明変数の評価値を算出する、請求項１に記載の分類装置。
【請求項３】
前記分類結果評価部は、前記経路に含まれるノードからの分岐の前記評価値を合計して、前記分類結果に対する評価値を算出する、請求項１または請求項２に記載の分類装置。
【請求項４】
前記分類部は、複数の前記木構造の分類モデルの各々における前記分類結果の中から、複数の前記木構造の分類モデル全体における分類結果を選択し、
前記分類結果評価部は、複数の前記木構造のモデルの各々における前記分類部の分類に関する評価値に基づいて、複数の前記木構造の分類モデル全体における前記分類部の分類に関する評価値を算出する、
請求項１から３のいずれか一項に記載の分類装置。
【請求項５】
前記分類部は、複数の前記木構造の分類モデルの各々における分類結果に対する前記評価値に基づいて、複数の前記木構造の分類モデルの各々における分類結果の中から、複数の前記木構造の分類モデル全体における分類結果を選択する、請求項３に記載の分類装置。
【請求項６】
前記木構造の分類モデルは決定木であり、
前記分岐評価部は、前記決定木における分岐の評価値を分岐の親ノードでの平均情報量と子ノードでの平均情報量との違いに基づいて算出する、請求項１から５のいずれか一項に記載の分類装置。
【請求項７】
前記分岐評価部は、さらに、前記親ノードに到達した学習用データの数に基づいて、前記決定木における分岐の評価値を算出する、請求項６に記載の分類装置。
【請求項８】
前記分岐評価部は、前記木構造のモデルのノード毎に、当該ノードに到達した学習用データに含まれる目的変数値を計数して最多数の目的変数値を検出し、
前記分類結果評価部は、さらに、前記経路のうち親ノードと子ノードとで最多数の目的変数値が異なる位置に基づいて、前記分類部の分類結果に対する評価値を算出する、
請求項６または請求項７に記載の分類装置。
【請求項９】
前記木構造の分類モデルは回帰木であり、
前記分岐評価部は、前記回帰木における分岐の親ノードに到達した学習用データに含まれる目的変数値の郡内平方和と、子ノードに到達した学習用データに含まれる目的変数値の郡内平方和との違いに基づいて前記分岐の評価値を算出する、
請求項１から５のいずれか一項に記載の分類装置。
【請求項１０】
前記木構造の分類モデルに学習用データを適用した学習結果と適用した学習用データに含まれる目的変数値との関係におけるκ係数を算出し、得られたκ係数に基づいて前記木構造の分類モデルに用いる説明変数を選択する説明変数選択部をさらに備える、請求項１から９のいずれか１項に記載の分類装置。
【請求項１１】
分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価ステップと、
前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類ステップと、
前記分類ステップでの分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類ステップでの分類に関する評価値を算出する分類結果評価ステップと、
を含む分類方法。
【請求項１２】
コンピュータに、
分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価ステップと、
前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類ステップと、
前記分類ステップでの分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類ステップでの分類に関する評価値を算出する分類結果評価ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法およびプログラムに関する。
【背景技術】
【０００２】
機械学習の１つに決定木学習があり、決定木学習に関連して幾つかの技術が提案されている。例えば、特許文献１には、機械学習によって運転者の動作を判定するための方法が記載されている。特許文献１に記載の方法では、複数の学習用画像を決定木に適用し、ある葉ノードに到達した全ての学習用画像のうち、その葉ノードにおける予測結果と一致する学習用画像の割合を、その葉ノードの信頼度スコアとする。そして、特許文献１に記載の方法では、運転者の画像をランダムフォレストモデルに適用して決定木毎に信頼度スコアを求め、信頼度スコアを用いた重み付け多数決によって運転者の動作を判定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−７６１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の決定木を用いたアンサンブルモデル（例えばランダムフォレストモデル）で決定木の数が多い場合など、判定の過程が複雑になり判定の根拠を解析することが困難な場合がある。判定の根拠がわからない場合、ユーザは判定結果に対するアクションの検討が困難となるため、判定結果を評価するための情報を得られることが好ましい。特許文献１では、葉ノードのみを信頼度の評価対象としており、木構造全体を総合的に評価し、因子ごとの影響度を明確化する方法は示されていない。
【０００５】
本発明は、決定木など木構造の分類モデルを用いた判定について、判定結果の信頼度を評価するための情報を提供することができる分類装置、分類方法およびプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、分類装置は、分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価部と、前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類部と、前記分類部による分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類部による分類に関する評価値を算出する分類結果評価部と、を備える。
【０００７】
前記分類結果評価部は、前記経路に含まれるノードからの分岐の前記評価値を説明変数毎に合計して、前記分類部による分類における説明変数の評価値を算出するようにしてもよい。
【０００８】
前記分類結果評価部は、前記経路に含まれるノードからの分岐の前記評価値を合計して、前記分類結果に対する評価値を算出するようにしてもよい。
【０００９】
前記分類部は、複数の前記木構造の分類モデルの各々における前記分類結果の中から、複数の前記木構造の分類モデル全体における分類結果を選択し、前記分類結果評価部は、複数の前記木構造のモデルの各々における前記分類部の分類に関する評価値に基づいて、複数の前記木構造の分類モデル全体における前記分類部の分類に関する評価値を算出するようにしてもよい。
【００１０】
前記分類部は、複数の前記木構造の分類モデルの各々における分類結果に対する前記評価値に基づいて、複数の前記木構造の分類モデルの各々における分類結果の中から、複数の前記木構造の分類モデル全体における分類結果を選択するようにしてもよい。
【００１１】
前記木構造の分類モデルは決定木であり、前記分岐評価部は、前記決定木における分岐の評価値を分岐の親ノードでの平均情報量と子ノードでの平均情報量との違いに基づいて算出するようにしてもよい。
【００１２】
前記分岐評価部は、さらに、前記親ノードに到達した学習用データの数に基づいて、前記決定木における分岐の評価値を算出するようにしてもよい。
【００１３】
前記分岐評価部は、前記木構造のモデルのノード毎に、当該ノードに到達した学習用データに含まれる目的変数値を計数して最多数の目的変数値を検出し、前記分類結果評価部は、さらに、前記経路のうち親ノードと子ノードとで最多数の目的変数値が異なる位置に基づいて、前記分類部の分類結果に対する評価値を算出するようにしてもよい。
【００１４】
前記木構造の分類モデルは回帰木であり、前記分岐評価部は、前記回帰木における分岐の親ノードに到達した学習用データに含まれる目的変数値の郡内平方和と、子ノードに到達した学習用データに含まれる目的変数値の郡内平方和との違いに基づいて前記分岐の評価値を算出するようにしてもよい。
【００１５】
前記木構造の分類モデルに学習用データを適用した学習結果と適用した学習用データに含まれる目的変数値との関係におけるκ係数を算出し、得られたκ係数に基づいて前記木構造の分類モデルに用いる説明変数を選択する説明変数選択部をさらに備えるようにしてもよい。
【００１６】
本発明の第２の態様によれば、分類方法は、分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価ステップと、前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類ステップと、前記分類ステップでの分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類ステップでの分類に関する評価値を算出する分類結果評価ステップと、を含む。
【００１７】
本発明の第３の態様によれば、プログラムは、コンピュータに、分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価ステップと、前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類ステップと、前記分類ステップでの分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類ステップでの分類に関する評価値を算出する分類結果評価ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１８】
上記した分類装置、分類方法及びプログラムによれば、木構造の分類モデルを用いた判定について、判定結果を評価するための情報を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態に係る予測装置の機能構成を示す概略ブロック図である。
【図２】同実施形態に係る決定木に含まれるノードの例を示す説明図である。
【図３】同実施形態に係る予測結果評価部が生成する評価用情報の第１の例を示す説明図である。
【図４】同実施形態に係る予測結果評価部が生成する評価用情報の第２の例を示す説明図である。
【図５】同実施形態に係る予測結果評価部が評価値の算出に用いるデータの例を示す説明図である。
【図６】同実施形態に係る決定木における経路の第１の例を示す説明図である。
【図７】同実施形態に係る決定木における経路の第２の例を示す説明図である。
【図８】同実施形態に係る予測結果評価部が算出する重みの例を示す説明図である。
【図９】同実施形態に係る予測部が重み付け多数決を行う場合の予測結果の確度の例を示すグラフである。
【図１０】同実施形態に係る回帰木に含まれるノードの例を示す説明図である。
【図１１】同実施形態に係る予測装置が機械学習を行う処理手順の例を示すフローチャートである。
【図１２】同実施形態に係る予測装置が予測を行う処理手順の例を示すフローチャートである。
【図１３】本発明の第２実施形態に係る分類装置の機能構成を示す概略ブロック図である。
【図１４】同実施形態に係る予測装置による予測結果と正解との関係を示す説明図である。
【図１５】因子数が３つの場合に、同実施形態に係る説明変数選択部が因子を選択する処理の例を示す説明図である。
【図１６】同実施形態に係る説明変数選択部が因子の最適化を行う第１の方法における処理手順の例を示すフローチャートである。
【図１７】同実施形態に係る誤回答因子の除去に用いる学習用データの例を示す説明図である。
【図１８】同実施形態に係る予測結果と正解との関係に対するラベルの例を示す説明図である。
【図１９】同実施形態に係る制御部が誤回答因子の除去用に生成する決定木の例を示す説明図である。
【図２０】同実施形態に係る誤回答因子の検出の繰り返しの例を示す説明図である。
【図２１】同実施形態に係る説明変数選択部が因子の最適化を行う第２の方法における処理手順の例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２１】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る予測装置の機能構成を示す概略ブロック図である。図１に示すように、予測装置１００は、データ取得部１１０と、出力部１２０と、記憶部１８０と、制御部１９０とを備える。制御部１９０は、分岐評価部１９１と、予測部１９２と、予測結果評価部１９３とを備える。
【００２２】
予測装置１００は、機械学習を行って木（Tree）構造の分類モデルを取得し、得られた分類モデルを用いて分類対象データの分類を行う。予測装置１００は、分類装置の例に該当する。
予測装置１００が用いる学習用データでは、説明変数値、目的変数値共に示されている。予測装置１００が学習によって取得する木構造の分類モデルでは、説明変数値による分岐条件が根ノード（Root Node）及び中間ノード(Intermediate Node)に示され、目的変数値が葉ノード（Leaf Node）に示される。
【００２３】
一方、予測装置１００が用いる分類対象データでは、説明変数値は示されているが目的変数値は示されていない。予測装置１００の予測部１９２は、分類対象データの説明変数値を木のノードに示される分岐条件に適用して、根ノードから葉ノードへ向けて木を辿り、葉ノードに示される目的変数値を取得する。
また、予測装置１００の予測結果評価部１９３は、得られた分類結果を評価するための評価用情報を生成する。予測装置１００のユーザは、この評価用情報を参照して、分類結果の確度又は分類の根拠を解析するなど、予測装置１００が行った分類を解析することができる。
【００２４】
以下では、予測装置１００が行う分類対象データの分類を予測と称するが、予測装置１００の用途は未来の事象の予測に限らない。予測装置１００が、過去の事象の分析を行うようにしてもよいし、機器の制御など現在の事象に対する処理を行うようにしてもよい。
以下では、予測装置１００が取得する分類対象データを予測対象データと称する。また、予測装置１００が用いる分類モデルを予測モデルと称する。
【００２５】
また、以下では、予測装置１００が森（Forest）構造の予測モデルを用いる場合を例に説明するが、予測装置１００が用いる森構造の予測モデルに含まれる木の数は、１つであってもよい。すなわち、予測装置１００が単体の木で構成される予測モデルを用いるようにしてもよい。
また、以下では、１つの装置（予測装置１００）が、機械学習と予測対象データに基づく予測とを行う場合を例に説明するが、機械学習を行う装置と予測対象データに基づく予測を行う装置とが別個の装置として構成されていてもよい。
また、以下では、予測装置１００が用いる木構造の予測モデルが決定木である場合を例に説明するが、予測装置１００が用いる木構造の予測モデルはこれに限らない。後述するように、予測装置１００が用いる木構造の予測モデルは回帰木であってもよい。
【００２６】
データ取得部１１０は、学習用データを取得する。データ取得部１１０が取得した学習用データを用いて制御部１９０が機械学習を行い、決定木を生成する。
また、データ取得部１１０は、予測対象データを取得する。データ取得部１１０が取得した予測対象データに対し、制御部１９０の予測部１９２が、当該予測対象データに基づく予測を行う。
【００２７】
データ取得部１１０は、例えば通信回路を含んで構成され、他の装置と通信を行って学習用データ及び予測対象データを取得する。
但し、データ取得部１１０が学習用データ及び予測対象データを取得する方法として、他の装置との通信による方法に限らずいろいろな方法を用いることができる。例えば、データ取得部１１０が外付けの記憶デバイスに対するインタフェースを含んで構成され、記憶デバイスからデータを取得するようにしてもよい。あるいは、記憶部１８０が学習用データを予め記憶している場合、データ取得部１１０が記憶部１８０から学習用データを読み出すようにしてもよい。あるいは、データ取得部１１０がキーボード等の操作入力デバイスを有し、ユーザ操作によって入力されるデータを取得するようにしてもよい。あるいは、データ取得部１１０がこれら複数の方法の組み合わせで学習用データ及び予測対象データを取得するようにしてもよい。
【００２８】
出力部１２０は、予測部１９２による予測結果、及び、予測結果評価部１９３が生成した評価用情報を出力する。
例えば出力部１２０は、液晶パネル又はＬＥＤ（Light Emitting Diode、発光ダイオード）パネルなどの表示画面を有し、予測結果及び評価用情報を表示画面に表示する。あるいは、出力部１２０が通信回路を含んで構成され、予測結果及び評価用情報を他の装置へ送信するなど、表示以外の方法で出力を行うようにしてもよい。あるいは、出力部１２０が、これら複数の方法を組み合わせて、予測結果及び評価用情報の出力を行うようにしてもよい。
【００２９】
記憶部１８０は、予測装置１００が備える記憶デバイスを用いて構成され、各種データを記憶する。
制御部１９０は、予測装置１００の各部を制御して各種処理を行う。制御部１９０は、例えば予測装置１００が備えるＣＰＵ（Central Processing Unit、中央処理装置）が、記憶部１８０からプログラムを読み出して実行することで構成される。
上記のように、制御部１９０は、データ取得部１１０が取得した学習用データを用いて機械学習を行い、決定木を生成する。例えば、データ取得部１１０は、ランダムフォレスト（Random Forest）のアルゴリズムを用いて複数の決定木を生成する。
【００３０】
分岐評価部１９１は、決定木における個々の分岐の評価値を算出する。具体的には、分岐評価部１９１は、分岐元のノードにおける平均情報量（Entropy）と分岐先のノードにおける平均情報量との違いに基づいて分岐の評価値を算出する。さらに具体的には、分岐評価部１９１は、分岐元のノードと分岐先のノードとの間の情報利得（Information Gain）を算出し、得られた情報利得と分岐元のノードに到達する学習用データの数とを乗算して、分岐の評価値を算出する。
【００３１】
図２は、決定木に含まれるノードの例を示す説明図である。図２のノードＸは、分岐元のノードに該当し、ノードＹ及びＺはいずれも分岐先のノードに該当する。
図２の「到達データ数」の項目は、ノードに到達した学習用データの個数を示している。「正常」の項目は、ノードに到達した学習用データのうち目的変数値が「正常」であるものの個数を示している。「異常」の項目は、ノードに到達した学習用データのうち目的変数値が「異常」であるものの個数を示している。「分割因子」の項目は、分岐条件を示している。ここでいう分岐条件は、予測部１９２が予測の際に分岐先のノードのいずれかを選択するための判定条件である。
【００３２】
図２の例では、ノードＸに到達した１００個の学習用データのうち、６０個の目的変数値が「正常」となっており、４０個の目的変数値が「異常」となっている。
また、ノードＸでは、回転数が６００より大きいか否かが分岐先になっている。予測部１９２は、予測対象データに示される回転数が６００より大きい場合はノードＹへ進み、６００未満の場合はノードＺへ進む。
以下では、予測部１９２が予測対象データに基づいて特定のノードに到達することを、予測対象データが当該ノードに到達するとも表記する。
ノードＸにおける分岐条件のうち回転数は、説明変数の例に該当する。回転数の具体的な数値は、説明変数値の例に該当する。
以下では、説明変数を因子とも称する。
【００３３】
図２の例では、ノードＸに到達した１００個の予測対象データのうち８０個がノードＹに分岐し、２０個がノードＺに分岐している。ノードＹに到達した８０個の予測対象データのうち６０個の目的変数値が「正常」となっており、２０個の目的変数値が「異常」となっている。また、ノードＹに到達した２０個の予測対象データの全てで目的変数値が「異常」となっている。
分岐評価部１９１は、式（１）に基づいて、ノードＸからの分岐の評価値Ｓ（Ｘ）を算出する。
【００３４】
【数１】
2018045516.tif 000003
【００３５】
ここで、Ｎ（Ｘ）は、ノードＸに到達した学習用データの個数を示す。図２の例の場合、Ｎ（Ｘ）＝１００である。
また、ＩＧ（Ｘ）は、ノードＸからの分岐における情報利得を示す。情報利得ＩＧ（Ｘ）は、式（２）のように示される。
【００３６】
【数２】
2018045516.tif 000004
【００３７】
ここで、Ｎ（Ｘ）は、ノードＸに到達した学習用データの個数を示す。図２の例の場合、Ｎ（Ｘ）＝１００である。Ｎ（Ｙ）は、ノードＹに到達した学習用データの個数を示す。図２の例の場合、Ｎ（Ｙ）＝８０である。Ｎ（Ｚ）は、ノードＺに到達した学習用データの個数を示す。図２の例の場合、Ｎ（Ｚ）＝２０である。
また、Ｈ（Ｘ）、Ｈ（Ｙ）、Ｈ（Ｚ）は、それぞれノードＸ、ノードＹ、ノードＺにおける平均情報量を示す。平均情報量Ｈ（Ｗ）は、式（３）のように示される。
【００３８】
【数３】
2018045516.tif 000005
【００３９】
ここで、Ｗはノードを示す。図２の例の場合、ＷにＸ、Ｙ、Ｚをそれぞれ代入する。
また、Ｂ１（Ｗ）及びＢ２（Ｗ）は、ノードＷに到達した学習用データのうち、目標変数値毎に当該目的変数値を示す学習用データの個数を示す。例えばノードＸの場合、Ｂ１（Ｘ）は、目的変数値「正常」を示す学習用データの数「６０」であり、Ｂ２（Ｘ）は、目的変数値「異常」を示す学習用データの数「４０」である。
なお、Ｂ１とＢ２とが逆でもよい。すなわち、Ｂ１が、目的変数値「異常」を示す学習用データの数を示し、Ｂ２が、目的変数値「正常」を示す学習用データの数を示していてもよい。
【００４０】
ノード毎の平均情報量は、当該ノードにおける目的変数値のばらつき度合いを示す。平均情報量が大きいほど、異なる目的変数値の数が同数に近く、平均情報量が小さいほど、いずれかの目的変数値に偏っている。従って、平均情報量が小さいノードほど、目的変数値の整理が進んでいる（すなわち、学習用データの分類が進んでいる）。
図２の例で、ノードＸでは、「正常」と「異常」との割合が３：２であるのに対し、ノードＹでは３：１になっている。また、ノードＸの平均情報量Ｈ（Ｘ）≒０．９７１に対し、ノードＹの平均情報量Ｈ（Ｙ）≒０．８１１である。このように、ノードＸにおける目的変数値よりもノードＹにおける目的変数値の方が「正常」に偏っているため、ノードＸの平均情報よりもノードＹの平均情報量の方が小さくなっている。
【００４１】
また、分岐における情報利得は、分岐前後での平均情報量の違いを示す。情報利得が大きい分岐ほど、その分岐によって目的変数値の偏りが大きくなっている。従って、情報利得が大きい分岐ほど、その分岐によって学習用データが効率的に分類されている。
このことから、情報利得が大きい分岐の親ノードを経由して得られた予測結果は、確度が高いと判断できる。
【００４２】
ここで、情報利得は平均情報量に基づいて算出され、平均情報量は学習用データの絶対数ではなく個数の比に基づいて算出される。このため、分岐元のノードに到達した学習用データの数が少ない場合、情報利得の大きさが大きくなり易い。一方、分岐元のノードに到達した学習用データの数が少ない場合、このノードからの分岐については、学習結果に対する信頼性が低いといえる。そこで、式（１）では、ノードＸに到達した学習用データの個数Ｎ（Ｘ）を、ノードＸからの分岐における情報利得ＩＧ（Ｘ）に乗算している。これにより、分岐元のノードに到達した学習用データの数が少ないノードからの分岐の評価値が小さくなる。
このように、分岐の評価値として、データが効率的に分類されている度合いの評価値（情報利得の大きさの評価値）を用いる。データが効率的に分類されている分岐ほど分岐の評価値が大きくなる。この分岐の評価値は、いわば所望の分類における分岐の重要度を示す値である。
【００４３】
以下では、ノードからの分岐の評価値を、分岐元のノードのスコアとも称する。例えば、Ｓ（Ｘ）をノードＸのスコアとも称する。図２の例では、ＩＧ（Ｘ）≒０．１６、Ｎ（Ｘ）＝１００であり、Ｓ（Ｘ）≒１６である。
分岐評価部１９１は、機械学習時に制御部１９０が決定木を生成した段階で、生成された決定木の根ノード及び中間ノード（すなわち、葉ノード以外）の各々について、当該ノードのスコアを算出する。予測装置１００が、複数の決定木によるアンサンブルモデルを用いる場合、分岐評価部１９１は、決定木毎に、根ノードのスコア及び各中間ノードのスコアを算出する。ここでいうアンサンブルモデルは、木構造の予測モデルを複数含むモデルである。予測装置１００は、木構造の予測モデルの各々について予測結果を取得し、例えば多数決をとるなど統計的処理を行うことでアンサンブルモデルにおける予測結果を取得する。
【００４４】
また、分岐評価部１９１は、決定木のモデルのノード毎に、当該ノードに到達する学習用データに含まれる目的変数値を計数して最多数の目的変数値を検出し、記憶部１８０に記憶させる。分岐評価部１９１が検出する最多数の目的変数値は、予測結果評価部１９３が、予測部１９２による予測に関する評価値を算出する際に、処理対象とするノードを限定する（マスクする）ために用いられる。
【００４５】
予測部１９２は、データ取得部１１０が取得した予測対象データに基づく予測を行う。具体的には、予測部１９２は、予測対象データに示される説明変数値を参照して決定木を辿り（すなわち、予測対象データを決定木に適用して）、到達した葉ノードに示される目的変数値を取得する。予測部１９２が取得する目的変数値は、予測結果に該当する。
予測部１９２は、分類部の例に該当する。
予測装置１００が、複数の決定木を含むアンサンブルモデルを用いる場合、予測部１９２は、決定木毎に目的変数値を取得し、得られた目的変数値の多数決によって、いずれかの目的変数値を選択する。なお、予測部１９２が、単純多数決に代えて後述する重み付け多数決を行うようにしてもよい。
【００４６】
このように、予測部１９２は、予測対象データに対応する目的変数値を取得することで、予測対象データに基づく予測（判定）を行う。
例えば、目的変数が発電機の回転数及び発電量等の測定データを示し、目的変数値が「正常」または「異常」のいずれかである場合、予測部１９２は、予測対象データとして取得した測定データに対応する目的変数値として「正常」または「異常」のいずれかを取得する。これにより、予測装置１００は、発電機に関する測定データの入力に対して「正常」または「異常」のいずれかの判定結果を出力する。このように、予測部１９２が行う分類を各種判定に用いることができる。
【００４７】
予測結果評価部１９３は、予測部１９２による予測における決定木上の経路に含まれるノードのスコアに基づいて、予測部１９２による予測に関する評価値を算出する。そして、予測結果評価部１９３は、得られた評価値に基づいて分類に関する評価用情報を生成する。予測結果評価部１９３は、生成した評価用情報を出力部１２０に出力させる。
予測結果評価部１９３は、分類結果評価部の例に該当する。
【００４８】
図３は、予測結果評価部１９３が生成する評価用情報の第１の例を示す説明図である。
図３の例で、「データＮｏ．」の項目は、予測対象データ識別番号を示す。予測対象データ識別番号は、予測対象データを識別するための番号である。従って、図３の１行が１つの予測対象データに対応している。
「予測結果」の項目は、予測部１９２による予測結果を示す。すなわち、「予測結果」の項目には、予測対象データに基づいて予測部１９２が取得した目的変数値が示されている。
【００４９】
「賛成決定木数」の項目は、予測結果となった目的変数値を示した決定木の数を示している。例えば、予測部１９２が複数の決定木から得られた目的変数値の単純多数決で予測結果を選択する場合、「賛成決定木数」の項の項目には、最多数となった目的変数値を示した決定木の数を示す。
「確度」の項目は、予測部１９２による予測結果に対して予測結果評価部１９３が算出した評価値を示す。評価値が大きいほど予測結果の確度が高いとの評価を示している。
【００５０】
「重要因子１」、「重要因子２」、・・・の項目は、因子（説明変数）を、予測部１９２による予測の根拠として重要な順に示す。予測結果評価部１９３は、因子毎に当該因子の重要度の評価値を算出し、評価値の大きい順に因子を並べる。さらに、予測結果評価部１９３は、予測結果の項目に示される予測結果となるための目的変数値の条件（例えば、目的変数値の上下限値）を求める。予測結果評価部１９３は、得られた評価が大きい因子から順に、当該因子について得られた条件を「重要因子１」、「重要因子２」、・・・の欄に格納している。
以下では、重要因子１、重要因子２、・・・を総称して重要因子と表記する。
「スコア」の項目は、該当する重要因子（当該スコアと同じ欄に示されている重要因子）について予測結果評価部１９３が算出した評価値を示している。
【００５１】
予測装置１００のユーザは、「確度」の項目に示される評価値を、予測結果の確度の判断材料とすることができる。また、予測装置１００のユーザは、「重要因子」の項目に示される因子及び条件と、「スコア」の欄に示される評価値とを参考にして、予測の根拠を検討することができる。予測の根拠が妥当か否かを判断することで、予測結果の確度を判断することができる。
【００５２】
なお、予測結果評価部１９３が、１つの決定木について１つの評価用情報を生成するようにしてもよい。この場合、「賛成決定木数」の項目が無くなる以外は、図３の例と同様の項目とすることができる。各行には、予測部１９２が、１つの予測対象データを１つの決定木に適用して行った分類に対する評価用情報が示される。
【００５３】
あるいは、予測結果評価部１９３が、決定木毎に生成した評価用情報を結合した（１つの情報にまとめた）評価用情報を生成するようにしてもよい。この場合、上記と同様、「賛成決定木数」の項目が無くなり、各行には、予測部１９２が、１つの予測対象データを１つの決定木に適用して行った分類に対する評価用情報が示される。
さらに、「データＮｏ．」の項目に加えて「決定木Ｎｏ．」の項目を設け、「データＮｏ．」欄を「データＮｏ．／決定木Ｎｏ．」欄に置き換える。この「データＮｏ．／決定木Ｎｏ．」の欄には、例えば「１／３」のように、その行に示される評価用情報の対象となる予測対象データ識別番号及び決定木識別番号が示される。上記のように、予測対象データ識別番号は、予測対象データを識別するための番号である。また、決定木識別番号は、決定木を識別するための番号である。
それ以外は、図３の例と同様の項目とすることができる。
【００５４】
図４は、予測結果評価部１９３が生成する評価用情報の第２の例を示す説明図である。
図３の例では、因子がスコアの高い順に並んでいたのに対し、図４の例では、予め定められた順に因子が並んでいる。また、図３の例では、因子について得られた条件が示されているのに対し、図４では、この条件の表示は省略されている。それ以外は、図３の場合と同様である。
【００５５】
図５は、予測結果評価部１９３が評価値の算出に用いるデータの例を示す説明図である。以下では、予測結果評価部１９３が評価値の算出に用いるデータを評価値算出用データと称する。
例えば、予測部１９２が予測対象データに基づく予測のために決定木を辿る際に、決定木毎に評価値算出用データを生成する。あるいは、予測部１９２が予測対象データに基づく予測を行った後に、予測結果評価部１９３が評価値算出用データを生成するようにしてもよい。
【００５６】
評価値算出用データは、予測部１９２が予測対象データを分類するために辿った経路における各ノードに関する情報を示す。図５の例では、１つのノードに関する情報が１行に示されている。
図５の例で、「決定木深さ」の項目は、根ノードの深さを「１」とした場合のノードの深さを示す。
【００５７】
「通過ノード」の項目は、ノード識別番号を示す。ノード識別番号は、ノードを識別するための番号であり、「決定木深さ」の項目に示されるノードの深さと、同じ深さのノードの識別番号として付された通し番号とを組み合わせて構成されている。評価値算出用データの各行は、その行の「通過ノード」欄に設定されているノード識別番号のノードに関する情報を示す。
【００５８】
「スコア」の項目は、図２を参照して説明したノードのスコアを示す。
「因子」の項目は、分岐条件の判定（分岐先のノードの決定）に用いられた説明変数を示す。
「分岐結果」の項目は、分岐条件の判定の結果を示す。具体的には、「分岐結果」の項目は、分岐条件に含まれる判定閾値、及び、予測対象データに示される説明変数値の判定条件に対する関係（「＞」、「＝」または「＜」など）を示す。
【００５９】
因子と分岐結果との組み合わせで、分岐先のノードへ分岐するための分岐条件（説明変数値が満たすべき条件）を示す。例えば、図２の例でノードＸからノードＹへ分岐した場合、因子は「回転数」となり、分岐結果は「＞６００」となる。一方、ノードＸからノードＺへ分岐した場合、因子は「回転数」となり、分岐結果は「≦６００」となる。
「マジョリティ」の項目は、ノードに到達した学習用データに含まれる目的変数値のうち最多数の目的変数値を示す。例えば、図２の例のノードＸの場合、目的変数値「正常」の個数が６０で最多であり、マジョリティ（Majority）は「正常」となる。予測部１９２は、予測対象データに基づく予測の際に到達したノードについて、分岐評価部１９１が検出した最多数の目的変数値を記憶部１８０から読出し、評価値算出用データの該当欄に書き込む。
【００６０】
図６は、決定木における経路の第１の例を示す説明図である。
図６の例で、「ノード」の項目は、ノード識別番号を示す。「スコア」の項目は、ノードのスコアを示す。「マジョリティ」の項目は、図５の場合と同様である。「判定」の項目は、決定木としての予測結果を示す。すなわち、「判定」の項目に示される予測結果は、予測部１９２が、予測対象データに基づく予測の際に決定木を葉ノードまで辿って葉ノードで取得する目的変数値である。
【００６１】
経路Ｗ１１は、予測の際に予測部１９２が辿った経路の例である。図６の例では、予測部１９２は、ノード１、２−１、３−２、４−２、５−１の順に辿り、葉ノードであるノード５−１で、「正常」との判定結果を取得している。
予測結果評価部１９３は、予測部１９２が辿った経路に含まれるノードのスコアを合計することで、決定木における予測結果に対する評価値を算出する。ここでいう決定木における予測結果に対する評価値は、１つの予測対象データについて予測部１９２が１つの決定木を辿って得た予測結果に対する評価値である。
【００６２】
図６の例の場合、予測結果評価部１９３は、ノード４−２、３−２、２−１、１の順に辿り、この決定木における予測結果に対する評価値を２０００＋１０００＋８００＋１００＝３９００と算出する。
決定木における予測結果に対する評価値を算出するために、予測結果評価部１９３は、図５を参照して説明した評価値算出用データを用いる。具体的には、予測結果評価部１９３は、評価値算出用データのスコアの項目に示されるノードのスコアを合計することで、決定木における予測結果に対する評価値を算出する。
決定木における予測結果に対する評価値が高い場合、予測の際に予測部１９２がスコアの高いノードを経由していると考えられる。スコアの高いノードからの分岐は、情報利得が大きく、上記のように学習用データが効率的に分類されている。このことから、評価値が高い予測結果は確度が高いと判断できる。
【００６３】
さらに、予測結果評価部１９３は、アンサンブルモデルのうち同じ予測結果を示す決定木について、決定木における予測結果に対する評価値を合計する。これにより、予測結果評価部１９３は、アンサンブルモデルにおける予測結果に対する評価値を算出する。ここでいうアンサンブルモデルにおける予測結果に対する評価値は、１つの予測対象データについて予測部１９２がアンサンブルモデル全体から得た予測結果に対する評価値である。
アンサンブルモデルにおける予測結果に対する評価値は、図３の例及び図４の例の「確度」の項目に示される。上記のように、個々の決定木における予測結果に対する評価値が予測結果の確度を示していると考えられることから、アンサンブルモデルにおける予測結果に対する評価値も、予測結果の確度を示していると考えられる。
【００６４】
また、予測結果評価部１９３は、個々の決定木における因子毎（説明変数毎）の評価値を算出する。具体的には、予測結果評価部１９３は、予測部１９２が辿った経路に含まれるノードのスコアを因子毎に合計する。
説明変数毎のモデルを算出するために、予測結果評価部１９３は、図５を参照して説明した評価値算出用データを用いる。具体的には、予測結果評価部１９３は、評価値算出用データの因子の項目に示される因子のうち同じ因子を検出する。そして、予測結果評価部１９３は、因子を検出した行のスコアの欄に示されているノードのスコアを合計することで、因子毎の評価値（すなわち、説明変数毎の評価値）を算出する。
予測結果評価部１９３は、因子の項目に出現する全ての因子について、因子毎の評価値を算出する。因子の項目に１つのみ出現する因子については、予測結果評価部１９３は、当該因子が示されている行におけるノードのスコアを、因子毎の評価値とする。
【００６５】
さらに、予測結果評価部１９３は、アンサンブルモデルのうち同じ予測結果を示す決定木について、説明変数毎の評価値を合計することで、アンサンブルモデルにおける説明変数毎の評価値を算出する。アンサンブルモデルにおける説明変数毎の評価値は、図３の例及び図４の例の「スコア」の項目に示される。
【００６６】
また、予測結果評価部１９３は、因子毎の条件を検出する。ここでいう因子毎の条件は、予測部１９２が辿った経路となるために説明変数値が有するべき条件である。
因子毎の条件を検出するために、予測結果評価部１９３は、図５を参照して説明した評価値算出用データを用いる。具体的には、予測結果評価部１９３は、評価値算出用データの因子の項目に示される因子のうち同じ因子を検出する。そして、予測結果評価部１９３は、因子を検出した行の分岐結果の欄に示されている分岐結果（因子の値の条件）のアンド（ａｎｄ）をとることで、因子毎の条件を検出する。予測結果評価部１９３は、例えば、上限値については最も小さい上限値を採用し、下限値については最も大きい下限値を採用する。
予測結果評価部１９３は、因子の項目に出現する全ての因子について、決定木における因子毎の条件（決定木における因子毎の条件）を検出する。因子の項目に１つのみ出現する因子については、予測結果評価部１９３は、当該因子が示されている行における分岐結果を、因子毎の条件とする。
【００６７】
さらに予測結果評価部１９３は、予測結果評価部１９３は、アンサンブルモデルのうち同じ予測結果を示す決定木について、因子毎の条件のアンドをとることで、アンサンブルモデルにおける因子毎の条件を検出する。アンサンブルモデルにおける因子毎の条件は、図３の例の「重要因子」の項目に示される。
アンサンブルモデルにおける評価値が高い説明変数は、個々の決定木における評価値が高いと考えられる。従って、アンサンブルモデルにおける評価値が高い説明変数は、予測の根拠として重要であると考えられる。
【００６８】
図７は、決定木における経路の第２の例を示す説明図である。図７の経路１２は、予測対象データに基づく予測の際に予測部１９２が決定木を辿った経路の例である。
図７の例における決定木は、図６の場合と同じである。一方、経路Ｗ１２が示す経路が、図６の経路Ｗ１１が示す経路と異なっている。具体的には、図６の例では、予測部１９２がノード４−２からノード５−１へ進んでいるのに対し、図７の例では、ノード４−２から５−２へ進んでいる。
【００６９】
図６の経路Ｗ１１ではいずれのノードでもマジョリティが「正常」であったのに対し、図７の経路Ｗ１２では、ノード４−２で「正常」であったマジョリティが、ノード５−２では「異常」に切り替わっている。なお、葉ノードでは「判定」の項目が「マジョリティ」の項目に相当する。
図７の例のようにマジョリティが切り替わった場合、切り替わり前の分岐は予測結果の決定に貢献してないと評価できる。特に、マジョリティが決定木の深い段（葉ノードに近い箇所）で切り替わった場合、予測結果の決定に貢献している判定の回数（分岐の回数）が少ない点で、この予測結果の信頼性は低いと評価できる。
このようなマジョリティの切り替わりを決定木における予測結果に対する評価値に反映させるため、予測結果評価部１９３は、評価値の算出対象を限定するための重みを算出する。
【００７０】
図８は、予測結果評価部１９３が算出する重みの例を示す説明図である。図８では、図５の評価値算出用データに「重み」の項目が加わった評価値算出用データが示されている。予測結果評価部１９３は、図５の評価値算出用データに「重み」の列を加え、評価値算出用データの下側の行（葉ノード側の行）から順に参照してく。そして、予測結果評価部１９３は、マジョリティが最初に切り替わる親ノード（分岐元のノード）まで重みを「１」に設定し、それより上（根ノード側）のノードについては重みを「０」に設定する。
【００７１】
重みの値「１」は、ノードを評価値算出の対象とすることを示す。一方、重みの値「０」は、ノードを評価値算出の対象から除外することを示す。
図７の例の場合、予測結果評価部１９３は、ノード４−２の重みを「１」に設定し、ノード３−２、３−１、１のいずれについても重みを「０」に設定する。そして予測結果評価部１９３は、設定した重みに基づいてノード４−２のみを決定木における予測結果に対する評価値の算出対象として、当該評価値を１００と算出する。
【００７２】
このように、予測結果評価部１９３は、算出した重み用いてノードに対するマスキングを行なう。但し、予測結果評価部１９３が、マスキング以外の重み付けを行うようにしてもよい。例えば、予測結果評価部１９３が、マジョリティが最初に切り替わる親ノードよりも上のノードの重みを「０．１」に設定し、各ノードのスコアに重みを乗算して合計するようにしてもよい。これにより、決定木における予測結果に対する評価値の算出について、マジョリティが最初に切り替わる親ノードよりも上のノードの影響を調整する（比較的小さくする）ことができる。
【００７３】
なお、予測部１９２が、アンサンブルモデルにおける予測結果を取得する際に、予測結果評価部１９３が算出した評価値を用いた重み付け多数決を行うようにしてもよい。
具体的には、データ取得部１１０が予測対象データを取得すると、予測部１９２は、まず、予測対象データに基づいて各決定木を辿り、決定木毎の予測結果を取得する。そして、予測結果評価部１９３が、決定木における予測結果に対する評価値（すなわち、予測対象データ毎、かつ、決定木毎の、予測部１９２による分類に対する評価値）を算出する。そして、予測部１９２は、同じ予測結果を示す決定木毎に当該評価値を合計し、合計値が最大となった予測結果を選択する。
これにより、予測部１９２は、各決定木における分類への評価を加味して予測結果を選択することができる。
【００７４】
図９は、予測部１９２が重み付け多数決を行う場合の予測結果の確度の例を示すグラフである。図９は、ランダムフォレストで決定木を生成し、上述した重み付け多数決で予測結果を選択した実験結果を示している。
線Ｌ１１１は、重み付け多数決で予測結果を選択した場合の結果を示している。一方、線Ｌ１１２は、同じくランダムフォレストで線Ｌ１１１の場合と同数の決定木を生成し、単純多数決で予測結果を選択した場合の結果を示している。
【００７５】
また、縦軸は予測結果と学習用データに含まれる説明変数値との関係におけるκ係数（カッパ係数）の値を示している。κ係数値が大きいほど、予測結果の確度が高いと評価できる。
実験では、異なる３つの条件で重み付け多数決の場合と、単純多数決の場合とを比較した。その結果、３つの条件のいずれでも重み付け多数決の場合のほうがκ係数値が大きくなった。
このように、上述した重み付け多数決を行う方が、単純多数決を行う場合よりも予測結果の確度が高くなることが実験で示された。
【００７６】
なお、予測装置１００が用いる木構造の予測モデルは決定木に限らず回帰木であってもよい。回帰木の場合、学習用データの目的変数値として数値が示され、予測装置１００は、予測結果として数値を出力する。
回帰木の場合、分岐評価部１９１は、回帰木における分岐の親ノードに到達した学習ノードに含まれる目的変数値の郡内平方和と、子ノードに到達した学習用データに含まれる目的変数値の郡内平方和との違いに基づいてノードのスコアを算出する。
【００７７】
図１０は、回帰木に含まれるノードの例を示す説明図である。図１０のノードＸは、分岐元のノードに該当し、ノードＹ及びＺは、いずれも分岐先のノードに該当する。
図１０で、「到達データ数」の項目は、ノードに到達した学習用データの数を示している。「目的変数平均値」の項目は、ノードに到達した学習用データに含まれる目的変数値の平均値を示している。「分割因子」の項目は、図２の場合と同様、分岐条件を示している。
【００７８】
図１０の例で、ノードＸに到達した学習用データの個数をｍ＋ｎとする。これらのノードのうちノードＹに分岐した学習用データの個数をｍとし、ノードＺに分岐した学習用データの個数をｎとする。また、ノードＸ、Ｙ、Ｚに到達した学習用データに含まれる目的変数値の平均値を、それぞれａｘ、ａｙ、ａｚとする。
分岐評価部１９１は、式（４）に基づいて、ノードＸからの分岐の評価値Ｓ’（Ｘ）を算出する。
【００７９】
【数４】
2018045516.tif 000006
【００８０】
Ｎ（Ｘ）は、式（１）の場合と同様、ノードＸに到達した学習用データの個数を示す。図１０の例ではＮ（Ｘ）＝ｍ＋ｎである。
ＩＧ’（Ｘ）は、分岐前と分岐後とでの目的変数値のばらつきの大きさの違いを示す指標値であり、式（５）のように示される。
【００８１】
【数５】
2018045516.tif 000007
【００８２】
ｍ＋ｎは、上述したようにノードＸに到達した学習用データの個数を示す。
Ｈ’（Ｘ）、Ｈ’（Ｙ）、Ｈ’（Ｚ）は、それぞれノードＸ、ノードＹ、ノードＺにおける郡内平方和を示す。郡内平方和Ｈ’（Ｗ）は、式（６）のように示される。
【００８３】
【数６】
2018045516.tif 000008
【００８４】
ここで、Ｗはノードを示す。図１０の例の場合、ＷにＸ、Ｙ、Ｚをそれぞれ代入する。
また、lは、ノードＷに到達した学習用データの個数を示す。ノードＸ、Ｙ、Ｚの場合、それぞれｌ＝ｍ＋ｎ、ｌ＝ｍ、ｌ＝ｎとなる。
また、ａｉは、ノードＷに到達した学習用データに含まれる目的変数値を示す。ａｗは、ノードＷに到達した学習用データに含まれる目的変数値の平均値を示す。ノードＸ、Ｙ、Ｚの場合、それぞれａｗ＝ａｘ、ａｗ＝ａｙ、ａｗ＝ａｚとなる。
【００８５】
予測装置１００は、分岐の評価値Ｓ’（Ｘ）を用いることで、分岐の前後での目的変数値のばらつきの度合いの違いを評価することができる。また、式（１）の場合と同様、式（４）でも、分岐元のノードに到達した学習用データの個数が少ない場合の評価値を比較的小さくすることができる。
【００８６】
予測結果評価部１９３が評価値を算出する際の重み付けに関して、回帰木の場合は決定木の場合と異なりマジョリティという概念が無い。そこで、予測結果評価部１９３は、最終的な平均値（葉ノードにおける目的変数値の平均）に近いノードほど高い重み付けを行う。具体的には、予測結果評価部１９３は、深さｎのノードに対して式（７）に示される重みＷＥＩＧＨＴ（ｎ）で重み付けを行う。
【００８７】
【数７】
2018045516.tif 000009
【００８８】
ここで、ｘ（ｎ）は、ノードにおける目的変数値の平均値と最終的な目的変数値の平均値との相違の計算値であり、例えば式（８）に基づいて算出する。
【００８９】
【数８】
2018045516.tif 000010
【００９０】
ここで、ＡＶＬは、最終的な平均値を示す。ＡＶｎ＋１は、深さｎ＋１のノードにおける目的変数値の平均を示す。ＤＥＶは、初期ノード標準偏差を示す。ここでいう初期ノード標準偏差は、学習用データに含まれる全ての目的変数の標準偏差である。
なお、式（７）は、ｘ（ｎ）の絶対値が大きいほど小さい重みに設定するための式である。式（７）に代えて、ｘ（ｎ）の絶対値が大きいほど小さい重みになるいろいろな式を用いることができる。
【００９１】
次に、図１１〜図１２を参照して、予測装置１００の動作について説明する。
図１１は、予測装置１００が機械学習を行う処理手順の例を示すフローチャートである。
図１１の処理で、データ取得部１１０は、学習用データを取得する（ステップＳ１１１）。
【００９２】
制御部１９０は、データ取得部１１０が取得した学習用データを用いて機械学習を行い、木構造の予測モデルを複数生成する（ステップＳ１１２）。制御部１９０は、例えばランダムフォレストなど既存のアルゴリズムを用いて木構造の予測モデルを複数生成することができる。
また、分岐評価部１９１は、制御部１９０が生成した複数の木構造の予測モデルの各々について、根ノード及び各中間ノードのスコアを算出する（ステップＳ１１３）。分岐評価部１９１は、式（１）〜式（３）のように情報利得に基づいてスコアを算出する。回帰木の場合は、式（４）〜式（６）のように、説明変数値の郡内平方和の違いに基づいてスコアを算出する。
ステップＳ１１３の後、図１１の処理を終了する。
【００９３】
図１２は、予測装置１００が予測を行う処理手順の例を示すフローチャートである。
図１２の処理で、データ取得部１１０は、予測対象データを取得する（ステップＳ２１１）。
そして、予測部１９２は、データ取得部１１０が用いた予測対象データに基づいて予測を行い、予測結果を取得する（ステップＳ２１２）。予測部１９２は、複数の木構造の予測モデルを辿って各々から予測結果を取得し、得られた予測結果を集計して多数決をとることで、アンサンブルモデル全体における予測結果を取得する。上述したように、予測部１９２が、複数の木構造の各々における予測結果に対する評価値に基づいて重み付け多数決をとるようにしてもよい。
【００９４】
ステップＳ２１２の後、予測結果評価部１９３は、予測部１９２が取得した予測結果を評価するための評価用情報を生成する（ステップＳ２１３）。図５〜図８を参照して説明したように、予測結果評価部１９３は、ノードに対する重みを算出し、算出した重みに基づいて木構造のモデル毎の予測に関する評価用情報を生成する。回帰木の場合は、式（７）の例のように、最終的な平均値に近いほど高い重み付けを行う。
【００９５】
そして、予測結果評価部１９３は、木構造のモデル毎の予測に関する評価用情報を集計して、図３〜図４の例のようにランダムフォレストモデルにおける予測に関する予測結果情報を生成する。
ステップＳ２１３の後、出力部１２０は、制御部１９０の制御に従って、予測結果と評価用情報とを出力する（ステップＳ２１４）。
ステップＳ２１４の後、図１２の処理を終了する。
【００９６】
以上のように、分岐評価部１９１は、予測対象データに基づく予測に用いられる木構造の予測モデルにおける個々の分岐の評価値を算出する。予測部１９２は、木構造の予測モデル用いて予測対象データに基づく予測を行い、予測結果を取得する。予測結果評価部１９３は、予測部１９２による予測における木構造の予測モデル上の経路に含まれるノードからの分岐の評価値に基づいて、予測部１９２による予測に関する評価値を算出する。
このように、予測結果評価部１９３が予測に関する評価値を算出することで、予測装置１００のユーザは、予測結果の確度（予測装置１００による判定結果の信頼度）の判断など予測結果の解析に評価値を用いることができる。このように、予測装置１００によれば、木構造の予測モデルを用いた判定について、判定結果の信頼度を評価するための情報を提供することができる。
【００９７】
また、予測結果評価部１９３は、予測部１９２による予測における木構造の予測モデル上の経路に含まれるノードからの分岐の評価値を説明変数毎に合計して、予測部１９２による予測における説明変数の評価値を算出する。
予測装置１００のユーザは、この評価値を参照することで、予測結果に対する各説明変数の影響の度合いを把握することができ、分類の根拠の検討の参考とすることができる。
【００９８】
また、予測結果評価部１９３は、予測部１９２による予測における木構造の予測モデル上の経路に含まれるノードからの分岐の評価値を合計して、予測結果に対する評価値を算出する。
この評価値は予測結果の確度に対する評価を示していると考えられ、予測装置１００のユーザは、この評価値を参考にして予測結果の確度を判断することができる。
【００９９】
また、予測部１９２は、複数の木構造の予測モデルの各々における予測結果の中から、複数の木構造の予測モデル全体における予測結果を選択する。予測結果評価部１９３は、複数の木構造のモデルの各々における予測部１９２の予測に関する評価値に基づいて、複数の木構造の予測モデル全体における予測部１９２の予測に関する評価値を算出する。
このように、予測結果評価部１９３が複数の木構造の予測モデル全体における予測に関する評価値を算出することで、予測装置１００のユーザは、予測結果の確度の判断など予測結果の解析に評価値を用いることができる。
予測装置が単に予測結果だけを出力する場合、ユーザは、予測の根拠及び予測の確度を判断するためには個々の決定木を自ら解析する必要がある。しかしながら、木の構造が複雑になった場合や、木の数が多くなった場合、分岐条件が複雑に組み合わさって予測が行われており、ユーザが個々の木を解析して予測の根拠や予測の確度を知ることは現実的でない。
これに対し、予測装置１００では、ユーザは、予測装置１００が提供する情報を予測に関する解析に役立てることができる。
【０１００】
また、予測部１９２は、複数の木構造の予測モデルの各々における予測結果に対する評価値に基づいて、複数の木構造の予測モデルの各々における予測結果の中から、複数の木構造の予測モデル全体における予測結果を選択する。
これにより、予測部１９２は、各決定木における分類への評価を加味して、評価の高い予測結果を選択することができる。
【０１０１】
また、分岐評価部１９１は、決定木における分岐の評価値を分岐の親ノードでの平均情報量と子ノードでの平均情報量との違いに基づいて算出する。
これにより、分岐評価部１９１は、決定木における分岐について、分岐による目的変数値の整理の度合いを評価することができる。
【０１０２】
また、分岐評価部１９１は、さらに、親ノードに到達した学習用データの数に基づいて、決定木における分岐の評価値を算出する。
これにより、分岐評価部１９１は、学習用データ数が少ない点で信頼度が低いと考えられる分岐に対する評価値を低くすることができる。
【０１０３】
また、分岐評価部１９１は、木構造のモデルのノード毎に、当該ノードに到達した学習用データに含まれる目的変数値を計数して最多数の目的変数値を検出する。そして、予測結果評価部１９３は、さらに、経路のうち親ノードと子ノードとで最多数の目的変数値が異なる位置に基づいて、予測部１９２の予測結果に対する評価値を算出する。
ここで、最多数の目的変数値（マジョリティ）が切り替わりよりも上側のノードは、予測結果に対する貢献が小さいと考えられる。予測結果評価部１９３は、この点を加味して予測結果を評価することができる。
【０１０４】
また、分岐評価部１９１は、回帰木における分岐の親ノードに到達した学習用データに含まれる目的変数値の郡内平方和と、子ノードに到達した学習用データに含まれる目的変数値の郡内平方和との違いに基づいて分岐の評価値を算出する。
これにより、分岐評価部１９１は、回帰木における分岐について、分岐による目的変数値の整理の度合いを評価することができる。
【０１０５】
＜第２実施形態＞
図１３は、本発明の第２実施形態に係る分類装置の機能構成を示す概略ブロック図である。図１３に示す構成では、図１に示す構成に加えて制御部１９０が説明変数選択部１９４を備える。それ以外は、図１の場合と同様である。
説明変数選択部１９４は、予測装置１００が用いる因子（学習用データに含まれる説明変数）の最適化を行う。具体的には、説明変数選択部１９４は、予測装置１００による分類の精度が向上するように、現在の因子のうちの一部を選択する。
【０１０６】
ここで、一般に機械学習では、ある特定の入力データに着目した際に偶然、目的変数をうまく説明する説明因子が存在する場合がある。この説明因子は、特定の入力データのみに対応する汎用性の無い説明因子であり、他の入力データに対しては誤差要因となる。予測精度の高いモデルを得るためには、このように誤差要因となる説明因子を除外する必要がある。そこで、説明変数選択部１９４は、現在の因子（モデルで用いられている全ての因子）のうち、誤差要因と考えられる因子を除いた因子を選択する。
【０１０７】
以下では、説明変数選択部１９４が因子の一部を選択する２つの方法について説明する。第１の方法では、説明変数選択部１９４は、因子数０から開始して因子を選択していく。第２の方法では、説明変数選択部１９４は、現在の因子から開始して、精度低下の要因となる因子を除去していく。説明変数選択部１９４がいずれの方法を用いるようにしてもよい。
【０１０８】
（第１の方法）
第１の方法では、説明変数選択部１９４は、固定因子数０の状態からスタートし、予測結果と学習用データに含まれる説明変数値との関係におけるκ係数値が最も高くなる因子を探し出して確定因子に加える。κ係数値は、予測結果の確度の目安となり、κ係数値が高いほど予測結果の確度が高いと評価出来る。
そして、説明変数選択部１９４は、確定因子＋残りの１つの因子の全ての組み合わせを試す。説明変数選択部１９４は、残りの因子がなくなるか、あるいは、κ係数値が上がらなくなるまでこれを繰り返す。
【０１０９】
ここで、図１４を参照してκ係数値を用いた予測結果の確度の算出について説明する。ここでいうκ係数は、見かけ上の一致率から偶然の一致率を除去するために用いられる一般的なκ係数である。
図１４は、予測装置１００による予測結果と正解との関係を示す説明図である。
例えば予測装置１００は、学習用データのうち一部をモデル生成のための学習に用い、残りを検証用データとして用いる。予測装置１００は、学習で生成したモデルに検証用データの説明変数値を適用して予測結果を求める。
以下では、モデル生成のためのデータをモデル生成用データと称する。また、モデルの検証用データをモデル精度検証用データとも称する。
【０１１０】
図１４で、Ｃ１〜ＣＮの各々は目的変数値を示す。また、ここでいう正解とは、検証用データに含まれる目的変数値である。
また、ｐ１１〜ｐＮＮは、それぞれ正解と予測結果との組み合わせが生じた確率を示す。例えば、正解Ｃ１に対して予測結果がＣＮであった回数を計数し、全数（検証用データの個数）で除算してｐＮ１を算出する。また、ｐ・１＝ｐ１１＋・・・＋ｐＮ１であり、従って、ｐ・１は、正解がＣ１であった回数を示す。また、図１４に示すように、ｐ・１＋・・・＋ｐ・Ｎ＝１である。同様に、ｐ１・＋・・・＋ｐＮ・＝１である。
これらの値を式（９）の右辺に代入してκ係数値κを求める。
【０１１１】
【数９】
2018045516.tif 000011
【０１１２】
なお、Ｐ０は、見かけの一致率を示し、Ｐｅは偶然による一致率を示す。したがって、κ係数値は、「見かけの一致率のうち、偶然によらない一致率」を「全体の一致率のうち、偶然に依らない一致率」で除算した値となっている。
κ係数の値が大きいほど、予測結果の正解率が高いと言え、このモデルを用いた予測結果は確度（信頼度）が高いと評価できる。このように、ここでのκ係数は、モデルを用いた予測結果の信頼度を示す指標として用いられている。
【０１１３】
図１５は、因子数が３つの場合に説明変数選択部１９４が因子を選択する処理の例を示す説明図である。
図１５の例で、説明変数選択部１９４は、固定因子数０の状態からスタートする。
試行回数１〜３で、説明変数選択部１９４は、因子Ａ〜Ｃについてそれぞれ１つだけを用いることに決定し、制御部１９０がそれぞれについて学習を行う。説明変数選択部１９４は、それぞれの学習結果についてκ変数を求める。図１５の例では因子Ｂを用いた場合のκ係数値が最も高く、説明変数選択部１９４は、因子Ｂを固定因子に加える。
【０１１４】
試行回数４〜５では、説明変数選択部１９４は、固定因子である因子Ｂと、残りの因子Ａ、Ｃのうちの１つとの全ての組み合わせ（従って、Ｂ及びＡと、Ｂ及びＣと）を試す。図１５の例では、Ｂ及びＡの組み合わせの場合のκ係数値が最も大きく、かつ、Ｂのみの場合のκ係数値よりも大きい。そこで、説明変数選択部１９４は、因子Ａを固定因子に加える。
試行回数６では、説明変数選択部１９４は、固定因子である因子Ｂ及びＡと、残りの因子である因子Ｃとの組み合わせ、すなわち、Ａ、Ｂ及びＣを試す。この場合、κ係数値がＡ及びＢの場合の値よりも小さいため、説明変数選択部１９４は、因子Ｃを固定因子に加えない。
【０１１５】
試行回数６の後、残りの因子が無くなったため、説明変数選択部１９４は処理を終了し、固定因子に加えられている因子Ｂ及びＡを用いることに決定する。制御部１９０は、学習用データに含まれる因子のうち、説明変数選択部１９４が決定した因子を用いて学習を行い、モデルを生成する。
【０１１６】
図１６は、説明変数選択部１９４が因子の最適化を行う第１の方法における処理手順の例を示すフローチャートである。
図１６の処理で、説明変数選択部１９４は、確定因子無し、かつ設定因子数０に初期設定する（ステップＳ３１１）。
次に、説明変数選択部１９４は、設定因子数を１増やす（ステップＳ３１２）。
【０１１７】
そして、説明変数選択部１９４は、確定因子を全て含んで因子数が設定因子数となる全ての組み合わせを試すループＬ１１を開始する（ステップＳ３１３）。すなわち、ループＬ１１で説明変数選択部１９４は、確定因子全部にもう１つの因子を加えた全ての組み合わせを試す。因子数が多い場合は、ステップＳ３１２で設定因子数を２つ以上増やすようにしてもよい。
【０１１８】
ループＬ１１では、制御部１９０が、選択された因子の組み合わせで学習を行ってモデルを生成する（ステップＳ３１４）。説明変数選択部１９４は、生成されたモデルを検証してκ係数値を算出する（ステップＳ３１５）。
確定因子を全て含んで因子数が設定因子数となる全ての組み合わせを試し終えるとループＬ１１を終了する（ステップＳ３１６）。
【０１１９】
そして、説明変数選択部１９４は、ループＬ１１で試した組み合わせのうち、κ係数値が前よりも大きくなる組み合わせが有ったか否かを判定する（ステップＳ３１７）。κ係数値が前よりも大きくなる組み合わせが無かったと判定した場合（ステップＳ３１７：ＮＯ）、図１６の処理を終了する。
一方、κ係数値が前よりも大きくなる組み合わせが有ったと判定した場合（ステップＳ３１７：ＹＥＳ）、説明変数選択部１９４は、ループＬ１１で試したうち、κ係数値が最大になった追加因子を確定因子に加える（ステップＳ３１８）。ここでいう追加因子は、試した因子の組み合わせのうち、確定因子以外だった因子である。
【０１２０】
そして、説明変数選択部１９４は、さらに残りの因子が有るか否かを判定する（ステップＳ３１９）ここでは、残りの因子とは確定因子以外の因子である。
残りの因子が有ると判定した場合（ステップＳ３１９：ＹＥＳ）、ステップＳ３１２へ戻る。一方、残りの因子が無いと判定した場合（ステップＳ３１９：ＮＯ）、図１６の処理を終了する。
【０１２１】
（第２の手法）
第２の手法では、説明変数選択部１９４は、高確度であるにもかかわらず予測精度（予測結果の確度）を下げてしまう因子を除外する。この因子は、汎用性が無い因子と言える。説明変数選択部１９４は、予測結果評価部１９３が生成する因子毎の評価値を用いて因子の確度を判定する。また、説明変数選択部１９４は、κ係数を用いて予測精度を判定する。
以下では、高確度であるにもかかわらず予測精度を下げてしまう因子を誤回答因子と称する。誤回答因子を検出するために、制御部１９０は、因子毎の評価値を説明変数値とし、予測結果と正解との関係を示すラベルを目的変数値とした学習データを用いて決定木を生成する。
【０１２２】
第２の手法で制御部１９０が行う処理手順の概要は以下のとおりである。
（手順１）学習用のデータをモデル生成用データとモデル精度検証用データに分割する。
（手順２）モデル生成用データから分類モデルを作成する。
（手順３）分類モデルにモデル精度検証用データを入力し、予測結果を得る。
（手順４）予測の当たり外れを目的変数とし、各因子の信頼度を説明変数として、例えば決定木等のモデルを構築する。
（手順５）構築したモデルから、信頼度が高いのに予測が外れる因子（誤回答因子）を特定し、除外する。信頼度の評価指標として、例えばκ係数を用いることができるがこれに限らない。
（手順６）手順１〜５を、誤回答因子として除外する因子が存在しなくなるまで繰り返す。
【０１２３】
図１７は、誤回答因子の除去に用いる学習用データの例を示す説明図である。図７のデータは、予測装置１００が学習用データの入力を受けて学習及び検証を行い、図４の例のような因子毎の評価値を入力データ毎かつ決定木毎に算出した結果に基づいて、説明変数選択部１９４が生成する。１つの検証用データから、図１７の１行分のデータが得られる。
図１７の「データＮｏ．」の項目は、使用した検証用データの識別番号を示す。
「予測結果」の項目は、検証における予測結果を示す。
「正解」の項目は、検証用データに含まれる目的変数値を示す。
「ラベル」の項目は、予測結果と正解との関係に対するラベルを示す。
【０１２４】
図１８は、予測結果と正解との関係に対するラベルの例を示す説明図である。図８の「Ａ」、「Ｂ」、・・・は、目的変数値を示す。「１」、「２」、・・・は、ラベルを示す。説明変数選択部１９４は、予測結果の目的変数値と正解の目的変数値との組み合わせ毎のラベルを用いる。目的変数値がｎ通りある場合、説明変数選択部１９４は、ｎ２通りのラベルを用いる。
図１７の「Ａ１」、「Ａ２」、・・・の項目は、図４の「因子１」、「因子２」、・・・の項目のような因子毎の評価値を示す。
【０１２５】
図１９は、誤回答因子の除去用に制御部１９０が生成する決定木の例を示す説明図である。制御部１９０は、図１７に示されるデータ構造のデータのうち、「ラベル」の項目の値を目的変数値とし、「Ａ１」、「Ａ２」、・・・の項目の因子毎の評価値を説明変数値として用いる。
制御部１９０は、学習用データをモデル生成用データと検証用データとに分け、モデル生成用データを用いて決定木を生成する。
【０１２６】
図１９は、制御部１９０が生成する決定木の例を示す説明図である。
図１９の決定木の各ノードの１行目には、説明変数および分岐条件が示されている。従って、１行目には、因子と、因子毎の評価値の閾値とが示されている。
各ノードの２行目には、ノードに到達した検証用データ数が示されている。
各ノードの３行目及び４行目には、ノードに到達した検証用データ数が、ラベル毎に示されている。
【０１２７】
例えば、ノードＮ２１の場合、分岐条件は、因子毎の評価値が０．１２以下であれば、ノードＮ３１への分岐である。従って、ノードＮ２１の左側の子ノード（ノードＮ３１）の方が、右側の子ノード（ノードＮ３２）よりも因子毎の評価値が小さい。他のノードについても同様に、左側の子ノードの方が右側の子ノードよりも因子毎の評価値が小さくなっている。
【０１２８】
また、ノードＮ２１に到達したデータの個数は７３７個であり、そのうち、ラベル「１」、「２」、「３」、「４」のものが、それぞれ２５３個、３０個、４３２個、２２個である。
図１９の例では、目的変数値は「正常」と「故障」との２通りであり、ラベル「１」は、正解、予測結果共に「正常」を示す。ラベル「２」は、正解「故障」に対して予測結果「正常」を示す。ラベル「３」は、正解「正常」に対して予測結果「故障」を示す。ラベル「４」は、正解、予測結果共に「故障」を示す。
従って、ラベル「１」及び「４」は正解と予測結果とが一致していることを示し、「２」及び「３」は不一致を示す。
【０１２９】
説明変数選択部１９４は、図１９の決定木を根ノード（ノードＮ１１）から順に辿る。説明変数選択部１９４は、根ノードについては、誤回答因子の判定の対象外とする。根ノードの分岐は、予測が合っていたか否かの意味合いではなく、「正常」と予測したか「故障」と予測したかを分ける分岐だからである。
根ノードから出発した説明変数選択部１９４は、まず、ノードＮ２１に進む。ノードＮ２１では、右下の子ノード（ノードＮ３２）の方が、左下の子ノード（ノードＮ３１）よりもκ係数値が小さい。従って、確度が高い子ノードの方が、予測精度が低い。このことから、ノードＮ２１の因子Ａ９が予測精度を下げていると考えられる。そこで、説明変数選択部１９４は、ノードＮ２１を誤回答因子として除外する。
説明変数選択部１９４は、誤回答因子と判定したノードから下については探索を行わない。
【０１３０】
説明変数選択部１９４は、ノードＮ２１の後、ノードＮ２２へ移動する。ノードＮ２２では、右下の子ノード（ノードＮ３４）の方が、左下の子ノード（ノードＮ３３）よりもκ係数値が大きい。従って、説明変数選択部１９４は、ノードＮ２２を除外せずに子ノードへ移動する。
ノードＮ３３では、右下の子ノード（ノードＮ４６）の方が、左下の子ノード（ノードＮ４５）よりもκ係数値が大きい。従って、説明変数選択部１９４は、ノードＮ３３を除外しない。ノードＮ４５又はノードＮ４６からさらに子ノードがあれば、説明変数選択部１９４は、子ノードのあるノードについて誤回答因子か否かの判定を行う。
【０１３１】
ノードＮ３４では、右下の子ノード（ノードＮ４８）の方が、左下の子ノード（ノードＮ４７）よりもκ係数値が小さい。そこで、説明変数選択部１９４はノードＮ３４を誤回答因子として除外する。説明変数選択部１９４は、誤回答因子とした除去したノードＮ３４から下については、誤回答因子か否かの判定を行わない。
このように、説明変数選択部１９４は、根ノードから出発して各分岐について、誤回答因子と判定するか、あるいは分岐先のノードが無くなる（すなわち、葉ノードに到達する）まで判定を繰り返す。
説明変数選択部１９４が決定木の探索を終了すると、制御部１９０が、誤回答因子を除いた説明変数で学習をし直す。そして、説明変数選択部１９４は、得られたモデルを検証してモデルのκ係数を算出した後、誤回答因子の検出を再度行う。
【０１３２】
図２０は、誤回答因子の検出の繰り返しの例を示す説明図である。
１回目の試行では、モデルのκ係数は０．１である。また、説明変数選択部１９４は、因子Ｄを誤回答因子として除去している。誤回答因子フラグの「１」が、誤回答因子としての除去を示している。
このように、説明変数選択部１９４は、誤回答因子として除去した因子をフラグで記憶しておき、全ての因子が無くなるか、或いは、誤回答因子を検出しなくなるまで処理を繰り返す。
全ての因子が無くなるか、誤回答因子を検出しなくなった場合、説明変数選択部１９４は、検出した因子の組み合わせのうち、モデルのκ係数が最も高い組み合わせに決定する。
【０１３３】
図２１は、説明変数選択部１９４が因子の最適化を行う第２の方法における処理手順の例を示すフローチャートである。
図２１の処理で、説明変数選択部１９４は、学習用データに含まれる全因子を使用することに初期設定する（ステップＳ４１１）。ステップＳ４１１は、上記の手順１に対応する。
次に、制御部１９０が、学習を行って決定木を生成する（ステップＳ４１２）。制御部１９０は、学習用データをモデル生成用データと検証用データとに分け、モデル生成用データを用いて学習を行って決定木を生成する。ステップＳ４１２は、上記の手順２に対応する。
【０１３４】
そして、説明変数選択部１９４は、検証用データを用いてモデルを検証し、モデルのκ係数を算出する（ステップＳ４１３）。また、予測結果評価部１９３が、ステップＳ４１３での検証結果に基づいて、誤回答因子検出用の決定木を生成するための学習用データを生成する。
さらに、説明変数選択部１９４は、図１８を参照して説明したように、検証での予測結果と正解との関係（予測成否）をラベル付けする（ステップＳ４１４）。
ステップＳ４１３〜Ｓ４１４は、上記の手順３に対応する。
【０１３５】
次に、制御部１９０は、ステップＳ４１３での検証結果に基づいて予測結果評価部１９３が生成した学習用データを用いて学習を行い、誤回答因子検出用の決定木を生成する（ステップＳ４１５）。ここでも制御部１９０は、学習用データをモデル生成用データと検証用データとに分け、モデル生成用データを用いて学習し、決定木を生成する。
説明変数選択部１９４は、ステップＳ４１５で得られた決定木を検証し、各ノードのκ係数値を算出する（ステップＳ４１６）。ステップＳ４１５〜Ｓ４１６は、上記の手順４に対応する。
【０１３６】
そして、説明変数選択部１９４は、親ノードから順に決定木を探索して誤回答因子を検出する（ステップＳ４１７）。
説明変数選択部１９４は、誤回答因子の検出を完了すると、残り因子の有無、及び、誤回答因子検出の有無を判定する（ステップＳ４１８）。ここでいう残り因子とは、誤回答因子として除外されずに残っている因子である。
【０１３７】
残り因子があり、かつ、ステップＳ４１７で誤回答因子を検出したと判定した場合（ステップＳ４１８：ＮＯ）、説明変数選択部１９４は、誤回答因子を除去する（ステップＳ４１９）。図２０を参照して説明したように、説明変数選択部１９４は、ステップＳ４１７で誤回答因子と判定した因子にフラグを立てることで、学習時の使用対象から除外する。ステップＳ４１７〜Ｓ４１９は、上記の手順５に対応する。
ステップＳ４１９の後、ステップＳ４１２へ戻る。ステップＳ４１９からステップＳ４１２へ戻ることによる処理の繰り返しは、上記の手順６に対応する。
【０１３８】
一方、ステップＳ４１８で、残り因子が無い、あるいは、誤回答因子を検出していないと判定した場合（ステップＳ４１８：ＮＯ）、図２０を参照して説明したように、説明変数選択部１９４は、誤回答因子の検出を繰り返し行って得られた組み合わせのうち、モデルのκ係数値が最も大きい組み合わせを選択する（ステップＳ４２０）。
ステップＳ４２０の後、図２１の処理を終了する。
【０１３９】
以上のように、説明変数選択部１９４は、木構造の分類モデルに学習用データを適用した学習結果と適用した学習用データに含まれる目的変数値との関係におけるκ係数を算出する。そして、説明変数選択部１９４は、得られたκ係数に基づいて木構造の分類モデルに用いる説明変数を選択する。
説明変数選択部１９４は、κ係数を用いることで予測精度を評価することができ、予測精度が高くなるように因子を選択することができる。
【０１４０】
なお、制御部１９０の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１４１】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【０１４２】
１００  予測装置
１１０  データ取得部
１２０  出力部
１８０  記憶部
１９０  制御部
１９１  分岐評価部
１９２  予測部
１９３  予測結果評価部
１９４  説明変数選択部
【図１】
2018045516.tif 000012
【図２】
2018045516.tif 000013
【図３】
2018045516.tif 000014
【図４】
2018045516.tif 000015
【図５】
2018045516.tif 000016
【図６】
2018045516.tif 000017
【図７】
2018045516.tif 000018
【図８】
2018045516.tif 000019
【図９】
2018045516.tif 000020
【図１０】
2018045516.tif 000021
【図１１】
2018045516.tif 000022
【図１２】
2018045516.tif 000023
【図１３】
2018045516.tif 000024
【図１４】
2018045516.tif 000025
【図１５】
2018045516.tif 000026
【図１６】
2018045516.tif 000027
【図１７】
2018045516.tif 000028
【図１８】
2018045516.tif 000029
【図１９】
2018045516.tif 000030
【図２０】
2018045516.tif 000031
【図２１】
2018045516.tif 000032