欠損値

Oracle Machine Learning for SQLでは、モデルの作成時または適用時に、自動的に、量的属性の欠損値が平均値に、質的属性の欠損値が最頻値に置換されます。

欠損値のデフォルトの処理を無視するように一般化線形モデル・アルゴリズムを構成できます。ODMS_MISSING_VALUE_TREATMENT設定を使用すると、欠損値が含まれるトレーニング・データ内の行を、平均値や最頻値に置換するのではなく、アルゴリズムによって削除するように設定できます。ただし、モデルの適用時には、Oracle Machine Learning for SQLでは、通常の平均値/最頻値による欠損値の置換が実行されます。そのため、スコアリングによって生成された統計情報が、モデルの作成によって生成された統計情報と一致しないことがあります。

モデルのスコアリングにおいて欠損値を持つ行を削除する場合、変換の明示的な実行が必要です。作成時と適用時の統計情報を一致させるには、適用操作を実行する前に、NULLが含まれる行をスコアリング・データから削除する必要があります。これは、ビューを作成して実行します。

CREATE VIEW viewname AS SELECT * from tablename 
     WHERE column_name1 is NOT NULL 
     AND   column_name2 is NOT NULL 
     AND   column_name3 is NOT NULL ..... 

ノート:

Oracle Machine Learning for SQLでは、ネストしたデータの欠損値は、ランダムに欠損している値ではなく、スパース性を示します。

ODMS_MISSING_VALUE_DELETE_ROWは、ネストした列を含まない表でのみ有効です。ネストしたデータでこの値を使用すると、例外が発生します。