データ・マイニングのデータの前処理フェーズでは、データの欠損値の置換が必要な場合がしばしばあります。
欠損値 は、不明、収集されていない、または誤って入力されたデータ・セット内の値です。 通常、こうした値は、フィールドにとって無効な値になります。 例えば、フィールド Sex
には、 M
と F
の値が含まれている必要があります。 フィールドで Y
または Z
を検出した場合は、そのような値は有効ではないと推測し、空白として解釈できます。 同様に、フィールド Age
の負の値は無意味であり、ブランクとしても解釈する必要があります。 多くの場合、このような明らかに誤った値が意図的に入力されるか、回答がないことを示す質問表の間はフィールドがブランクのままになります。 時には、年齢を入力していないなどの未回答が、特定の結果を予測するための因子であるかかどうかを判断するために、空白の意味を詳しく調べる必要があることもあります。
一部のモデル作成手法では、欠損値がより効果的に処理されます。 例えば、 C5.0 ノード および Apriori ノード は、 データ型ノードで明示的に「欠損値」として宣言された値を適切に処理します。 他のモデル作成技法では、欠損値を処理できないため、学習に時間がかかったり、モデルの精度が低下してしまいます。
- Null またはシステム欠損値。 これらは、データベースまたはソース・ファイルでブランクのままになっていて、 インポート ・ノードまたはデータ型ノードで「欠落」として明確に定義されていない文字列以外の値です。 システム欠損値は
$null$
値として表示されます。 SPSS Modelerでは、空の文字列はヌルとは見なされませんが、特定のデータベースではヌルとして扱われる場合があることに注意してください。 - 空の文字列および空白。 空の文字列値および空白 ( 表示できる文字のない文字列) は、 NULL 値とは異なるものとして扱われます。 空白の文字列は、ほとんどの目的に対してホワイト スペースとして扱われます。 例えば、インポート・ノードやデータ型ノードで空白文字を空白として処理するためのオプションを選択すると、そのオプションの設定が空の文字列にも適用されます。
- 空欄またはユーザー定義の欠損値。 これらは、インポート・ノードやデータ型ノードで明示的に欠損値として定義される値です (
unknown
、99
、–1
など)。 オプションでヌルと空白文字を「空白」として処理することもできます。そうすることによって、特別な処理のためにフラグを付けたり、ほとんどの計算から除外することができるようになります。 例えば、@BLANK
関数を使用して、これらの値を他の欠損値と共に空白値として処理することができます。
混合データを読み取っています。 数値ストレージ (整数、実数、時刻、タイム・スタンプ、または日付のいずれか) を使用してフィールドを読み込む場合、非数値は null
または system missing
に設定されることに注意してください。 これは、一部のアプリケーションとは異なり、 SPSS Modeler ではフィールド内で混合ストレージ・タイプを使用できないためです。 これを回避するには、必要に応じてインポート・ノードまたは外部アプリケーションでストレージ・タイプを変更して、データが混在しているフィールドを文字列として読み込む必要があります。
Oracleから空の文字列を読み取っています。 Oracle データベースとの間で読み書きを行う場合、 SPSS Modeler や他のほとんどのデータベースとは異なり、 Oracle は空の文字列値を NULL 値と同等のものとして扱い、保存することに注意してください。 つまり、Oracle データベースから抽出されたデータは、同じデータがファイルやその他のデータベースから抽出された場合とは異なって動作し、また異なる結果が返ることがあります。