(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-09
(45)【発行日】2022-05-17
(54)【発明の名称】自動予測システム、自動予測方法および自動予測プログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20220510BHJP
G06N 5/04 20060101ALI20220510BHJP
G06N 20/00 20190101ALI20220510BHJP
【FI】
G06Q10/04
G06N5/04
G06N20/00
(21)【出願番号】P 2018547521
(86)(22)【出願日】2017-10-05
(86)【国際出願番号】 JP2017036364
(87)【国際公開番号】W WO2018079225
(87)【国際公開日】2018-05-03
【審査請求日】2020-10-05
(31)【優先権主張番号】P 2016212516
(32)【優先日】2016-10-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】520052374
【氏名又は名称】ドットデータ インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】藤巻 遼平
(72)【発明者】
【氏名】楠村 幸貴
(72)【発明者】
【氏名】浅原 理人
(72)【発明者】
【氏名】村岡 優輔
【審査官】萩島 豪
(56)【参考文献】
【文献】特開2013-152656(JP,A)
【文献】特開2005-302040(JP,A)
【文献】特開2002-109150(JP,A)
【文献】国際公開第2016/017086(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
G06N 5/04
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
リレーショナルデータを表わす表から、目的変数を含む第一の表と当該第一の表と異なる第二の表を特定し、前記第一の表および前記第二の表から特徴量を
生成するための特徴量生成関数を作成する特徴量設計部と、
前記特徴量生成関数を前記リレーショナルデータに適用して特徴量を生成する特徴量生成部と、
生成された特徴量に基づいて予測モデルを学習する学習部とを備えた
ことを特徴とする自動予測システム。
【請求項2】
特徴量設計部は、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成する
請求項
1記載の自動予測システム。
【請求項3】
特徴量設計部は、第二の表に含まれる行の抽出条件を表わす条件式を含む抽出条件要素、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成する
請求項
1記載の自動予測システム。
【請求項4】
リレーショナルデータから、目的変数を含む表、当該表において目的変数とする列および集約方法要素で対象とする集約単位の列であるキー列の指定を受け付ける選択部を備えた
請求項
2または請求項
3記載の自動予測システム。
【請求項5】
予測モデルを用いて目的変数が示す対象の予測を行う予測部を備えた
請求項1から請求項
4のうちのいずれか1項に記載の自動予測システム。
【請求項6】
リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計し、
リレーショナルデータを表わす表から、目的変数を含む第一の表と当該第一の表と異なる第二の表を特定し、
前記第一の表および前記第二の表から特徴量を生成するための特徴量生成関数を作成し、
前記生成された特徴量関数を前記リレーショナルデータに適用して前記特徴量を生成し、
生成された特徴量に基づいて予測モデルを学習する
ことを特徴とする自動予測方法。
【請求項7】
コンピュータに、
リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計
し、
リレーショナルデータを表わす表から、目的変数を含む第一の表と当該第一の表と異なる第二の表を特定し、
特定された第一の表および第二の表から特徴量を生成するための特徴量生成関数を作成し、
前記作成された特徴量生成関数を前記リレーショナルデータに適用して特徴量を生成
し、
生成された特徴量に基づいて予測モデルを学習する
ための方法を実行させるための自動予測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、指定された対象の予測を登録されたデータを基に自動で行う自動予測システム、自動予測方法および自動予測プログラムに関する。
【背景技術】
【0002】
蓄積されたデータを用いて予測モデルを学習し、学習された予測モデルを用いて対象を予測することが一般に行われている。例えば、混合モデルを推定する方法の一例が、特許文献1に記載されている。特許文献1に記載された方法では、データの混合モデル推定のターゲットとなる確率変数に対する隠れ変数の変分確率が計算される。そして、計算された隠れ変数の変分確率を用いて、混合モデルのコンポーネントごとに分離されたモデル事後確率の下限が最大となるようにコンポーネントの種類及びそのパラメータを最適化することで、最適な混合モデルが推定される。
【0003】
また、近年、市民データサイエンティストという職能が注目されている。市民データサイエンティストは、例えば、予測モデルを自動的に生成するようなBI(ビジネス・インテリジェンス)のツールを使いこなす技術者である。市民データサイエンティストは、予測に用いる特徴とデータを上記ツールに適用することで自動的に予測モデルを生成し、所望の対象の予測を行う。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述するツールを効果的に利用するためには、予測に用いる特徴を適切に作成することが必要になる。しかし、一般にこのような特徴の作成は、経験者によって行われることが多く、また、1つの予測モデルを作成するために、チューニング等、多くの期間を必要とする。
【0006】
そのため、いわゆる市民データサイエンティストが、このような特徴を短期間で適切に作成することは難しく、また、作成された特徴に基づいて生成された予測モデルの分析を行うことも同様に困難である。
【0007】
そこで、本発明は、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる自動予測システム、自動予測方法および自動予測プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明による自動予測システムは、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計部と、設計された特徴量をリレーショナルデータから生成する特徴量生成部と、生成された特徴量に基づいて予測モデルを学習する学習部とを備えたことを特徴とする。
【0009】
本発明による自動予測方法は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計し、設計された特徴量をリレーショナルデータから生成し、生成された特徴量に基づいて予測モデルを学習することを特徴とする。
【0010】
本発明による自動予測プログラムは、コンピュータに、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計処理、設計された特徴量をリレーショナルデータから生成する特徴量生成処理、および、生成された特徴量に基づいて予測モデルを学習する学習処理を実行させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる。
【図面の簡単な説明】
【0012】
【
図1】本発明による自動予測システムの一実施形態を示すブロック図である。
【
図2】ターゲットテーブルを生成するための情報を受け付ける画面の例を示す説明図である。
【
図3】プランを選択する画面の例を示す説明図である。
【
図4】自動予測システムの動作例を示す説明図である。
【
図5】特徴量を自動設計して予測までを行う処理の例を示すフローチャートである。
【
図6】本発明による自動予測モデルの概要を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を図面を参照して説明する。
【0014】
実施形態1.
図1は、本発明による自動予測システムの一実施形態を示すブロック図である。本実施形態の自動予測システム100は、入力部10と、選択部20と、関係推定部30と、特徴量設計部40と、特徴量生成部50と、モデル設計部60と、予測部70と、記憶部80とを備えている。
【0015】
入力部10は、モデルの推定に用いるデータを入力し、記憶部80に記憶する。本実施形態では、入力部10は、リレーショナルデータを入力する。入力部10は、通信ネットワーク(図示せず)を介して受信する情報を入力してもよく、これらの情報を記憶する記憶装置(図示せず)から情報を読み取って入力してもよい。
【0016】
以下の説明では、単にデータと記載した場合、リレーショナルデータを表わす表に含まれる各セルの内容を表わし、表データと記載した場合、表に含まれるデータ全体を表わす。また、各表は、データの属性を表わす列の組合せにより定義される。
【0017】
また、入力部10は、必要に応じて、入力されるデータのチェックを行ってもよい。一般に、リレーショナルデータベースで扱われるデータの型と、分析で用いられるデータの型とは異なる。例えば、分析で用いられるIDは、データベースでは数値型(int型)で表されことが多い。一方、int型として入力されたデータは、IDの可能性もあるが、単なる数値の可能性もある。そこで、入力部10は、入力されたデータと、そのデータの型に基づいて分析対象のデータの型を推定してもよい。
【0018】
選択部20は、予測対象を選択する。具体的には、選択部20は、入力されたデータから、予測対象の列を含む表(以下、ターゲットテーブルまたは第一の表と記す。)を生成する。選択部20は、例えば、記憶部80に記憶された表の中から1または2以上のキー列と、予測対象である変数(以下、目的変数と記す。)を含む列とをユーザから受け付けて、ターゲットテーブルを生成する。
【0019】
なお、予測対象は、後述する予測モデルの目的変数で示されることから、予測対象を示す変数のことを目的変数と言うことができる。したがって、ターゲットテーブルは目的変数を含む表であると言うこともできる。
【0020】
選択部20は、他にも、サンプルとして用いるデータのフィルタ条件を1つ以上ユーザから受け付けてもよい。また、キー列は、後述する特徴量設計部40が、データを集約する際に対象とする集約単位の列に対応する。
【0021】
図2は、ターゲットテーブルを生成するための情報を受け付ける画面の例を示す説明図である。
図2に示す例では、領域A1に表の候補の一覧が表示される。ユーザは、領域A1に表示された表の中から、予測対象の列を含む表を選択する。選択された表は、領域A2に表示される。
図2に示す例では、選択された表「churner」の列に、int型のユーザID(user_id)、date型の日付(date)、int型の大型ミルク缶についての情報(churner)、char型の性別(gender)が含まれていることを示す。
【0022】
ユーザは、領域A2に表示された表の各列の中から、キーとする1以上の列を選択する。また、ユーザは、領域A2に表示された表の列の中から、予測対象の列を選択する。
図2に示す例では、ユーザが、白抜き三角で示2つのす列(user_id、date)C1,2をキーとして選択し、黒三角で示す列(churner)C3を予測対象として選択したことを示す。
【0023】
また、領域A2に表示された“analytic date type”は、分析する際のデータの型を示す。また、ユーザは、各列のフィルタ条件を指定する。
図2に示す例では、ユーザが、gender列C4のフィルタ条件として、値が“M”のデータを指定したことを示す。
【0024】
また、領域A3は、選択された情報を表示する領域である。選択部20は、
図2に例示する画面を表示して、ユーザからの指示を受け付けてもよい。
【0025】
関係推定部30は、記憶部80に記憶された異なるテーブルに含まれる各列間の関係を推定する。関係推定部30は、例えば、同じ名称および同じ型の列同士が関係性を有すると推定してもよい。なお、簡略化された名称の列同士が関係を有すると推定されないように、関係推定部30は、所定の名称の列(例えば、「ID」、「日付(date)」、「名(name)」、「テキスト(text)」、「タイプ(type)」など)を、候補から除外してもよい。
【0026】
また、推定精度を向上させるため、関係推定部30は、推定結果を出力してユーザの修正指示を受け付け、その修正指示に基づいて推定した関係を修正してもよい。
【0027】
特徴量設計部40は、予測に用いる特徴量を設計する。すなわち、特徴量設計部40は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する。具体的には、特徴量設計部40は、入力されたデータ(リレーショナルデータ)および指定された情報に基づいて、予測に用いる特徴量を生成するための関数(以下、特徴量生成関数と記す。)を作成する。
【0028】
特徴量生成関数は、ターゲットテーブルに含まれる表データおよびターゲットテーブルと異なる表(以下、ソーステーブルまたは第二の表と記すこともある。)の表データから特徴量を生成するための関数である。したがって、特徴量設計部40は、選択部20が生成したターゲットテーブル(第一の表)と、ソーステーブル(第二の表)を特定し、特定したこれらの表から特徴量生成関数を作成する。
【0029】
生成された特徴量は、機械学習を用いてモデルを生成する際の説明変数の候補になる。言い換えると、本実施形態で生成される特徴量生成関数を用いることで、機械学習を用いてモデルを生成する際の説明変数の候補を自動的に生成することが可能になる。
【0030】
特徴量生成関数は、複数のパラメータで表される。ターゲットテーブル(第一の表)とソーステーブル(第二の表)の行の対応条件を表わすパラメータ(以下、対応条件要素と記すこともある。)が、その一つである。また、ソーステーブル(第二の表)に含まれる各列のデータを目的変数ごとに集約する集約方法を表わすパラメータ(以下、集約方法要素と記すこともある。)が、他の一つである。特徴量設計部40は、上記対応条件要素および集約方法要素の組合せを生成することで、特徴量生成関数を作成する。
【0031】
また、ソーステーブル(第二の表)に含まれる行の抽出条件を表わす条件式を含むパラメータ(以下、抽出条件要素と記すこともある)も、特徴量生成関数を作成するパラメータとして挙げられる。そのため、特徴量設計部40は、上記対応条件要素、集約方法要素および抽出条件要素の組合せを生成することで、特徴量生成関数を作成してもよい。
【0032】
対応条件要素は、ターゲットテーブル(第一の表)の表データの行と、ソーステーブル(第二の表)の表データの行の対応条件を表わす要素である。具体的には、対応条件要素は、ターゲットテーブル(第一の表)の列とソーステーブル(第二の表)の列を対応付ける列のペアとして定義される。対応条件要素は、例えば、関係推定部30によって推定された各列間の関係である。
【0033】
集約方法要素は、ソーステーブル(第二の表)に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす要素であり、例えば、選択部20で指定されたキーごとの集約方法を示す。集約方法要素は、例えば、ソーステーブル(第二の表)の列に対する集約関数として定義される。集約方法は任意であり、例えば、列の総数、最大値、最小値、平均値、中央値、分散などが挙げられる。集約方法要素は、ユーザ等により予め定められ、記憶部80に記憶される。
【0034】
抽出条件要素は、ソーステーブル(第二の表)に含まれる行の抽出条件を表わす要素である。具体的には、第一の要素が示す抽出条件は、ソーステーブル(第二の表)に対する条件式として定義される。抽出条件要素は、例えば、選択部20が受け付けたフィルタ条件である。
【0035】
以上の対応条件要素、集約方法要素および抽出条件要素をもとに、特徴量生成関数は、例えば、ターゲットテーブルおよびソーステーブルからデータを抽出するSQL文で定義される。
【0036】
また、特徴量設計部40は、特徴量生成関数により作成される特徴量の内容をユーザとって分かり易くするため、特徴量生成関数を自然言語で表現してもよい。例えば、特徴量生成関数がSQL文で表されている場合、SQLの構文に合わせたテンプレートを予め用意しておき、特徴量設計部40は、テンプレートの対応条件要素および抽出条件要素に対応する箇所に、自然言語表記した列名や表名、抽出条件を当て嵌めてもよい。また、集約方法要素が用いられる場合、特徴量設計部40は、その集約関数を自然言語表記に変換して表現してもよい。
【0037】
また、特徴量設計部40は、作成された特徴量生成関数を用いて生成する特徴量の探索規模を決定する。特徴量の探索規模は、コンピュータのリソースやスペック、時間、予測精度を考慮して決定される。特徴量設計部40は、決定した探索規模をユーザに提示して、ユーザの所望する探索規模を受け付けてもよい。
【0038】
図3は、プランを選択する画面の例を示す説明図である。
図3に示す例では、AからCまでの3種類のプラン(速度重視の検索、中程度、全体検索)とともに、そのプランで対象とするサンプルのサイズおよび特徴量のサイズが表示されていることを示す。
【0039】
特徴量生成部50は、リレーショナルデータから設計された特徴量を生成する。具体的には、特徴量生成部50は、作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成する。
【0040】
なお、特徴量生成部50は、ターゲットテーブルで対象とする範囲(具体的には、予測対象のキーの範囲)の指定を受け付け、その範囲内で特徴量を生成してもよい。
【0041】
モデル設計部60は、生成された特徴量に基づいて予測モデルを生成する。具体的には、モデル設計部60は、予測対象を目的変数とし、生成された特徴量を説明変数とする予測モデルを学習する。なお。モデル設計部60は、予測モデルを学習することから、学習部と言うことができる。
【0042】
モデル設計部60は、生成された特徴量のサブサンプリングを行う。サブサンプリングの方法は任意であり、例えば、ランダムに特徴量を選択する方法(ランダムサンプリング)が挙げられる。また、予測モデルの学習方法も1つ以上設定され、各学習に必要なパラメータもそれぞれ設定される。予測モデルの学習方法は任意であり、モデル設計部60は、例えば、特許文献1に記載された方法を用いてモデルを学習してもよい。
【0043】
また、モデル設計部60は、予測モデルの学習規模に応じたサブサンプル数、学習に用いるアルゴリズムの種類の数、および、各アルゴリズムに設定するパラメータの種類の数を決定する。学習規模は、コンピュータのリソースやスペック、時間などに応じて決定される。モデル設計部60は、学習規模の候補を数種類(例えば、少数、中程度、多数など)計算してユーザに提示し、ユーザの所望する学習規模を受け付けてもよい。
【0044】
モデル設計部60は、決定した数のサブサンプル、アルゴリズムおよびパラメータごとに予測モデルを生成する。そして、モデル設計部60は、生成された予測モデルの評価(エバリュエーション)を行う。評価方法は任意であり、例えば、モデル設計部60は、予め定めておいた評価方法を用いて予測モデルを評価してもよく、ユーザによって選択された評価方法を用いて予測モデルを評価してもよい。そして、モデル設計部60は、評価値が上位の予測モデルを組み合わせたアンサンブルモデルを予測モデルとして生成する。
【0045】
予測部70は、生成された予測モデルおよび特徴量を用いて、目的変数が示す対象の予測を行う。
【0046】
入力部10と、選択部20と、関係推定部30と、特徴量設計部40と、特徴量生成部50と、モデル設計部60と、予測部70とは、プログラム(自動予測プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、記憶部80に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、入力部10、選択部20、関係推定部30、特徴量設計部40、特徴量生成部50、モデル設計部60及び予測部70として動作してもよい。
【0047】
また、入力部10と、選択部20と、関係推定部30と、特徴量設計部40と、特徴量生成部50と、モデル設計部60と、予測部70とは、それぞれが専用のハードウェアで実現されていてもよい。また、本発明による自動予測システムは、2つ以上の物理的に分離した装置が有線または無線で接続されることにより構成されていてもよい。
【0048】
次に、本実施形態の自動予測システムの動作例を説明する。
図4は、本実施形態の自動予測システムの動作例を示す説明図である。まず、入力部10は、リレーショナルデータの入力を受け付ける(ステップS11)。また、入力部10は、ユーザから分析データの型の指定を受け付けてもよい(ステップS12)。入力部10は、受け付けたリレーショナルデータおよび指定された型を記憶部80に記憶する(ステップS13)。
【0049】
選択部20は、登録されたリレーショナルデータからターゲットテーブルを作成する。具体的には、選択部20は、記憶部80からリレーショナルデータを読み取る(ステップS14)。選択部20は、読み取ったリレーショナルデータをユーザに提示し、ターゲットテーブルのキーの指定、予測対象となる列の指定およびサンプリングを行う際のフィルタ条件を受け付ける(ステップS15)。選択部20は、ユーザから受け付けた指定を記憶部80に記憶する(ステップS16)。
【0050】
関係推定部30は、記憶部80に記憶されたリレーショナルデータを読み取り、異なるテーブルの列間の関係を推定する(ステップS17)。具体的には、関係推定部30は、列間にどのような関係(具体的には、1:1,N:1,1:N,N:Nの関係)があるか推定する。関係推定部30は、推定した結果をユーザに提示し、ユーザからの修正指示を受け付けてもよい(ステップS18)。関係推定部30は、列間の関係を記憶部80に記憶する(ステップS19)。
【0051】
特徴量設計部40は、特徴量を設計する。具体的には、特徴量設計部40は、特徴量生成関数を生成する。特徴量設計部40は、まず、記憶部80からリレーショナルデータおよびターゲットテーブルを読み取り、計算時間、および、予測精度を考慮して、生成プランに応じた探索規模を算出して、ユーザに提示する(ステップS20)。
【0052】
ここで、生成プランとは、特徴量生成関数を用いて生成する特徴量の探索規模を表わす情報であり、例えば、数種類(速度重視の探索、中程度の探索、全体探索、など)の中から探索規模をユーザに選択させる。特徴量設計部40は、ユーザから生成プランの指定を受け付ける(ステップS21)。また、特徴量設計部40は、生成プランに応じた特徴量生成関数を生成して、特徴量生成部50に入力する(ステップS22)。
【0053】
特徴量生成部50は、特徴量生成関数と記憶部80に記憶されたリレーショナルデータとから特徴量を生成する。特徴量生成部50は、生成した特徴量をモデル設計部60および予測部70に入力する(ステップS24)。なお、特徴量生成の際、特徴量生成部50は、ターゲットのキーの範囲の指定をユーザから受け付けてもよい(ステップS23)。
【0054】
モデル設計部60は、予測モデルを生成する規模を示す生成プランを作成し、ユーザに提示する(ステップS25)。ここでは、モデル設計部60は、生成プランに応じて、モデルの生成に用いるアルゴリズムの種類の数およびそのアルゴリズムで用いるパラメータの種類の数を決定する(ステップS26)。モデル設計部60は、指定された生成プランのアルゴリズムおよびパラメータに基づいて予測モデルを生成し、生成した予測モデルを予測部70に入力する(ステップS27)。
【0055】
予測部70は、特徴量生成部50により生成された特徴量とモデル設計部60により生成された予測モデルに基づいて予測を行い、予測結果を出力する(ステップS28)。
【0056】
図5は、特徴量を自動設計して予測までを行う処理の例を示すフローチャートである。特徴量設計部40は、データから特徴量を設計する(ステップS31)。具体的には、特徴量設計部40は、指定されたターゲット(予測対象)およびリレーショナルデータの各関係に基づいて、そのリレーショナルデータから、特徴量生成関数を作成する。特徴量生成部50は、設計された特徴量をデータを用いて生成する(ステップS32)。モデル設計部60は、生成された特徴量に基づいて予測モデルを学習する(ステップS33)。そして、予測部70は、予測モデルを用いて目的変数が示す対象の予測を行う(ステップS34)。
【0057】
以上のように、本実施形態では、特徴量設計部40が特徴量を設計し、特徴量生成部50が設計された特徴量をリレーショナルデータから生成する。そして、学習部60が、生成された特徴量に基づいて予測モデルを学習する。よって、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる。
【0058】
すなわち、本実施形態の自動予測システムでは、ユーザがターゲット(予測対象)とリレーションを指定するだけで、最終的な予測まで行うことが可能になる。
【0059】
次に、本発明の概要を説明する。
図6は、本発明による自動予測モデルの概要を示すブロック図である。本発明による自動予測システム99は、リレーショナルデータから目的変数に影響を及ぼし得る変数である特徴量を設計する特徴量設計部81(例えば、特徴量設計部40)と、設計された特徴量をリレーショナルデータから生成する特徴量生成部82(例えば、特徴量生成部50)と、生成された特徴量に基づいて予測モデルを学習する学習部83(例えば、モデル設計部60)とを備えている。
【0060】
そのような構成により、明示的に予測に用いる特徴を指定することなく、既存のデータから所望の対象の予測を行う予測モデルを自動で生成できる。
【0061】
具体的には、特徴量設計部81は、リレーショナルデータを表わす表から、目的変数を含む第一の表(例えば、ターゲットテーブル)とその第一の表と異なる第二の表(例えば、ソーステーブル)を特定し、特定した第一の表および第二の表から特徴量を生成するための特徴量生成関数を作成してもよい。そして、特徴量生成部82は、作成された特徴量生成関数にリレーショナルデータを適用して特徴量を生成してもよい。
【0062】
また、特徴量設計部81は、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成してもよい。
【0063】
さらに、特徴量設計部81は、第二の表に含まれる行の抽出条件を表わす条件式を含む抽出条件要素、第一の表と第二の表の行の対応条件を表わす対応条件要素、および、第二の表に含まれる各列のデータを目的変数ごとに集約する集約方法を表わす集約方法要素の組合せを生成することで、特徴量生成関数を作成してもよい。
【0064】
また、自動予測システムは、リレーショナルデータから、目的変数を含む表、その表において目的変数とする列および集約方法要素で対象とする集約単位の列であるキー列の指定を受け付ける選択部(例えば、選択部20)を備えていてもよい。
【0065】
また、自動予測システムは、予測モデルを用いて目的変数が示す対象の予測を行う予測部(例えば、予測部70)を備えていてもよい。
【0066】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0067】
この出願は、2016年10月31日に出願された日本特許出願2016-212516を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0068】
10 入力部
20 選択部
30 関係推定部
40 特徴量設計部
50 特徴量生成部
60 モデル設計部
70 予測部
80 記憶部
100 自動予測システム