Microsoft 線形回帰アルゴリズムは、連続属性のペアのモデリング用に最適化された特別なバージョンの Microsoft デシジョン ツリー アルゴリズムです。 このトピックでは、アルゴリズムの実装について説明し、アルゴリズムの動作をカスタマイズする方法について説明し、モデルのクエリに関する追加情報へのリンクを提供します。
線形回帰アルゴリズムの実装
Microsoft デシジョン ツリー アルゴリズムは、線形回帰、分類、または関連付け分析という多くのタスクに使用できます。 線形回帰を目的としてこのアルゴリズムを実装するために、アルゴリズムのパラメーターは、ツリーの増加を制限し、モデル内のすべてのデータを 1 つのノードに保持するように制御されます。 つまり、線形回帰はデシジョン ツリーに基づいていますが、ツリーには 1 つのルートのみが含まれており、分岐は含まれません。すべてのデータはルート ノードに存在します。
これを実現するために、アルゴリズムの MINIMUM_LEAF_CASES パラメーターは、アルゴリズムがマイニング モデルのトレーニングに使用するケースの合計数以上に設定されます。 この方法でパラメーターを設定すると、アルゴリズムによって分割が作成されないため、線形回帰が実行されます。
回帰直線を表す数式は、y = ax + b の一般的な形式を取り、回帰式と呼ばれます。 変数 Y は出力変数を表し、X は入力変数を表し、a と b は調整可能な係数です。 完成したマイニング モデルにクエリを実行することで、回帰式に関する係数、切片、およびその他の情報を取得できます。 詳細については、「 線形回帰モデルクエリの例」を参照してください。
スコア付け方法と特徴の選択
すべての Analysis Services データ マイニング アルゴリズムは、特徴選択を自動的に使用して分析を改善し、処理負荷を軽減します。 線形回帰における特徴選択に使用される方法として、興味深さスコアが採用されています。これは、モデルが連続列のみをサポートするためです。 参考までに、次の表は、線形回帰アルゴリズムとデシジョン ツリー アルゴリズムの特徴選択の違いを示しています。
| アルゴリズム | 分析方法 | コメント |
|---|---|---|
| 線形回帰 | 興味深さのスコア | 既定値。 デシジョン ツリー アルゴリズムで使用できるその他の特徴選択方法は、不連続変数にのみ適用されるため、線形回帰モデルには適用されません。 |
| デシジョン ツリー | 興味深さのスコア シャノンのエントロピー ベイジアンと K2 Prior 一様事前分布を持つベイジアン・ディリクレ (既定) |
いずれかの列にバイナリ以外の連続値が含まれている場合は、整合性を確保するために、すべての列に興味深さのスコアが使用されます。 それ以外の場合は、既定または指定されたメソッドが使用されます。 |
デシジョンツリーモデルの特徴選択を制御するアルゴリズムパラメーターには、MAXIMUM_INPUT_ATTRIBUTESとMAXIMUM_OUTPUTがあります。
線形回帰アルゴリズムのカスタマイズ
Microsoft 線形回帰アルゴリズムは、結果として得られるマイニング モデルの動作、パフォーマンス、精度に影響を与えるパラメーターをサポートしています。 マイニング モデル列またはマイニング構造列にモデリング フラグを設定して、データの処理方法を制御することもできます。
アルゴリズム パラメーターの設定
次の表に、Microsoft 線形回帰アルゴリズムに提供されるパラメーターを示します。
| パラメーター | 説明 |
|---|---|
| 最大入力属性 | アルゴリズムが機能選択を呼び出す前に処理できる入力属性の数を定義します。 機能の選択をオフにするには、この値を 0 に設定します。 既定値は 255 です。 |
| MAXIMUM_OUTPUT_ATTRIBUTES | アルゴリズムが機能選択を呼び出す前に処理できる出力属性の数を定義します。 機能の選択をオフにするには、この値を 0 に設定します。 既定値は 255 です。 |
| FORCE_REGRESSOR | アルゴリズムによって計算される列の重要度に関係なく、指定された列をリグレッサーとして使用するようにアルゴリズムに強制します。 |
モデリング フラグ
Microsoft 線形回帰アルゴリズムでは、次のモデリング フラグがサポートされています。 マイニング構造またはマイニング モデルを作成するときは、モデリング フラグを定義して、分析中に各列の値を処理する方法を指定します。 詳細については、「 モデリング フラグ (データ マイニング)」を参照してください。
| モデリング フラッグ | 説明 |
|---|---|
| NOT NULL | 列に null を含めることができないことを示します。 モデルのトレーニング中に Analysis Services で null が検出された場合、エラーが発生します。 マイニング構造列に適用されます。 |
| 回帰器 | 分析中に独立変数として扱う必要がある連続する数値が列に含まれていることを示します。 注: 列をリグレッサーとしてフラグ設定しても、最終モデルで列がリグレッサーとして使用されるわけではありません。 マイニング モデル列に適用されます。 |
線形回帰モデルのリグレッサー
線形回帰モデルは、Microsoft デシジョン ツリー アルゴリズムに基づいています。 ただし、Microsoft 線形回帰アルゴリズムを使用しない場合でも、デシジョン ツリー モデルには、連続属性の回帰を表すツリーまたはノードを含めることができます。
連続列がリグレッサーを表していることを指定する必要はありません。 列に REGRESSOR フラグを設定しない場合でも、Microsoft デシジョン ツリー アルゴリズムは、データセットを意味のあるパターンを持つリージョンにパーティション分割します。 違いは、モデリングフラグを設定すると、アルゴリズムが a*C1 + b*C2 + … の形式の回帰式を見つけ、ツリーのノードのパターンに適合するよう試みることです。 残差の合計が計算され、偏差が大きすぎる場合は、ツリー内で分割が強制されます。
たとえば、 Income を属性として使用して顧客の購入行動を予測し、列に REGRESSOR モデリング フラグを設定する場合、アルゴリズムは最初に標準の回帰式を使用して Income 値の適合を試みます。 偏差が大きすぎる場合、回帰式は破棄され、ツリーは他の属性で分割されます。 その後、デシジョン ツリー アルゴリズムは、分割後の各分岐の収入に対するリグレッサーを適合しようとします。
FORCED_REGRESSOR パラメーターを使用して、アルゴリズムが特定のリグレッサーを使用することを保証できます。 このパラメーターは、Microsoft デシジョン ツリーと Microsoft 線形回帰アルゴリズムで使用できます。
要求事項
線形回帰モデルには、キー列、入力列、および予測可能な列が少なくとも 1 つ含まれている必要があります。
入力列と予測可能列
Microsoft 線形回帰アルゴリズムでは、次の表に示す特定の入力列と予測可能な列がサポートされています。 マイニング モデルで使用する場合のコンテンツ タイプの意味の詳細については、「 コンテンツ タイプ (データ マイニング)」を参照してください。
| コラム | コンテンツの種類 |
|---|---|
| 入力属性 | 連続、循環、キー、テーブル、および順序付け |
| 予測可能な属性 | 連続、循環、および順序付け |
注
Cyclical および Ordered コンテンツ タイプはサポートされていますが、アルゴリズムはそれらを個別の値として扱い、特別な処理を実行しません。
こちらもご覧ください
Microsoft 線形回帰アルゴリズム
線形回帰モデルクエリの例
線形回帰モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)