(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-01
(54)【発明の名称】インタラクティブな決定木修正
(51)【国際特許分類】
G06N 20/00 20190101AFI20240423BHJP
G06F 18/241 20230101ALI20240423BHJP
【FI】
G06N20/00
G06F18/241
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023565950
(86)(22)【出願日】2022-04-26
(85)【翻訳文提出日】2023-10-26
(86)【国際出願番号】 CN2022089270
(87)【国際公開番号】W WO2022233254
(87)【国際公開日】2022-11-10
(32)【優先日】2021-05-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ハン、シーアル
(72)【発明者】
【氏名】チェン、ベイ
(72)【発明者】
【氏名】シュウ、ジン
(72)【発明者】
【氏名】シュウ、ジン ジェームス
(72)【発明者】
【氏名】チャン、シュエイン
(72)【発明者】
【氏名】ワン、ジュン
(72)【発明者】
【氏名】ヤン、ジフイ
(72)【発明者】
【氏名】ワン、ダクオ
(57)【要約】
方法、システム、およびプログラム製品が、決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示する手法が提供される。選択されたノードは、決定木中で、1組のノード分割パラメータに基づいて、1組の子ノードに分岐する。方法、システム、およびプログラム製品は、第2のユーザ選択を受け取ったことに応答して、選択されたノードの1組のノード分割パラメータのうちの少なくとも1つを調節する。方法、システム、およびプログラム製品は、調節された1組のノード分割パラメータに基づいて決定木を修正する。修正された決定木は、選択されたノードから調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記決定木中で、前記1組のノード分割パラメータに基づいて1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
を含む、コンピュータ実装方法。
【請求項2】
前記1組のノード分割パラメータが、ノード分割特徴、ノード分割フィット関数、および1組のノード分割値のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記第2のユーザ選択が異なるノード分割特徴を選択していることを判断することと、
前記異なるノード分割特徴に基づいたノード分割グラフを表示することと、
前記ノード分割グラフを表示したことに応答して、異なるノード分割フィット関数を選択する第3のユーザ選択を受け取ることと、
前記異なるノード分割特徴および前記異なるノード分割フィット関数に基づいた異なるノード分割グラフを表示することと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記異なるノード分割グラフが、前記1組のノード分割値に対応する1組の分割値インジケータを含み、前記方法が、
異なる1組のノード分割値を含む第4のユーザ選択を受け取ることと、
前記異なるノード分割グラフ上で、前記異なる1組のノード分割値に基づいて、前記1組の分割値インジケータを修正することと
をさらに含む、請求項3に記載の方法。
【請求項5】
前記決定木を修正するユーザ認可を受け取ったことに応答して、前記修正された決定木を表示することであって、前記修正された決定木上に表示される前記修正された1組の子ノードが、前記修正された特徴、前記修正されたフィット関数、および前記修正された1組のノード分割値に基づいている、前記表示すること
をさらに含む、請求項4に記載の方法。
【請求項6】
前記ノード分割グラフ上にレコードの統計的プロットを表示することと、
前記異なるノード分割グラフを表示したことに応答して、前記レコードの統計的プロットのビューを修正することと
をさらに含む、請求項3に記載の方法。
【請求項7】
前記選択された異なるノード分割特徴が新しいノード分割特徴に対応すると判断することと、
前記ユーザから受け取った1つまたは複数の特徴エンジニアリング・パラメータに基づいて、前記新しいノード分割特徴を作成することと、
前記新しいノード分割特徴に基づいて、前記ノード分割グラフを表示することと
をさらに含む、請求項2に記載の方法。
【請求項8】
前記第1のユーザ選択を受け取ることに先立って、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて前記決定木を生成する、前記訓練することと、
前記ユーザ・インターフェース上に前記決定木を表示することと、
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
をさらに含む、請求項1に記載の方法。
【請求項9】
情報ハンドリング・システムであって、
1つまたは複数のプロセッサと、
前記プロセッサのうちの少なくとも1つに結合されたメモリと、
決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記決定木中で、前記1組のノード分割パラメータに基づいて1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
のアクションを実行するために、前記メモリに記憶され、前記プロセッサのうちの少なくとも1つによって実行されるコンピュータ・プログラム命令の集合と
を備える、情報ハンドリング・システム。
【請求項10】
前記1組のノード分割パラメータが、ノード分割特徴、ノード分割フィット関数、および1組のノード分割値のうちの少なくとも1つを含む、請求項9に記載の情報ハンドリング・システム。
【請求項11】
前記プロセッサが、
前記第2のユーザ選択が異なるノード分割特徴を選択していることを判断することと、
前記異なるノード分割特徴に基づいたノード分割グラフを表示することと、
前記ノード分割グラフを表示したことに応答して、異なるノード分割フィット関数を選択する第3のユーザ選択を受け取ることと、
前記異なるノード分割特徴および前記異なるノード分割フィット関数に基づいた異なるノード分割グラフを表示することと
を含むさらなるアクションを実行する、請求項10に記載の情報ハンドリング・システム。
【請求項12】
前記異なるノード分割グラフが、前記1組のノード分割値に対応する1組の分割値インジケータを含み、前記プロセッサが、
異なる1組のノード分割値を含む第4のユーザ選択を受け取ることと、
前記異なるノード分割グラフ上で、前記異なる1組のノード分割値に基づいて、前記1組の分割値インジケータを修正することと
を含むさらなるアクションを実行する、請求項11に記載の情報ハンドリング・システム。
【請求項13】
前記プロセッサが、
前記決定木を修正するユーザ認可を受け取ったことに応答して、前記修正された決定木を表示することであって、前記修正された決定木上に表示される前記修正された1組の子ノードが、前記修正された特徴、前記修正されたフィット関数、および前記修正された1組のノード分割値に基づいている、前記表示すること
を含むさらなるアクションを実行する、請求項12に記載の情報ハンドリング・システム。
【請求項14】
前記プロセッサが、
前記ノード分割グラフ上にレコードの統計的プロットを表示することと、
前記異なるノード分割グラフを表示したことに応答して、前記レコードの統計的プロットのビューを修正することと
を含むさらなるアクションを実行する、請求項11に記載の情報ハンドリング・システム。
【請求項15】
前記プロセッサが、
前記選択された異なるノード分割特徴が新しいノード分割特徴に対応すると判断することと、
前記ユーザから受け取った1つまたは複数の特徴エンジニアリング・パラメータに基づいて、前記新しいノード分割特徴を作成することと、
前記新しいノード分割特徴に基づいて、前記ノード分割グラフを表示することと
を含むさらなるアクションを実行する、請求項10に記載の情報ハンドリング・システム。
【請求項16】
前記プロセッサが、
前記第1のユーザ選択を受け取ることに先立って、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて前記決定木を生成する、前記訓練することと、
前記ユーザ・インターフェース上に前記決定木を表示することと、
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
を含むさらなるアクションを実行する、請求項9に記載の情報ハンドリング・システム。
【請求項17】
コンピュータ・プログラム・コードを含む、コンピュータ可読記憶媒体に記憶されたコンピュータ・プログラム製品であって、前記コンピュータ・プログラム・コードが、情報ハンドリング・システムによって実行されると前記情報ハンドリング・システムに
決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記決定木中で、前記1組のノード分割パラメータに基づいて1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
を含むアクションを実行させる、コンピュータ・プログラム製品。
【請求項18】
前記1組のノード分割パラメータが、ノード分割特徴、ノード分割フィット関数、および1組のノード分割値のうちの少なくとも1つを含む、請求項17に記載のコンピュータ・プログラム製品。
【請求項19】
前記情報ハンドリング・システムが、
前記第2のユーザ選択が異なるノード分割特徴を選択していることを判断することと、
前記異なるノード分割特徴に基づいたノード分割グラフを表示することと、
前記ノード分割グラフを表示したことに応答して、異なるノード分割フィット関数を選択する第3のユーザ選択を受け取ることと、
前記異なるノード分割特徴および前記異なるノード分割フィット関数に基づいた異なるノード分割グラフを表示することと
を含むさらなるアクションを実行する、請求項18に記載のコンピュータ・プログラム製品。
【請求項20】
前記異なるノード分割グラフが、前記1組のノード分割値に対応する1組の分割値インジケータを含み、前記情報ハンドリング・システムが、
異なる1組のノード分割値を含む第4のユーザ選択を受け取ることと、
前記異なるノード分割グラフ上で、前記異なる1組のノード分割値に基づいて、前記1組の分割値インジケータを修正することと
を含むさらなるアクションを実行する、請求項19に記載のコンピュータ・プログラム製品。
【請求項21】
前記情報ハンドリング・システムが、
前記決定木を修正するユーザ認可を受け取ったことに応答して、前記修正された決定木を表示することであって、前記修正された決定木上に表示される前記修正された1組の子ノードが、前記修正された特徴、前記修正されたフィット関数、および前記修正された1組のノード分割値に基づいている、前記表示すること
を含むさらなるアクションを実行する、請求項20に記載のコンピュータ・プログラム製品。
【請求項22】
前記情報ハンドリング・システムが、
前記ノード分割グラフ上にレコードの統計的プロットを表示することと、
前記異なるノード分割グラフを表示したことに応答して、前記レコードの統計的プロットのビューを修正することと
を含むさらなるアクションを実行する、請求項19に記載のコンピュータ・プログラム製品。
【請求項23】
前記情報ハンドリング・システムが、
前記選択された異なるノード分割特徴が新しいノード分割特徴に対応すると判断することと、
前記ユーザから受け取った1つまたは複数の特徴エンジニアリング・パラメータに基づいて、前記新しいノード分割特徴を作成することと、
前記新しいノード分割特徴に基づいて、前記ノード分割グラフを表示することと
を含むさらなるアクションを実行する、請求項18に記載のコンピュータ・プログラム製品。
【請求項24】
前記情報ハンドリング・システムが、
前記第1のユーザ選択を受け取ることに先立って、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて前記決定木を生成する、前記訓練することと、
前記ユーザ・インターフェース上に前記決定木を表示することと、
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
を含むさらなるアクションを実行する、請求項17に記載のコンピュータ・プログラム製品。
【請求項25】
方法であって、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて決定木を生成する、前記訓練することと、
ユーザ・インターフェース上に前記決定木を表示することであって、前記決定木が複数のノードを含む、前記表示することと、
前記決定木中の前記複数のノードのうちの1つを選択する第1のユーザ選択を受け取ったことに応答して、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記複数のノードにおいて、前記1組のノード分割パラメータに基づいて、1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
を含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
予測モデリングは、データ・モデルを用いて結果を予測するために、データおよび統計を使用するプロセスである。予測モデリングは、予測アナリティクス、予測分析、および機械学習と称されることが多い。機械学習(ML)は、経験を通じて自動的に改善するコンピュータ・アルゴリズムの研究である。
【0002】
機械学習アルゴリズムは、訓練データとして知られるサンプル・データに基づいて、機械学習モデルを構築し、明示的にプログラムされることなく予測または決定を行なう。機械学習モデルを訓練するプロセスには、機械学習アルゴリズムに学習すべき訓練データを提供することが伴い、訓練プロセスから作成されるアーチファクトが機械学習モデルである。訓練データは、ターゲットまたはターゲット属性と称される正しい答えを含み、機械学習アルゴリズムは、入力データ属性をターゲット属性にマッピングするパターンを訓練データ中から見つけ、パターンを捉える機械学習モデルを出力する。
【0003】
機械学習モデルは、アルゴリズムが解決するよう設計される課題のタイプに基づいて、いくつかの異なるタイプのアルゴリズムを使用することができ、そのうちの1つが決定木アルゴリズムである。決定木アルゴリズムは、教師あり学習アルゴリズムのファミリに属し、他の教師あり学習アルゴリズムとは違って、決定木アルゴリズムは、回帰および分類問題を解決するためにも使用することができる。決定木アルゴリズムは、視覚的かつ明示的に決定および意思決定を表現するために使用することができるため、機械学習において最もポピュラーな予測モデル表現のうちの1つである。
【0004】
機械学習訓練の開始時、決定木アルゴリズムは、全体的な訓練のセットを、母集団またはサンプル全体を表現するルート・ノードとして考える。次に、決定木アルゴリズムは、ノードを2つ以上のサブノードに分けるプロセスであるノード分割のために複数の手法を使用するが、サブノードはターゲット変数のタイプに基づいて、大きく2つのカテゴリに分けることができる(例えば、連続的ターゲット変数、またはカテゴリ的ターゲット変数)。サブノードの作成は、得られるサブノードの一様性を高める。換言すれば、ノードの純度が、ターゲット変数に関して高まる。決定木アルゴリズムは、ノードをすべての利用可能な変数に対して分割し、次いで最も一様なサブノードを与える分割を選択する。
【0005】
実行時、決定木機械学習モデルは、木の「ルート」から開始し、レコードのクラス・ラベルを予測する。機械学習モデルは、ルート属性の値をレコードの属性と比較する。比較に基づいて、機械学習モデルは、その値に対応する分岐を辿り、次のノードにジャンプする。
【0006】
決定木アルゴリズムを実装する際に見られる課題は各レベルの決定ノードで検討すべき属性を識別することであり、これには各レベルでルート・ノードとして考えるべき属性を識別するための様々な手段が関与する。従来の決定木フィッティングは、ユーザがハイパーパラメータ値(例えば、最大木深さ、親ノードにおける最大レコードなど)を設定できるようにするが、現実世界のデータ・サイエンス問題は、複数のステークホルダにより導入される目的および制約を有し、規制、デプロイメント、コード、およびコンピューティング・インフラストラクチャ検討事項など、統計的な正確さの及ばない範囲がある。これらの目的および制約は、現時点では決定木を構築する際に、特に決定木においてノードを分割する際に考慮されない。
【発明の概要】
【0007】
本開示の一実施形態によると、方法、システム、およびプログラム製品が、決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示する手法が提供される。選択されたノードは、決定木中で、1組のノード分割パラメータに基づいて、1組の子ノードに分岐する。方法、システム、およびプログラム製品は、第2のユーザ選択を受け取ったことに応答して、選択されたノードの1組のノード分割パラメータのうちの少なくとも1つを調節する。方法、システム、およびプログラム製品は、調節された1組のノード分割パラメータに基づいて決定木を修正する。修正された決定木は、選択されたノードから調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む。この実施形態では、方法、システム、およびプログラム製品は、ユーザ制約および目的にしたがって決定木の成長を制御するために、決定木においてユーザがノード分割パラメータを修正できるようにする。
【0008】
本開示の別の実施形態によると、1組のノード分割パラメータが、ノード分割特徴、ノード分割フィット関数、および1組のノード分割値のうちの少なくとも1つを含む手法が提供される。この実施形態では、方法、システム、およびプログラム製品は、ユーザ制約および目的にしたがって、ユーザが選択されたノードのノード分割特徴、ノード分割フィット関数、またはノード分割値あるいはその組合せを調節できるようにする。
【0009】
本開示の別の実施形態によると、方法、システム、およびプログラム製品が、第2のユーザ選択が、異なるノード分割特徴を選択すると判断する手法が提供される。方法、システム、およびプログラム製品は、異なるノード分割特徴に基づいたノード分割グラフを表示する。ノード分割グラフを表示したことに応答して、方法、システム、およびプログラム製品は、異なるノード分割フィット関数を選択する第3のユーザ選択を受け取る。方法、システム、およびプログラム製品は、異なるノード分割特徴および異なるノード分割フィット関数に基づいた異なるノード分割グラフを表示する。この実施形態では、方法、システム、およびプログラム製品は、選択されたノードの分割基準のグラフィカル・ユーザ・インターフェースを提供し、ユーザ制約および目的にしたがって、ユーザがグラフィカル・ユーザ・インターフェースを使用して選択されたノードの分割特徴およびフィット関数を変更できるようにする。
【0010】
本開示の別の実施形態によると、異なるノード分割グラフは、1組のノード分割値に対応する1組の分割値インジケータを含む。方法、システム、およびプログラム製品は、異なる1組のノード分割値を含む第4のユーザ選択を受け取る。方法、システム、およびプログラム製品は、異なるノード分割グラフ上で、異なる1組のノード分割値に基づいて、1組の分割値インジケータを修正する。この実施形態では、方法、システム、およびプログラム製品は、選択されたノードの分割基準のグラフィカル・ユーザ・インターフェースを提供し、ユーザ制約および目的にしたがって、ユーザがグラフィカル・ユーザ・インターフェースを使用して選択されたノードの分割値を修正できるようにする。
【0011】
本開示の別の実施形態によると、方法、システム、およびプログラム製品が、決定木を修正するユーザ認可を受け取ったことに応答して、修正された決定木を表示する手法が提供される。修正された決定木上に表示される修正された1組の子ノードは、修正された特徴、修正されたフィット関数、および修正された1組のノード分割値に基づいている。この実施形態では、方法、システム、およびプログラム製品は、ユーザ制約および目的にしたがって決定木の成長を制御するために、ユーザ指定のノード分割変更を決定木に実装する。
【0012】
本開示の別の実施形態によると、方法、システム、およびプログラム製品が、ノード分割グラフ上にレコードの統計的プロットを表示する手法が提供される。方法、システム、およびプログラム製品は、異なるノード分割グラフを表示したことに応答して、レコードの統計的プロットのビューを修正する。この実施形態では、方法、システム、およびプログラム製品は、選択されたノードのレコードをプロットし、ユーザが異なるノード分割特徴および異なるノード分割フィット関数を選択するとレコードのビューを修正し、ユーザに異なるノード分割特徴および異なるノード分割フィット関数の視覚表現を与えるグラフィカル・ユーザ・インターフェースを提供する。
【0013】
本開示の別の実施形態によると、方法、システム、およびプログラム製品が、選択された異なるノード分割特徴が、新しいノード分割特徴に対応すると判断する手法が提供される。方法、システム、およびプログラム製品は、ユーザから受け取った1つまたは複数の特徴エンジニアリング・パラメータに基づいて、新しいノード分割特徴を作成する。方法、システム、およびプログラム製品は、新しいノード分割特徴に基づいて、ノード分割グラフを表示する。この実施形態では、方法、システム、およびプログラム製品は、ユーザが特徴エンジニアリングを使用して新しいノード分割特徴を作成し、新しいノード分割特徴を選択されたノードに適用できるようにする。
【0014】
本開示の別の実施形態によると、方法、システム、およびプログラム製品が、第1のユーザ選択を受け取ることに先立って、データセットを使用して機械学習モデルを訓練する手法が提供される。訓練された機械学習モデルは、データセットに基づいて決定木を生成し、方法、システム、およびプログラム製品は、ユーザ・インターフェース上に決定木を表示する。方法、システム、およびプログラム製品は、修正された決定木に基づいて、機械学習モデルを修正する。この実施形態では、方法、システム、およびプログラム製品は、ユーザ制約および目的にしたがって、ユーザが機械学習モデルの決定木を修正できるようにする、グラフィカル・ユーザ・インターフェースを提供することを可能にする。
【0015】
上記は概要であり、そのため必然的に詳細の簡略形態、一般形態および省略形態が含まれている。その結果、当業者であれば、この概要は単に説明的であり、どのようにも限定的であることを意図されていないことを諒解されよう。請求項によってのみ定義されるような、他の態様、発明の特徴、および本開示の利点は、以下で説明される非限定的な詳細の説明より明らかとなろう。
【0016】
本開示は、添付の図面を参照することによってより理解され、その多くの目的、特徴、および利点が当業者に明らかとなろう。
【図面の簡単な説明】
【0017】
【
図1】本明細書で説明される方法を実装することができるデータ処理システムのブロック図である。
【
図2】本明細書で説明される方法が、ネットワーク化された環境内で動作する多様な情報ハンドリング・システムで実施され得ることを図示するための、
図1に示される情報ハンドリング・システム環境の拡張図である。
【
図3】機械学習モデルによって利用される決定木においてユーザがノード分割を修正できるようにする、決定木修正器サブシステムを描いた例示の図である。
【
図4】決定木においてノード分割基準を動的に修正するために取られるステップを描いた例示の図である。
【
図5】ユーザが決定木で修正するノード分割を選択する様子を描いた例示の図である。
【
図6】特徴選択ユーザ・インターフェース・ウィンドウおよび分割選択ユーザ・インターフェース・ウィンドウを描いた例示の図である。
【
図7】ユーザが分割選択ユーザ・インターフェース・ウィンドウを使用して様々なノード分割パラメータを修正する様子を描いた例示の図である。
【
図8】ユーザが、決定木に対するノード分割パラメータ変更の組を確定する様子を描いた例示の図である。
【
図9】特徴エンジニアリングを使用して新しい特徴を作成するためのユーザ・インターフェース・ウィンドウを描いた例示の図である。
【
図10】選択された特徴およびターゲットに基づいたフィット関数選択肢およびプロット選択肢を描いた例示の図である。
【発明を実施するための形態】
【0018】
本明細書で使用される用語法は、単に特定の実施形態を説明することを目的としており、本開示を限定することを意図されていない。本明細書で使用される場合、コンテキストが明確にそうではないと指示しない限り、単数形「1つの(a)」、「1つの(an)」および「その(the)」は複数形を同様に含むように意図されている。用語「を含む(comprise)」または「を含む(comprising)」あるいはその両方は、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素、またはコンポーネントあるいはその組合せの存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネントまたはそのグループあるいはその組合せの、存在または追加を排除しないことが、さらに理解されよう。
【0019】
以下の特許請求の範囲におけるすべてのミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクション要素の対応する構造体、材料、作用、および等価物は、具体的に特許請求されるように、他の特許請求される要素と組合せて機能を実施するための、あらゆる構造体、材料、または作用を含むことを意図されている。例示および説明を目的として、本開示の説明を提示してきたが、網羅的であること、または本開示を開示の形式に限定することは意図されていない。本開示の範囲から逸脱することなく、多くの修正形態および変形形態が当業者にとって明らかとなろう。実施形態は、本開示の原理および実践的な用途を最良に説明するために選ばれ説明されたものであり、企図される特定の使用に適した様々な修正形態を伴う様々な実施形態について、本開示を当業者の他の者に理解させることができる。
【0020】
本発明は、統合のあらゆる可能な技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0021】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは前述のあらゆる好適な組合せであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、以下が挙げられる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令が記録されたパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる好適な組合せ。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して伝送される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【0022】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個別のコンピューティング/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータまたは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを含むことができる。それぞれのコンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0023】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の設定データ、あるいはスモールトーク(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語を含む1つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上で一部はリモートのコンピュータ上で、またはすべてリモートのコンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオでは、リモートのコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は(例えば、インターネット・サービス・プロバイダを使用するインターネットを介して)外部のコンピュータに対してなされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行し、電子回路を個別化することができる。
【0024】
本発明の態様は、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0025】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用を実装する手段を作成すべく、コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用の態様を実装するための命令を含む製造物品を備えるべく、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
【0026】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/作用を実装するように、コンピュータ実装プロセスを作るべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実施させるものであってもよい。
【0027】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態では、ブロックで示される機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には1つのステップとして遂行されてもよく、同時に、実質的に同時に、部分的もしくは全体的に時間的に重なるやり方で実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または特殊目的ハードウェアとコンピュータ命令との組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。以下の詳細な説明は、一般的に上述したように本開示の概要にしたがっており、必要に応じて本開示の様々な態様および実施形態の定義をさらに説明および拡大する。
【0028】
図1は、本明細書で説明されるコンピューティング動作を実施することができるコンピュータ・システムの簡略化された例である、情報ハンドリング・システム100を示す。情報ハンドリング・システム100は、プロセッサ・インターフェース・バス112に結合された1つまたは複数のプロセッサ110を含む。プロセッサ・インターフェース・バス112は、プロセッサ110を、メモリ・コントローラ・ハブ(MCH)としても知られるノースブリッジ115に接続する。ノースブリッジ115は、システム・メモリ120に接続し、プロセッサ110にシステム・メモリにアクセスする手段を与える。グラフィック・コントローラ125もまた、ノースブリッジ115に接続する。一実施形態では、Peripheral Component Interconnect(PCI)Expressバス118は、ノースブリッジ115をグラフィック・コントローラ125に接続する。グラフィック・コントローラ125は、コンピュータ・モニタなどのディスプレイ・デバイス130に接続する。
【0029】
ノースブリッジ115およびサウスブリッジ135は、バス119を使用して互いに接続する。一部の実施形態では、バスは、ノースブリッジ115とサウスブリッジ135との間でデータを高速で双方向に転送するDirect Media Interface(DMI)バスである。一部の実施形態では、PCIバスが、ノースブリッジとサウスブリッジとを接続する。入力/出力(I/O)コントローラ・ハブ(ICH)としても知られるサウスブリッジ135は、一般的にノースブリッジによって提供される機能よりも低速で動作する機能を実装するチップである。サウスブリッジ135は、通常、多様なコンポーネントを接続するために使用される多様なバスを提供する。このようなバスとしては、例えば、PCIおよびPCI Expressバス、ISAバス、System Management Bus(SMBusまたはSMB)、またはLow Pin Count(LPC)バスあるいはその組合せがある。LPCバスは、しばしば、ブートROM196および(「スーパI/O」チップを使用して)「レガシ」I/Oデバイスなどの低帯域幅デバイスを接続する。「レガシ」I/Oデバイス(198)としては、例えばシリアルおよびパラレル・ポート、キーボード、マウス、またはフロッピ・ディスク・コントローラあるいはその組合せを挙げることができる。サウスブリッジ135に含まれることが多い他のコンポーネントには、Direct Memory Access(DMA)コントローラ、Programmable Interrupt Controller(PIC)、およびサウスブリッジ135を、バス184を使用してハード・ディスク・ドライブなどの非揮発性のストレージ・デバイス185に接続する、ストレージ・デバイス・コントローラがある。
【0030】
ExpressCard155は、ホットプラグ可能なデバイスを情報ハンドリング・システムに接続するスロットである。ExpressCard155は、Universal Serial Bus(USB)およびPCI Expressバスの両方を使用してサウスブリッジ135に接続する場合、PCI ExpressおよびUSB接続の両方をサポートする。サウスブリッジ135は、USBに接続するデバイスにUSB接続を提供するUSBコントローラ140を含む。このようなデバイスには、ウェブカム(カメラ)150、赤外(IR)受信機148、キーボードおよびトラックパッド144、ならびに無線パーソナル・エリア・ネットワーク(PAN)を提供するBluetoothデバイス146がある。USBコントローラ140はまた、マウス、リムーバブルの非揮発性ストレージ・デバイス145、モデム、ネットワーク・カード、サービス総合デジタル網(ISDN)コネクタ、ファックス、プリンタ、USBハブ、および多くの他のタイプのUSB接続デバイスなどの他の種々のUSB接続デバイス142にUSB接続を提供する。リムーバブルの非揮発性ストレージ・デバイス145は、USB接続デバイスとして示されているが、リムーバブルの非揮発性ストレージ・デバイス145は、Firewireインターフェースなどの異なるインターフェースを使用して接続することができる。
【0031】
無線ローカル・エリア・ネットワーク(LAN)デバイス175は、PCIまたはPCI Expressバス172を介して、サウスブリッジ135に接続する。LANデバイス175は、通常、無線変調技術のうちInstitute of Electrical and Electronic Engineers(IEEE)802.11規格のうちの1つを実装し、このすべての技術は情報ハンドリング・システム100と別のコンピュータ・システムまたはデバイスとの間で無線通信するために同一プロトコルを使用する。光学ストレージ・デバイス190は、Serial Analog Telephone Adapter(ATA)(SATA)バス188を使用してサウスブリッジ135に接続する。Serial ATAアダプタおよびデバイスは、高速のシリアル・リンクで通信する。Serial ATAバスはまた、サウスブリッジ135を、ハード・ディスク・ドライブなどの他の形態のストレージ・デバイスに接続する。サウンド・カードなどのオーディオ回路網160は、バス158を介してサウスブリッジ135に接続する。オーディオ回路網160はまた、オーディオ・ラインインおよび光学デジタル・オーディオ・イン・ポート162、光学デジタル出力およびヘッドフォン・ジャック164、内部スピーカ166、ならびに内部マイクロフォン168など、オーディオ・ハードウェアに関連する機能性も提供する。イーサネット(R)・コントローラ170は、PCIまたはPCI Expressバスなどのバスを使用して、サウスブリッジ135に接続する。イーサネット(R)・コントローラ170は、情報ハンドリング・システム100を、ローカル・エリア・ネットワーク(LAN)、インターネット、ならびに他の公的および私的なコンピュータ・ネットワークなどのコンピュータ・ネットワークに接続する。
【0032】
図1は、1つの情報ハンドリング・システムを示しているが、情報ハンドリング・システムは多くの形態を取ることができる。例えば、情報ハンドリング・システムは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、または他のフォーム・ファクタのコンピュータもしくはデータ処理システムの形態を取ることができる。加えて、情報ハンドリング・システムは、携帯情報端末(PDA)、ゲーム機、現金自動預け払い機(ATM)、ポータブル電話機、プロセッサとメモリを含む通信デバイスまたは他のデバイスなど、他のフォーム・ファクタを取ることができる。
【0033】
図2は、本明細書で説明される方法が、ネットワーク化された環境内で動作する多様な情報ハンドリング・システムで実施され得ることを図示するための、
図1に示される情報ハンドリング・システム環境の拡張図である。情報ハンドリング・システムのタイプは、ハンドヘルド・コンピュータ/携帯電話210などの小型のハンドヘルドのデバイスから、メインフレーム・コンピュータ270などの大規模メインフレーム・システムまでの広がりを持つ。ハンドヘルド・コンピュータ210の例としては、携帯情報端末(PDA)、Moving Picture Experts Group Layer-3 Audio(MP3)プレーヤ、ポータブル・テレビジョン、およびコンパクト・ディスク・プレーヤなどの個人的な娯楽用デバイスがある。情報ハンドリング・システムの他の例には、ペン、またはタブレット、コンピュータ220、ラップトップ、またはノートブック、コンピュータ230、ワークステーション240、パーソナル・コンピュータ・システム250、およびサーバ260がある。
図2に個別に示されていない他のタイプの情報ハンドリング・システムは、情報ハンドリング・システム280によって表現される。示されるように、多様な情報ハンドリング・システムは、コンピュータ・ネットワーク200を使用して一緒にネットワーク化することができる。様々な情報ハンドリング・システムを相互接続するために使用することができるタイプのコンピュータ・ネットワークとしては、ローカル・エリア・ネットワーク(LAN)、無線ローカル・エリア・ネットワーク(WLAN)、インターネット、公衆交換電話網(PSTN)、他の無線ネットワーク、および情報ハンドリング・システムを相互接続するために使用することができる、あらゆる他のネットワーク・トポロジーが挙げられる。情報ハンドリング・システムの多くは、ハード・ドライブまたは非揮発性のメモリあるいはその両方など、非揮発性のデータ・ストアを含む。
図2に示される情報ハンドリング・システムの実施形態は、別個の非揮発性のデータ・ストアを含む(より具体的には、サーバ260は非揮発性のデータ・ストア265を利用し、メインフレーム・コンピュータ270は非揮発性のデータ・ストア275を利用し、情報ハンドリング・システム280は非揮発性のデータ・ストア285を利用する)。非揮発性のデータ・ストアは、様々な情報ハンドリング・システムの外部のコンポーネントであってもよいし、情報ハンドリング・システムのうちの1つの内部にあってもよい。加えて、リムーバブルの非揮発性のストレージ・デバイス145は、リムーバブルの非揮発性のストレージ・デバイス145を情報ハンドリング・システムのUSBポートまたは他のコネクタに接続するなど、様々な技術を使用して、2つ以上の情報ハンドリング・システムの間で共有することができる。
【0034】
上で考察したように、今日の決定木実装形態に見られる課題は、各レベルの決定ノードで検討する必要のある属性を識別すること、また自動的な決定木構築プロセスの間には考慮されなかった目的および制約を検討することが必要な場合に、ユーザがノード分割を修正するための直感的な手法を持たないことである。したがって、ユーザ制約および目的にしたがってユーザが木の成長を制御することができるように、ユーザが決定木においてノード分割パラメータを修正する手法を提供する必要がある。
【0035】
図3~
図10は、様々な基準によって駆動されるノード分割値をユーザが選べるようにすることによって、決定木フィッティング・プロセスにユーザ・インタラクションを組み込む情報ハンドリング・システム上で実行することができる手法を描いている。以下で考察するように、手法は、ユーザがフィット関数を選んでモデルの正確さを改善し、ユーザ・インタラクションを支援するよう評価および可視化を提供できるようにする。手法は、ビジネス・ロジックおよび複数のステークホルダからの制約をサポートし、ユーザ定義の規則を決定木構築プロセスに活用し、より解釈可能な結果を可能にする。
【0036】
図3は、機械学習モデルによって利用される決定木においてユーザがノード分割を修正できるようにする、決定木修正器サブシステムを描いた例示の図である。コンピュータ・システム300は、決定木修正器サブシステム310を含む。決定木修正器サブシステム310は、データ・ストア320からデータセットおよびそのデータに対して構築された決定木を検索する。決定木修正器サブシステム310は、次いでユーザ360が評価するために決定木340をディスプレイ330に表示する。
【0037】
ユーザ360が、特定の決定ノードについてノード分割基準を変更したい場合、ユーザ360は、ポインタ370を使用して特定のノードを選択する。そして、決定木修正器サブシステム310は、選択されたノードに対応する1組のノード分割パラメータを、特徴ウィンドウ350内に表示する(さらなる詳細については、
図5、
図6、および対応する文章を参照されたい)。
【0038】
次いで、ユーザ360は、分割に使用する異なる特徴を選択すること、調節された分割値、異なるフィット関数、または特徴エンジニアリングに基づいて導出される新しい特徴あるいはその組合せなど、ノード分割調節情報を決定木修正器サブシステム310に与える。導出される特徴は、オリジナル特徴の変形、または複数のオリジナル特徴からのインタラクション特徴であってもよい(さらなる詳細については、
図9、および対応する文章を参照されたい)。
【0039】
決定木修正器サブシステム310は、選択されたノードにおいて、ノード分割パラメータの組を動的に修正し、特徴ウィンドウ350に、修正された分割値、各分割間隔におけるフィット関数、および特徴重要度尺度を、表およびレコードの統計的プロットとして表示する。そして、決定木修正器サブシステム310は、それに応じて修正されたノード分割基準に基づいて、決定木340を修正する(さらなる詳細については、
図6~
図8、および対応する文章を参照されたい)。
【0040】
一実施形態では、決定木修正器サブシステム310は、受け取ったノード分割特徴について、最良フィット関数および最適分割値を自動的に探索する。別の実施形態では、決定木修正器サブシステム310は、ユーザ360が特徴選択を理解するのを支援するために分割の説明を生成する。
【0041】
図4は、決定木においてノード分割基準を動的に修正するために取られるステップを描いた例示の図である。
図4の処理は400で開始し、その後ステップ410で、プロセスは、データセットおよびそのデータセットに基づいて機械学習モデルによって構築された決定木を受け取る。ステップ420では、プロセスは決定木370を、ディスプレイ330上でユーザ360に向けて表示する。
【0042】
ステップ425では、プロセスはノード選択を受け取り、ノード選択に基づいて特徴選択ユーザ・インターフェースを表示する(さらなる詳細については、
図5、
図6、および対応する文章を参照されたい)。
図6を参照すると、ユーザ・インターフェース600は、選択されたノード1(610)に対応し、インジケータ620は、x5がノード1に対して現在選択されているノード分割特徴であることを示す。
図6に示されるボタン640などの「特徴を作成」が選択された場合、プロセスは新規のユーザ・インターフェース・ウィンドウを開き、ユーザ360が特徴エンジニアリングと新しい特徴パラメータを使用して新しい特徴を作成できるようにする(さらなる詳細については、
図9、および対応する文章を参照されたい)。
【0043】
ステップ450では、プロセスは、ノード分割表およびノード分割グラフを含む分割選択ユーザ・インターフェースを表示する。戻って
図6を参照すると、分割選択ユーザ・インターフェース・ウィンドウ650は、ドロップ・ダウン・メニュー660にx1用のデフォルトのフィット関数、特徴x1用のノード分割値を示す表(670)、ならびにレコード・プロットおよび表670からのノード分割値を示すノード分割グラフを示している。ドロップ・ダウン650は、現在のフィット関数が「平均」であることを示し、表670よりノード分割値が37.6であるグラフ680を示す。
【0044】
ステップ460では、プロセスは、分割値またはフィット関数あるいはその両方の変更をユーザ360から受け取り、それに応じてノード分割表およびノード分割グラフを修正する(さらなる詳細については、
図7、および対応する文章を参照されたい)。ステップ470では、プロセスは、ユーザ承認を受け取り、特徴選択ウィンドウ内で特徴重要度および説明を更新する。
【0045】
ステップ475では、プロセスは、選択されたノードをノード分割パラメータ変更に基づいて分割するためのユーザ選択を受け取り、ステップ480では、プロセスは、選択されたノードを決定木ビュー内で自動的に分割し、修正された決定木を表示する(さらなる詳細については、
図9、および対応する文章を参照されたい)。ステップ490では、プロセスは機械学習モデルを修正された決定木に基づいて更新し、その後、
図4の処理は495で終了する。
【0046】
図5は、決定木、およびユーザ360が修正するノードを選択する様子を描いた例示の図である。
【0047】
決定木340は、ノード0~ノード8を含む。ノードのそれぞれ1つは、その対応する特徴値に基づいてデータセット中の1組のレコードを表現する。ノード0は、ルート・ノードであり、1組のレコードの各レコードを表現する。ノード0は、特徴x4に関するレコードの値に基づいて、ノード1とノード2に分岐する。特定のレコードが、特徴x4に関する2以下の特徴値を有する場合、レコードはノード1で表現される。しかしながら、特定のレコードが、特徴x4に関する2より大きい特徴値を有する場合、レコードはノード2で表現される。
【0048】
ノード1は、所与のレコードに関して特徴x5の値に基づいて、ノード3、4、5、および6に分岐する。x5の値が10950以下である場合、レコードはノード3で表現される。x5の値が10950~13200である場合、レコードはノード4で表現される。x5の値が13200~15600である場合、レコードはノード5で表現される。そして、x5の値が15600より大きい場合、レコードはノード6で表現される。ノード5は、所与のレコードにおいて特徴x6の値に基づいて、ノード7および8に分岐する。x6の値が83以下である場合、レコードはノード7で表現される。x6の値が83より大きい場合、レコードはノード8で表現される。
【0049】
図5の例は、ユーザ360が、ポインタ500を使用してノード1を選択する様子を示す。そして、決定木修正器サブシステム310は、ノード分割情報および選択肢を、特徴ウィンドウ350内でユーザ360に提供する(さらなる詳細については、
図6、および対応する文章を参照されたい)。
【0050】
図6は、特徴選択ユーザ・インターフェース・ウィンドウおよび分割選択ユーザ・インターフェース・ウィンドウを描いた例示の図である。決定木修正器サブシステム310は、ユーザ360がノードを選択すると、特徴選択ユーザ・インターフェース・ウィンドウ600を特徴ウィンドウ350に表示する。
図6の例は、ユーザ・インターフェース600が、ノード1選択(610)に対応する様子を示す。インジケータ620は、x5がノード1に対して現在選択されているノード分割特徴であることを示す。この時点で、ユーザ360は、i)特徴x5を選択し、特徴x5について分割選択(フィット関数/分割値)を調節すること、ii)ノード1のノード分割特徴として異なる特徴を選択すること、またはiii)ボタン640を選択することによって特徴エンジニアリングを通じてまったく新しい特徴を作成することが可能である(さらなる詳細については、
図9、および対応する文章を参照されたい)。
【0051】
特徴選択ユーザ・インターフェース・ウィンドウ600はまた、特徴のそれぞれについて重要度カラムおよび説明カラムを示す。重要度カラム値は、対応する特徴を使用したノードの分割による、対応する機械学習モデルのパフォーマンスに相当する。重要度は、検定統計量のp値、情報ゲイン、正確さ改善などを使用して計算してもよい。説明カラムは、特徴とターゲットとの間の関連性についての知見を与える特徴ごとの記述を含む。
【0052】
図6の例は、ユーザ360が、ポインタ630を使用してノード1のノード分割特徴として特徴x1を選択する様子を示す。ユーザ360が特徴x1を選択すると、決定木修正器サブシステム310は、ドロップ・ダウン・メニュー660にx1用のデフォルトのフィット関数、特徴x1についてのノード分割値を示す表(670)、ならびにレコード・プロットおよび表670からのノード分割値を示すノード分割グラフを示す分割選択ユーザ・インターフェース・ウィンドウ650を開く。ドロップ・ダウン660は、現在のフィット関数が「平均」であることを示し、表670よりノード分割値が37.6であるグラフ680を示す。この時点で、ユーザ360は、ドロップ・ダウン660を通じてフィット関数を修正すること、または表670もしくはグラフ680を修正することによってノード分割しきい値を修正すること、あるいはその両方を行なうことができる(さらなる詳細については、
図7、および対応する文章を参照されたい)。
【0053】
図7は、ユーザが分割選択ユーザ・インターフェース・ウィンドウを使用して様々なノード分割パラメータを修正する様子を描いた例示の図である。
図7は、分割選択ユーザ・インターフェース・ウィンドウ650内でユーザ360がポインタ700を使用してフィット関数を変えたがっていることを示す。ユーザ360がフィット関数を変更する時、決定木修正器サブシステム310は、分割選択ユーザ・インターフェース・ウィンドウ710を表示する。
【0054】
分割選択ユーザ・インターフェース・ウィンドウ710は、ユーザ360がフィット関数を「線形」に変更することを示しており(720)、フィット関数が変わると、決定木修正器サブシステム310は、ノード分割値を自動的に変更して特徴重要度を最大化する(表730)。加えて、決定木修正器サブシステム310は、グラフ740を変更して、表730に示されるノード分割値に対応する、対応する分割値インジケータ750および760を伴った線形フィット関数を表現する。
【0055】
ユーザ360は、表730内でノード分割値を変更すること、あるいはそれに応じて分割値インジケータ750もしくは760またはその両方を動かすことによって、ノード分割値をさらに調節することができる。そして、いったんユーザ360がノード分割特徴、ノード分割フィット関数、およびノード分割値を選択し終えてしまうと、ユーザ360は、変更を承認し、決定木修正器サブシステム310は、変更に基づいて修正された決定木を表示する(さらなる詳細については、
図8、および対応する文章を参照されたい)。
【0056】
図8は、ユーザが、決定木に対するノード分割パラメータ変更の組を確定する様子を描いた例示の図である。いったんユーザ360が、
図6からのフィット関数および分割値を含め、分割パラメータを決定してしまうと、ユーザ360は、ポインタ800を使用してx1(および対応する修正済ノード分割パラメータ)を選択する。そして、決定木修正器サブシステム310は、ノード1から分岐した修正済の子ノードを伴う修正された決定木810(
図8には、その一部を示す)を自動的に表示する。
【0057】
図8は、ユーザ360が
図7で設定したノード分割パラメータに基づいて、ノード1が、今度は3つの子ノード3、4、および5に分割される様子を示す。810から分かるように、新しい子ノードは、今度は(x5ではなく)特徴x1に基づいている。コンピュータ・システム300は、修正された決定木に基づいて対応する機械学習モデルを更新し、それに応じて更新された機械学習を予測モデリングに利用する。
【0058】
図9は、特徴エンジニアリングを使用して新しい特徴を作成するためのユーザ・インターフェース・ウィンドウを描いた例示の図である。ユーザ360が
図6で「特徴を作成」ボタン640を選択すると、決定木修正器サブシステム310は、ユーザ・インターフェース・ウィンドウ900を開き、ユーザ360が本明細書で検討されるようなノード分割で使用する新しい特徴を作成できるようにする。
【0059】
ユーザ360は、ウィンドウ910に新しい特徴の名称を入力し、ウィンドウ920には表現を入力する。ユーザ360は、複数の特徴の相互作用(例えば、x1+x2、x1*x2など)、または既存の特徴を用いた数式を使用すること、あるいはその両方を作成してもよい。ユーザ360は、次いでポインタ950を使用して「OK」を選択し、決定木修正器サブシステム310は、新しい特徴をエントリ960として特徴選択ユーザ・インターフェース・ウィンドウ600に追加する。そして、ユーザ360は、新しい特徴エントリを、ノード1用のノード分割特徴として選択することができる。
【0060】
図10は、選択された特徴およびターゲットに基づいたフィット関数選択肢およびプロット選択肢を描いた例示の図である。表1000は、連続的ターゲットおよび選択された連続的特徴を用いて、ユーザ360が平均フィット関数、中央値フィット関数、線形フィット関数、または多項式フィット関数を選択できることを示している。表1000は、連続的ターゲットおよび選択されたカテゴリ的特徴を用いて、ユーザ360が、条件付き平均フィット関数または条件付き中央値フィット関数を選択できることを示している。カテゴリ的ターゲットおよび選択された連続的特徴を用いて、表1000は、ユーザ360がモード・フィット関数およびロジット・フィット関数を選択できることを示している。また、カテゴリ的ターゲットおよび選択されたカテゴリ的特徴を用いて、表1000は、ユーザ360がモード・フィット関数を選択できることを示している。
【0061】
表1050は、連続的ターゲットおよび選択された連続的特徴を用いて、ユーザ360が、散布図を選択できることを示している。表1050は、連続的ターゲットおよび選択されたカテゴリ的特徴を用いて、ユーザ360が、選択された特徴のカテゴリによる箱図を選択できることを示している。カテゴリ的ターゲットおよび選択された連続的特徴を用いて、表1050は、ユーザ360が選択された特徴の各間隔においてターゲットの棒グラフを選択できることを示している。また、カテゴリ的ターゲットおよび選択されたカテゴリ的特徴を用いて、表1050は、ユーザ360が選択された特徴のカテゴリによってグループ化された棒グラフを選択できることを示している。
【0062】
本開示の特定の実施形態を示し、説明してきたが、当業者にとっては、本明細書の教示に基づいて、本開示とその広範な態様から逸脱することなく変更および修正が成され得ることが明白であろう。したがって、添付の特許請求の範囲は、すべてのそのような変更および修正を、本開示の真の範囲内に含まれるように、その範囲に包含するものである。さらに、本開示は、添付の特許請求の範囲によってのみ定義されることを理解されたい。当業者であれば、導かれる請求項要素の具体的な数が意図される場合、このような意図は請求項において明示的に述べられるものであり、そのような記述がなければそのような限定も存在しないことを理解されよう。理解を助ける助けとして、非限定的な例としては、以下の添付の特許請求の範囲には、請求項要素を導くために前置きとしての言い回し「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」の使用が含まれる。しかしながら、このような言い回しの使用は、同一請求項が前置きとしての言い回し「1つまたは複数の(one or more)」または「少なくとも1つの(at least one)」および「1つの(a)」または「1つの(an)」などの不定冠詞を含む場合でも、不定冠詞「1つの(a)」または「1つの(an)」による請求項要素の導入が、このように導かれる請求項要素を含む特定の請求項を、そのような要素を1つしか含まない開示に限定することを暗示するものとして解釈するべきではない。定冠詞の請求項における使用についても同じことが言える。
【手続補正書】
【提出日】2023-12-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサが実行する方法であって、
決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記決定木中で、前記1組のノード分割パラメータに基づいて1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
を含む
、方法。
【請求項2】
前記1組のノード分割パラメータが、ノード分割特徴、ノード分割フィット関数、および1組のノード分割値のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記第2のユーザ選択が異なるノード分割特徴を選択していることを判断することと、
前記異なるノード分割特徴に基づいたノード分割グラフを表示することと、
前記ノード分割グラフを表示したことに応答して、異なるノード分割フィット関数を選択する第3のユーザ選択を受け取ることと、
前記異なるノード分割特徴および前記異なるノード分割フィット関数に基づいた異なるノード分割グラフを表示することと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記異なるノード分割グラフが、前記1組のノード分割値に対応する1組の分割値インジケータを含み、前記方法が、
異なる1組のノード分割値を含む第4のユーザ選択を受け取ることと、
前記異なるノード分割グラフ上で、前記異なる1組のノード分割値に基づいて、前記1組の分割値インジケータを修正することと
をさらに含む、請求項3に記載の方法。
【請求項5】
前記決定木を修正するユーザ認可を受け取ったことに応答して、前記修正された決定木を表示することであって、前記修正された決定木上に表示される前記修正された1組の子ノードが、前記修正された特徴、前記修正されたフィット関数、および前記修正された1組のノード分割値に基づいている、前記表示すること
をさらに含む、請求項4に記載の方法。
【請求項6】
前記ノード分割グラフ上にレコードの統計的プロットを表示することと、
前記異なるノード分割グラフを表示したことに応答して、前記レコードの統計的プロットのビューを修正することと
をさらに含む、請求項3に記載の方法。
【請求項7】
前記選択された異なるノード分割特徴が新しいノード分割特徴に対応すると判断することと、
前記ユーザから受け取った1つまたは複数の特徴エンジニアリング・パラメータに基づいて、前記新しいノード分割特徴を作成することと、
前記新しいノード分割特徴に基づいて、前記ノード分割グラフを表示することと
をさらに含む、請求項
3に記載の方法。
【請求項8】
前記第1のユーザ選択を受け取ることに先立って、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて前記決定木を生成する、前記訓練することと、
前記ユーザ・インターフェース上に前記決定木を表示することと、
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
をさらに含む、請求項1に記載の方法。
【請求項9】
情報ハンドリング・システムであって、
1つまたは複数のプロセッサと、
前記プロセッサのうちの少なくとも1つに結合されたメモリと、
決定木中のノードを選択する第1のユーザ選択を受け取ったことに応答して、ユーザ・インターフェース上に、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記決定木中で、前記1組のノード分割パラメータに基づいて1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
のアクションを実行するために、前記メモリに記憶され、前記プロセッサのうちの少なくとも1つによって実行されるコンピュータ・プログラム命令の集合と
を備える、情報ハンドリング・システム。
【請求項10】
前記1組のノード分割パラメータが、ノード分割特徴、ノード分割フィット関数、および1組のノード分割値のうちの少なくとも1つを含む、請求項9に記載の情報ハンドリング・システム。
【請求項11】
前記プロセッサが、
前記第2のユーザ選択が異なるノード分割特徴を選択していることを判断することと、
前記異なるノード分割特徴に基づいたノード分割グラフを表示することと、
前記ノード分割グラフを表示したことに応答して、異なるノード分割フィット関数を選択する第3のユーザ選択を受け取ることと、
前記異なるノード分割特徴および前記異なるノード分割フィット関数に基づいた異なるノード分割グラフを表示することと
を含むさらなるアクションを実行する、請求項10に記載の情報ハンドリング・システム。
【請求項12】
前記異なるノード分割グラフが、前記1組のノード分割値に対応する1組の分割値インジケータを含み、前記プロセッサが、
異なる1組のノード分割値を含む第4のユーザ選択を受け取ることと、
前記異なるノード分割グラフ上で、前記異なる1組のノード分割値に基づいて、前記1組の分割値インジケータを修正することと
を含むさらなるアクションを実行する、請求項11に記載の情報ハンドリング・システム。
【請求項13】
前記プロセッサが、
前記決定木を修正するユーザ認可を受け取ったことに応答して、前記修正された決定木を表示することであって、前記修正された決定木上に表示される前記修正された1組の子ノードが、前記修正された特徴、前記修正されたフィット関数、および前記修正された1組のノード分割値に基づいている、前記表示すること
を含むさらなるアクションを実行する、請求項12に記載の情報ハンドリング・システム。
【請求項14】
前記プロセッサが、
前記ノード分割グラフ上にレコードの統計的プロットを表示することと、
前記異なるノード分割グラフを表示したことに応答して、前記レコードの統計的プロットのビューを修正することと
を含むさらなるアクションを実行する、請求項11に記載の情報ハンドリング・システム。
【請求項15】
前記プロセッサが、
前記選択された異なるノード分割特徴が新しいノード分割特徴に対応すると判断することと、
前記ユーザから受け取った1つまたは複数の特徴エンジニアリング・パラメータに基づいて、前記新しいノード分割特徴を作成することと、
前記新しいノード分割特徴に基づいて、前記ノード分割グラフを表示することと
を含むさらなるアクションを実行する、請求項
11に記載の情報ハンドリング・システム。
【請求項16】
前記プロセッサが、
前記第1のユーザ選択を受け取ることに先立って、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて前記決定木を生成する、前記訓練することと、
前記ユーザ・インターフェース上に前記決定木を表示することと、
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
を含むさらなるアクションを実行する、請求項9に記載の情報ハンドリング・システム。
【請求項17】
1つまたは複数のプロセッサに、請求項1から請求項8のいずれか一項に記載の方法を実行させるためのコンピュータ・プログラム。
【請求項18】
請求項1から請求項8のいずれか一項に記載の方法を1つまたは複数のプロセッサに実行させるためのコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【請求項19】
方法であって、
データセットを使用して機械学習モデルを訓練することであって、前記訓練された機械学習モデルが前記データセットに基づいて決定木を生成する、前記訓練することと、
ユーザ・インターフェース上に前記決定木を表示することであって、前記決定木が複数のノードを含む、前記表示することと、
前記決定木中の前記複数のノードのうちの1つを選択する第1のユーザ選択を受け取ったことに応答して、1組のノード分割パラメータのうちの少なくとも1つを表示することであって、前記選択されたノードが前記複数のノードにおいて、前記1組のノード分割パラメータに基づいて、1組の子ノードに分岐する、前記表示することと、
第2のユーザ選択を受け取ったことに応答して、前記選択されたノードの前記1組のノード分割パラメータのうちの少なくとも1つを調節することと、
前記調節された1組のノード分割パラメータに基づいて前記決定木を修正することであって、前記修正された決定木が、前記選択されたノードから前記調節された1組のノード分割パラメータに基づいて分岐する修正された1組の子ノードを含む、前記修正することと
前記修正された決定木に基づいて、前記機械学習モデルを修正することと
を含む、方法。
【国際調査報告】