(57)【要約】  特徴量設計部８１は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する。特徴量生成部８２は、設計された特徴量をリレーショナルデータから生成する。学習部８３は、生成された特徴量に基づいて予測モデルを学習する。
2018079225.tif 000002
【特許請求の範囲】
【請求項１】
リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計部と、
設計された特徴量を前記リレーショナルデータから生成する特徴量生成部と、
生成された特徴量に基づいて予測モデルを学習する学習部とを備えた
ことを特徴とする自動予測システム。
【請求項２】
特徴量設計部は、リレーショナルデータを表わす表から、目的変数を含む第一の表と当該第一の表と異なる第二の表を特定し、特定した第一の表および第二の表から前記特徴量を生成するための特徴量生成関数を作成し、
特徴量生成部は、作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成する
請求項１記載の自動予測システム。
【請求項３】
特徴量設計部は、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成する
請求項２記載の自動予測システム。
【請求項４】
特徴量設計部は、第二の表に含まれる行の抽出条件を表わす条件式を含む抽出条件要素、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成する
請求項２記載の自動予測システム。
【請求項５】
リレーショナルデータから、目的変数を含む表、当該表において目的変数とする列および集約方法要素で対象とする集約単位の列であるキー列の指定を受け付ける選択部を備えた
請求項３または請求項４記載の自動予測システム。
【請求項６】
予測モデルを用いて目的変数が示す対象の予測を行う予測部を備えた
請求項１から請求項５のうちのいずれか１項に記載の自動予測システム。
【請求項７】
リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計し、
設計された特徴量を前記リレーショナルデータから生成し、
生成された特徴量に基づいて予測モデルを学習する
ことを特徴とする自動予測方法。
【請求項８】
リレーショナルデータを表わす表から、目的変数を含む第一の表と当該第一の表と異なる第二の表を特定し、
特定された第一の表および第二の表から前記特徴量を生成するための特徴量生成関数を作成し、
作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成する
請求項７記載の自動予測方法。
【請求項９】
コンピュータに、
リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計処理、
設計された特徴量を前記リレーショナルデータから生成する特徴量生成処理、および、
生成された特徴量に基づいて予測モデルを学習する学習処理
を実行させるための自動予測プログラム。
【請求項１０】
コンピュータに、
特徴量設計処理で、リレーショナルデータを表わす表から、目的変数を含む第一の表と当該第一の表と異なる第二の表を特定させ、特定させた第一の表および第二の表から前記特徴量を生成するための特徴量生成関数を作成させ、
特徴量生成処理で、作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成させる
請求項９記載の自動予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指定された対象の予測を登録されたデータを基に自動で行う自動予測システム、自動予測方法および自動予測プログラムに関する。
【背景技術】
【０００２】
蓄積されたデータを用いて予測モデルを学習し、学習された予測モデルを用いて対象を予測することが一般に行われている。例えば、混合モデルを推定する方法の一例が、特許文献１に記載されている。特許文献１に記載された方法では、データの混合モデル推定のターゲットとなる確率変数に対する隠れ変数の変分確率が計算される。そして、計算された隠れ変数の変分確率を用いて、混合モデルのコンポーネントごとに分離されたモデル事後確率の下限が最大となるようにコンポーネントの種類及びそのパラメータを最適化することで、最適な混合モデルが推定される。【０００３】
また、近年、市民データサイエンティストという職能が注目されている。市民データサイエンティストは、例えば、予測モデルを自動的に生成するようなＢＩ（ビジネス・インテリジェンス）のツールを使いこなす技術者である。市民データサイエンティストは、予測に用いる特徴とデータを上記ツールに適用することで自動的に予測モデルを生成し、所望の対象の予測を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１２８２０７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述するツールを効果的に利用するためには、予測に用いる特徴を適切に作成することが必要になる。しかし、一般にこのような特徴の作成は、経験者によって行われることが多く、また、１つの予測モデルを作成するために、チューニング等、多くの期間を必要とする。【０００６】
そのため、いわゆる市民データサイエンティストが、このような特徴を短期間で適切に作成することは難しく、また、作成された特徴に基づいて生成された予測モデルの分析を行うことも同様に困難である。【０００７】
そこで、本発明は、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる自動予測システム、自動予測方法および自動予測プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による自動予測システムは、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計部と、設計された特徴量をリレーショナルデータから生成する特徴量生成部と、生成された特徴量に基づいて予測モデルを学習する学習部とを備えたことを特徴とする。【０００９】
本発明による自動予測方法は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計し、設計された特徴量をリレーショナルデータから生成し、生成された特徴量に基づいて予測モデルを学習することを特徴とする。【００１０】
本発明による自動予測プログラムは、コンピュータに、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計処理、設計された特徴量をリレーショナルデータから生成する特徴量生成処理、および、生成された特徴量に基づいて予測モデルを学習する学習処理を実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる。
【図面の簡単な説明】
【００１２】
【図１】本発明による自動予測システムの一実施形態を示すブロック図である。
【図２】ターゲットテーブルを生成するための情報を受け付ける画面の例を示す説明図である。
【図３】プランを選択する画面の例を示す説明図である。
【図４】自動予測システムの動作例を示す説明図である。
【図５】特徴量を自動設計して予測までを行う処理の例を示すフローチャートである。
【図６】本発明による自動予測モデルの概要を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面を参照して説明する。
【００１４】
実施形態１．
図１は、本発明による自動予測システムの一実施形態を示すブロック図である。本実施形態の自動予測システム１００は、入力部１０と、選択部２０と、関係推定部３０と、特徴量設計部４０と、特徴量生成部５０と、モデル設計部６０と、予測部７０と、記憶部８０とを備えている。
【００１５】
入力部１０は、モデルの推定に用いるデータを入力し、記憶部８０に記憶する。本実施形態では、入力部１０は、リレーショナルデータを入力する。入力部１０は、通信ネットワーク（図示せず）を介して受信する情報を入力してもよく、これらの情報を記憶する記憶装置（図示せず）から情報を読み取って入力してもよい。
【００１６】
以下の説明では、単にデータと記載した場合、リレーショナルデータを表わす表に含まれる各セルの内容を表わし、表データと記載した場合、表に含まれるデータ全体を表わす。また、各表は、データの属性を表わす列の組合せにより定義される。
【００１７】
また、入力部１０は、必要に応じて、入力されるデータのチェックを行ってもよい。一般に、リレーショナルデータベースで扱われるデータの型と、分析で用いられるデータの型とは異なる。例えば、分析で用いられるＩＤは、データベースでは数値型（ｉｎｔ型）で表されことが多い。一方、ｉｎｔ型として入力されたデータは、ＩＤの可能性もあるが、単なる数値の可能性もある。そこで、入力部１０は、入力されたデータと、そのデータの型に基づいて分析対象のデータの型を推定してもよい。
【００１８】
選択部２０は、予測対象を選択する。具体的には、選択部２０は、入力されたデータから、予測対象の列を含む表（以下、ターゲットテーブルまたは第一の表と記す。）を生成する。選択部２０は、例えば、記憶部８０に記憶された表の中から１または２以上のキー列と、予測対象である変数（以下、目的変数と記す。）を含む列とをユーザから受け付けて、ターゲットテーブルを生成する。
【００１９】
なお、予測対象は、後述する予測モデルの目的変数で示されることから、予測対象を示す変数のことを目的変数と言うことができる。したがって、ターゲットテーブルは目的変数を含む表であると言うこともできる。
【００２０】
選択部２０は、他にも、サンプルとして用いるデータのフィルタ条件を１つ以上ユーザから受け付けてもよい。また、キー列は、後述する特徴量設計部４０が、データを集約する際に対象とする集約単位の列に対応する。
【００２１】
図２は、ターゲットテーブルを生成するための情報を受け付ける画面の例を示す説明図である。図２に示す例では、領域Ａ１に表の候補の一覧が表示される。ユーザは、領域Ａ１に表示された表の中から、予測対象の列を含む表を選択する。選択された表は、領域Ａ２に表示される。図２に示す例では、選択された表「ｃｈｕｒｎｅｒ」の列に、ｉｎｔ型のユーザＩＤ（ｕｓｅｒ＿ｉｄ）、ｄａｔｅ型の日付（ｄａｔｅ）、ｉｎｔ型の大型ミルク缶についての情報（ｃｈｕｒｎｅｒ）、ｃｈａｒ型の性別（ｇｅｎｄｅｒ）が含まれていることを示す。
【００２２】
ユーザは、領域Ａ２に表示された表の各列の中から、キーとする１以上の列を選択する。また、ユーザは、領域Ａ２に表示された表の列の中から、予測対象の列を選択する。図２に示す例では、ユーザが、白抜き三角で示２つのす列（ｕｓｅｒ＿ｉｄ、ｄａｔｅ）Ｃ１，２をキーとして選択し、黒三角で示す列（ｃｈｕｒｎｅｒ）Ｃ３を予測対象として選択したことを示す。
【００２３】
また、領域Ａ２に表示された“ａｎａｌｙｔｉｃ  ｄａｔｅ  ｔｙｐｅ”は、分析する際のデータの型を示す。また、ユーザは、各列のフィルタ条件を指定する。図２に示す例では、ユーザが、ｇｅｎｄｅｒ列Ｃ４のフィルタ条件として、値が“Ｍ”のデータを指定したことを示す。
【００２４】
また、領域Ａ３は、選択された情報を表示する領域である。選択部２０は、図２に例示する画面を表示して、ユーザからの指示を受け付けてもよい。
【００２５】
関係推定部３０は、記憶部８０に記憶された異なるテーブルに含まれる各列間の関係を推定する。関係推定部３０は、例えば、同じ名称および同じ型の列同士が関係性を有すると推定してもよい。なお、簡略化された名称の列同士が関係を有すると推定されないように、関係推定部３０は、所定の名称の列（例えば、「ＩＤ」、「日付（ｄａｔｅ）」、「名（ｎａｍｅ）」、「テキスト（ｔｅｘｔ）」、「タイプ（ｔｙｐｅ）」など）を、候補から除外してもよい。
【００２６】
また、推定精度を向上させるため、関係推定部３０は、推定結果を出力してユーザの修正指示を受け付け、その修正指示に基づいて推定した関係を修正してもよい。
【００２７】
特徴量設計部４０は、予測に用いる特徴量を設計する。すなわち、特徴量設計部４０は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する。具体的には、特徴量設計部４０は、入力されたデータ（リレーショナルデータ）および指定された情報に基づいて、予測に用いる特徴量を生成するための関数（以下、特徴量生成関数と記す。）を作成する。
【００２８】
特徴量生成関数は、ターゲットテーブルに含まれる表データおよびターゲットテーブルと異なる表（以下、ソーステーブルまたは第二の表と記すこともある。）の表データから特徴量を生成するための関数である。したがって、特徴量設計部４０は、選択部２０が生成したターゲットテーブル（第一の表）と、ソーステーブル（第二の表）を特定し、特定したこれらの表から特徴量生成関数を作成する。
【００２９】
生成された特徴量は、機械学習を用いてモデルを生成する際の説明変数の候補になる。言い換えると、本実施形態で生成される特徴量生成関数を用いることで、機械学習を用いてモデルを生成する際の説明変数の候補を自動的に生成することが可能になる。
【００３０】
特徴量生成関数は、複数のパラメータで表される。ターゲットテーブル（第一の表）とソーステーブル（第二の表）の行の対応条件を表わすパラメータ（以下、対応条件要素と記すこともある。）が、その一つである。また、ソーステーブル（第二の表）に含まれる各列のデータを目的変数ごとに集約する集約方法を表わすパラメータ（以下、集約方法要素と記すこともある。）が、他の一つである。特徴量設計部４０は、上記対応条件要素および集約方法要素の組合せを生成することで、特徴量生成関数を作成する。
【００３１】
また、ソーステーブル（第二の表）に含まれる行の抽出条件を表わす条件式を含むパラメータ（以下、抽出条件要素と記すこともある）も、特徴量生成関数を作成するパラメータとして挙げられる。そのため、特徴量設計部４０は、上記対応条件要素、集約方法要素および抽出条件要素の組合せを生成することで、特徴量生成関数を作成してもよい。
【００３２】
対応条件要素は、ターゲットテーブル（第一の表）の表データの行と、ソーステーブル（第二の表）の表データの行の対応条件を表わす要素である。具体的には、対応条件要素は、ターゲットテーブル（第一の表）の列とソーステーブル（第二の表）の列を対応付ける列のペアとして定義される。対応条件要素は、例えば、関係推定部３０によって推定された各列間の関係である。
【００３３】
集約方法要素は、ソーステーブル（第二の表）に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす要素であり、例えば、選択部２０で指定されたキーごとの集約方法を示す。集約方法要素は、例えば、ソーステーブル（第二の表）の列に対する集約関数として定義される。集約方法は任意であり、例えば、列の総数、最大値、最小値、平均値、中央値、分散などが挙げられる。集約方法要素は、ユーザ等により予め定められ、記憶部８０に記憶される。
【００３４】
抽出条件要素は、ソーステーブル（第二の表）に含まれる行の抽出条件を表わす要素である。具体的には、第一の要素が示す抽出条件は、ソーステーブル（第二の表）に対する条件式として定義される。抽出条件要素は、例えば、選択部２０が受け付けたフィルタ条件である。
【００３５】
以上の対応条件要素、集約方法要素および抽出条件要素をもとに、特徴量生成関数は、例えば、ターゲットテーブルおよびソーステーブルからデータを抽出するＳＱＬ文で定義される。
【００３６】
また、特徴量設計部４０は、特徴量生成関数により作成される特徴量の内容をユーザとって分かり易くするため、特徴量生成関数を自然言語で表現してもよい。例えば、特徴量生成関数がＳＱＬ文で表されている場合、ＳＱＬの構文に合わせたテンプレートを予め用意しておき、特徴量設計部４０は、テンプレートの対応条件要素および抽出条件要素に対応する箇所に、自然言語表記した列名や表名、抽出条件を当て嵌めてもよい。また、集約方法要素が用いられる場合、特徴量設計部４０は、その集約関数を自然言語表記に変換して表現してもよい。
【００３７】
また、特徴量設計部４０は、作成された特徴量生成関数を用いて生成する特徴量の探索規模を決定する。特徴量の探索規模は、コンピュータのリソースやスペック、時間、予測精度を考慮して決定される。特徴量設計部４０は、決定した探索規模をユーザに提示して、ユーザの所望する探索規模を受け付けてもよい。
【００３８】
図３は、プランを選択する画面の例を示す説明図である。図３に示す例では、ＡからＣまでの３種類のプラン（速度重視の検索、中程度、全体検索）とともに、そのプランで対象とするサンプルのサイズおよび特徴量のサイズが表示されていることを示す。
【００３９】
特徴量生成部５０は、リレーショナルデータから設計された特徴量を生成する。具体的には、特徴量生成部５０は、作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成する。
【００４０】
なお、特徴量生成部５０は、ターゲットテーブルで対象とする範囲（具体的には、予測対象のキーの範囲）の指定を受け付け、その範囲内で特徴量を生成してもよい。
【００４１】
モデル設計部６０は、生成された特徴量に基づいて予測モデルを生成する。具体的には、モデル設計部６０は、予測対象を目的変数とし、生成された特徴量を説明変数とする予測モデルを学習する。なお。モデル設計部６０は、予測モデルを学習することから、学習部と言うことができる。
【００４２】
モデル設計部６０は、生成された特徴量のサブサンプリングを行う。サブサンプリングの方法は任意であり、例えば、ランダムに特徴量を選択する方法（ランダムサンプリング）が挙げられる。また、予測モデルの学習方法も１つ以上設定され、各学習に必要なパラメータもそれぞれ設定される。予測モデルの学習方法は任意であり、モデル設計部６０は、例えば、特許文献１に記載された方法を用いてモデルを学習してもよい。
【００４３】
また、モデル設計部６０は、予測モデルの学習規模に応じたサブサンプル数、学習に用いるアルゴリズムの種類の数、および、各アルゴリズムに設定するパラメータの種類の数を決定する。学習規模は、コンピュータのリソースやスペック、時間などに応じて決定される。モデル設計部６０は、学習規模の候補を数種類（例えば、少数、中程度、多数など）計算してユーザに提示し、ユーザの所望する学習規模を受け付けてもよい。
【００４４】
モデル設計部６０は、決定した数のサブサンプル、アルゴリズムおよびパラメータごとに予測モデルを生成する。そして、モデル設計部６０は、生成された予測モデルの評価（エバリュエーション）を行う。評価方法は任意であり、例えば、モデル設計部６０は、予め定めておいた評価方法を用いて予測モデルを評価してもよく、ユーザによって選択された評価方法を用いて予測モデルを評価してもよい。そして、モデル設計部６０は、評価値が上位の予測モデルを組み合わせたアンサンブルモデルを予測モデルとして生成する。
【００４５】
予測部７０は、生成された予測モデルおよび特徴量を用いて、目的変数が示す対象の予測を行う。
【００４６】
入力部１０と、選択部２０と、関係推定部３０と、特徴量設計部４０と、特徴量生成部５０と、モデル設計部６０と、予測部７０とは、プログラム（自動予測プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、記憶部８０に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、入力部１０、選択部２０、関係推定部３０、特徴量設計部４０、特徴量生成部５０、モデル設計部６０及び予測部７０として動作してもよい。
【００４７】
また、入力部１０と、選択部２０と、関係推定部３０と、特徴量設計部４０と、特徴量生成部５０と、モデル設計部６０と、予測部７０とは、それぞれが専用のハードウェアで実現されていてもよい。また、本発明による自動予測システムは、２つ以上の物理的に分離した装置が有線または無線で接続されることにより構成されていてもよい。
【００４８】
次に、本実施形態の自動予測システムの動作例を説明する。図４は、本実施形態の自動予測システムの動作例を示す説明図である。まず、入力部１０は、リレーショナルデータの入力を受け付ける（ステップＳ１１）。また、入力部１０は、ユーザから分析データの型の指定を受け付けてもよい（ステップＳ１２）。入力部１０は、受け付けたリレーショナルデータおよび指定された型を記憶部８０に記憶する（ステップＳ１３）。
【００４９】
選択部２０は、登録されたリレーショナルデータからターゲットテーブルを作成する。具体的には、選択部２０は、記憶部８０からリレーショナルデータを読み取る（ステップＳ１４）。選択部２０は、読み取ったリレーショナルデータをユーザに提示し、ターゲットテーブルのキーの指定、予測対象となる列の指定およびサンプリングを行う際のフィルタ条件を受け付ける（ステップＳ１５）。選択部２０は、ユーザから受け付けた指定を記憶部８０に記憶する（ステップＳ１６）。
【００５０】
関係推定部３０は、記憶部８０に記憶されたリレーショナルデータを読み取り、異なるテーブルの列間の関係を推定する（ステップＳ１７）。具体的には、関係推定部３０は、列間にどのような関係（具体的には、１：１，Ｎ：１，１：Ｎ，Ｎ：Ｎの関係）があるか推定する。関係推定部３０は、推定した結果をユーザに提示し、ユーザからの修正指示を受け付けてもよい（ステップＳ１８）。関係推定部３０は、列間の関係を記憶部８０に記憶する（ステップＳ１９）。
【００５１】
特徴量設計部４０は、特徴量を設計する。具体的には、特徴量設計部４０は、特徴量生成関数を生成する。特徴量設計部４０は、まず、記憶部８０からリレーショナルデータおよびターゲットテーブルを読み取り、計算時間、および、予測精度を考慮して、生成プランに応じた探索規模を算出して、ユーザに提示する（ステップＳ２０）。
【００５２】
ここで、生成プランとは、特徴量生成関数を用いて生成する特徴量の探索規模を表わす情報であり、例えば、数種類（速度重視の探索、中程度の探索、全体探索、など）の中から探索規模をユーザに選択させる。特徴量設計部４０は、ユーザから生成プランの指定を受け付ける（ステップＳ２１）。また、特徴量設計部４０は、生成プランに応じた特徴量生成関数を生成して、特徴量生成部５０に入力する（ステップＳ２２）。
【００５３】
特徴量生成部５０は、特徴量生成関数と記憶部８０に記憶されたリレーショナルデータとから特徴量を生成する。特徴量生成部５０は、生成した特徴量をモデル設計部６０および予測部７０に入力する（ステップＳ２４）。なお、特徴量生成の際、特徴量生成部５０は、ターゲットのキーの範囲の指定をユーザから受け付けてもよい（ステップＳ２３）。
【００５４】
モデル設計部６０は、予測モデルを生成する規模を示す生成プランを作成し、ユーザに提示する（ステップＳ２５）。ここでは、モデル設計部６０は、生成プランに応じて、モデルの生成に用いるアルゴリズムの種類の数およびそのアルゴリズムで用いるパラメータの種類の数を決定する（ステップＳ２６）。モデル設計部６０は、指定された生成プランのアルゴリズムおよびパラメータに基づいて予測モデルを生成し、生成した予測モデルを予測部７０に入力する（ステップＳ２７）。
【００５５】
予測部７０は、特徴量生成部５０により生成された特徴量とモデル設計部６０により生成された予測モデルに基づいて予測を行い、予測結果を出力する（ステップＳ２８）。
【００５６】
図５は、特徴量を自動設計して予測までを行う処理の例を示すフローチャートである。特徴量設計部４０は、データから特徴量を設計する（ステップＳ３１）。具体的には、特徴量設計部４０は、指定されたターゲット（予測対象）およびリレーショナルデータの各関係に基づいて、そのリレーショナルデータから、特徴量生成関数を作成する。特徴量生成部５０は、設計された特徴量をデータを用いて生成する（ステップＳ３２）。モデル設計部６０は、生成された特徴量に基づいて予測モデルを学習する（ステップＳ３３）。そして、予測部７０は、予測モデルを用いて目的変数が示す対象の予測を行う（ステップＳ３４）。
【００５７】
以上のように、本実施形態では、特徴量設計部４０が特徴量を設計し、特徴量生成部５０が設計された特徴量をリレーショナルデータから生成する。そして、学習部６０が、生成された特徴量に基づいて予測モデルを学習する。よって、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる。
【００５８】
すなわち、本実施形態の自動予測システムでは、ユーザがターゲット（予測対象）とリレーションを指定するだけで、最終的な予測まで行うことが可能になる。
【００５９】
次に、本発明の概要を説明する。図６は、本発明による自動予測モデルの概要を示すブロック図である。本発明による自動予測システム９９は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計部８１（例えば、特徴量設計部４０）と、設計された特徴量をリレーショナルデータから生成する特徴量生成部８２（例えば、特徴量生成部５０）と、生成された特徴量に基づいて予測モデルを学習する学習部８３（例えば、モデル設計部６０）とを備えている。
【００６０】
そのような構成により、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる。
【００６１】
具体的には、特徴量設計部８１は、リレーショナルデータを表わす表から、目的変数を含む第一の表（例えば、ターゲットテーブル）とその第一の表と異なる第二の表（例えば、ソーステーブル）を特定し、特定した第一の表および第二の表から特徴量を生成するための特徴量生成関数を作成してもよい。そして、特徴量生成部８２は、作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成してもよい。
【００６２】
また、特徴量設計部８１は、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成してもよい。
【００６３】
さらに、特徴量設計部８１は、第二の表に含まれる行の抽出条件を表わす条件式を含む抽出条件要素、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成してもよい。
【００６４】
また、自動予測システムは、リレーショナルデータから、目的変数を含む表、その表において目的変数とする列および集約方法要素で対象とする集約単位の列であるキー列の指定を受け付ける選択部（例えば、選択部２０）を備えていてもよい。
【００６５】
また、自動予測システムは、予測モデルを用いて目的変数が示す対象の予測を行う予測部（例えば、予測部７０）を備えていてもよい。
【００６６】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００６７】
この出願は、２０１６年１０月３１日に出願された日本特許出願２０１６−２１２５１６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６８】
１０  入力部
２０  選択部
３０  関係推定部
４０  特徴量設計部
５０  特徴量生成部
６０  モデル設計部
７０  予測部
８０  記憶部
１００  自動予測システム
【図１】
2018079225.tif 000003
【図２】
2018079225.tif 000004
【図３】
2018079225.tif 000005
【図４】
2018079225.tif 000006
【図５】
2018079225.tif 000007
【図６】
2018079225.tif 000008
【国際調査報告】
2018079225.tif 000009
2018079225.tif 000010
2018079225.tif 000011
2018079225.tif 000012