3.2 属性について
属性は、機械学習で使用されるデータの項目です。属性は、変数、フィールドまたは予測子ともいいます。
予測モデルでは、属性は、特定の結果に影響を及ぼす予測子です。記述モデルでは、自然なグループまたは相関を見つけるために分析される情報項目です。たとえば、肩書き、雇用日、給与、年齢、性別などの属性を持つ従業員データの表です。
3.2.1 データ属性とモデル属性
データ属性とは、モデルの作成、テストまたはスコアリングに使用されるデータセットの列のことです。モデル属性とは、モデルによって内部的に使用されるデータ表現のことです。
データ属性とモデル属性が同一である場合もあります。たとえば、値S
、M
、L
が格納されているSIZE
という列が、モデル作成用としてアルゴリズムによって使用される属性です。モデル属性SIZE
は、内部的にはその導出元であるデータ属性と同じである可能性が高いと考えられます。
一方、ある製品グループの売上高が格納されているネストした列SALES_PROD
は、モデル属性とは一致しません。データ属性はSALES_PROD
となりますが、モデル属性は、対応する売上高と関連付けられた各製品(ネストした列の各行)です。
変換によっても、データ属性とモデル属性の不一致が起こります。たとえば、変換によって2つのデータ属性に計算が適用され、その結果が新しい属性に格納されたとします。この新しい属性は、対応するデータ属性を持たないモデル属性になります。ビニング、正規化および外れ値の処理などの変換では、ケース表のデータ属性とモデルの属性表現の不一致が起こります。
関連トピック
3.2.2 ターゲット属性
機械学習におけるターゲットの意味、および様々なターゲットのデータ型について理解します。
教師ありモデルのターゲットは特別な属性です。トレーニング・データのターゲット列には、モデルのトレーニングに使用される履歴値が格納されます。テスト・データのターゲット列には、予測の比較対象になる履歴データが格納されます。スコアリングでは、ターゲットの予測が生成されます。
ターゲットは、クラスタリング・モデル、特徴抽出モデル、相関モデルおよび異常検出モデルでは使用されません。
ネストした列および非構造化データ(BFILE
、CLOB
、BLOB
など)の列は、ターゲットとして使用できません。
表3-1 ターゲットのデータ型
機械学習機能 | ターゲットのデータ型 |
---|---|
分類 |
|
回帰 |
|
*_MINING_MODEL_ATTRIBUTES
ビューを問い合せると、特定のモデルのターゲットを見つけることができます。
3.2.3 量的、質的および非構造化テキスト
量的、質的および非構造化テキスト属性について説明します。
モデル属性は、量的、質的または非構造化(テキスト)です。データ属性(ケース表の列)は、Oracleデータ型を持ちます(「列のデータ型」を参照)。
量的属性は、論理上は無限の数の値を持つことができます。これらの値には暗黙的な順序があり、値間の差も順序付けられます。Oracle Machine Learning for SQLでは、NUMBER
、FLOAT
、BINARY_DOUBLE
、BINARY_FLOAT
、DM_NESTED_NUMERICALS
、DM_NESTED_BINARY_DOUBLES
およびDM_NESTED_BINARY_FLOATS
を量的として解釈します。
質的属性は、有限数の離散的カテゴリまたはクラスを特定する値を持ちます。値には、暗黙的な順序は関連付けられていません。一部のカテゴリは2値(yesまたはno、maleまたはfemaleなど)であり、取り得る値が2つのみです。その他のカテゴリは多クラスであり、3つ以上の値(small、mediumおよびlargeなど)を持ちます。
OML4SQLでは、デフォルトでCHAR
およびVARCHAR2
を質的として解釈しますが、これらの列は非構造化データ(テキスト)の列として識別される場合もあります。OML4SQLでは、DM_NESTED_CATEGORICALS
の列を質的として解釈します。CLOB
、BLOB
およびBFILE
の列には、常に非構造化データが含まれます。
分類モデルのターゲットは質的です。(分類モデルのターゲットが量的である場合、このターゲットは質的として解釈されます。)一方、回帰モデルのターゲットは量的です。属性評価モデルのターゲットは、質的または量的のいずれかです。
関連トピック
3.2.4 モデル・シグネチャ
作成データで考慮されるモデルのシグネチャおよびデータ型について学習します。
モデルのシグネチャは、モデルの作成に使用されたデータ属性のセットです。シグネチャの属性の一部またはすべては、スコアリング用に存在している必要があります。モデルは、可能なかぎり欠損している列も埋めようとします。名前は同じだがデータ型が異なる列が存在している場合、モデルではそのデータ型の変換が試行されます。余分な未使用の列が存在している場合、それらは無視されます。
必ずしも作成データのすべての列がモデルのシグネチャに含まれるとはかぎりません。アルゴリズム固有の基準により、モデルが特定の列を無視することがあります。また、変換によって一部の列が除外される場合もあります。モデルの作成で実際に使用されたデータ属性のみがシグネチャに含まれます。
3.2.5 モデル属性の名前の詳細
3.2.6 モデルの詳細
モデルの詳細によって、モデル属性、およびアルゴリズムによるモデル属性の処理に関する情報がわかります。それぞれのアルゴリズムに対応するモデル・ディテール・ビューを利用することをお薦めします。
モデル属性には変換式や逆変換式が関連付けられます。変換はモデルを作成するアルゴリズムの処理の前にデータ属性に適用されます。逆変換はモデルの作成後にモデル属性に適用されますので、モデルの詳細は元のデータ属性の形式または可能なかぎりそれに近い形式で表されます。
逆変換では、モデルの透明性がサポートされます。逆変換は、アルゴリズムによって内部的に処理されるデータを、ユーザーが解釈可能な形式で表示します。
非推奨になったGET_MODEL_DETAILS
アルゴリズムにはそれぞれ別個のGET_MODEL_DETAILS
ルーチンが存在します。Oracle Database 12cリリース2以降、GET_MODEL_DETAILS
は非推奨になっています。それぞれのアルゴリズムのモデル・ディテール・ビューを使用することをお薦めします。
関連トピック