データ マイニングを開始するときに、"必要なデータの量" または "データをクリーニングまたは書式設定するときに知っておくべき特別な要件はありますか?
特に、データ マイニングを初めて使用するユーザーは、列内でデータを一貫して書式設定する必要がある、欠損値をクリーンアップする、数値をビン分割する必要があるなど、Excel データに関する問題が発生することがよくあります。 このセクションでは、特定の種類のモデルのデータ要件も示します。
データの選択
分析に使用されるデータの選択は、おそらく、アルゴリズムの選択よりも、データ マイニング プロセスの最も重要な部分です。 その理由は、通常、データ マイニングは仮説主導ではなく、データドリブンであるためです。 従来の統計モデリングと同様に、事前に変数を選択してテストするのではなく、データ マイニングでデータを取得し、新しい相関関係を検出できます (または、パターンをまったく検出できません)。 データの品質と量は、結果に大きな影響を与える可能性があります。
一般に、次の規則に従います。
できるだけクリーンなデータを取得します。
モデルを試す前にデータ プロファイルを実行します。 データから意味を導き出す前に、データを理解する必要があります。 少なくとも、次のことが必要です。
アドインのツールを使用して、最大値と最小値、最も一般的な値、平均値を見つけます。
欠けている値を埋めてください。 アドイン (および一部のアルゴリズム) には、欠損値を補完するためのツールが用意されています。
可能な限り不適切なデータを修正します。 データ マイニング プロジェクトは、多くの場合、新しいデータ品質イニシアチブの推進役として機能します。
テスト モデルを構築して、そのようにデータの問題を見つけてください。 結果を見ると、たとえば、売上予測は通貨換算エラーによる異常なデータに基づいていることがわかります。
データをさまざまな形式にキャストするか、数値のビン分けを試してみてください。 多くの場合、データの変換時にパターンが出現します。
たとえば、コール センターのサービス レベルは曜日の影響を受ける可能性があり、datetime 値のみを使用していた場合は表示されません。 予測は、週単位または日単位ではなく、10 日間のサイクルで生成された方が良い場合があります。
適切なビンに数値を入れて、分析に使用できる値の数を減らします。
データの複数のバージョンを作成し、複数のモデルを構築します。
データを選択、変更、および確認する方法に関するその他のヒントについては、「 データ マイニングの準備のチェックリスト」を参照してください。
必要なデータの量
経験則として、最も単純なモデルの種類とシナリオでは、データの行数が 50 から 100 行未満になることはありません。 たとえば、Naïve Bayes モデルを使用して 1 つの属性を予測していて、データセットが整形式の場合、50 から 100 行のデータを使用して、かなり正確な予測を生成できる場合があります。
アソシエーション モデルの場合、通常ははるかに多くのデータが必要です。製品間の関連付けなど、多くの属性を分析する場合、1,000 行では不十分な場合があります。 データ セットが大きすぎるか小さすぎる場合は、行をカテゴリに折りたたむことで、より優れた結果を得られる場合があります。 たとえば、個々の製品間の関連付けを分析する代わりに、製品を分類できます。
妥当なサイズのデータ セットがある場合は、より多くのデータを追加するのではなく、データ品質に重点を置く必要があります。 ポイントが経過すると、統計的に有効なすべてのパターンが見つかり、さらにデータを追加しても、その有効性は向上しません。 逆に、追加するデータが増えるにつれて、偶発的な相関関係が生じることがあります。
不連続と連続する数値
不連続列には、有限数の値が含まれています。 たとえば、テキストは常に不連続値として扱われます。
不連続値にはいくつかの重要な属性があります。 たとえば、数値を不連続として扱う場合、順序は暗黙的に指定されておらず、数値を平均または合計することはできません。 電話の地域コードは、数学演算を実行するために決して使用しない不連続の数値データの良い例です。
不連続値はカテゴリ値と呼ばれることもあります。一連のデータをグループ化できますが、無限の系列に配置された数値を使用することはできません。
また、値が明確に分離されていて、小数部の値がない場合や小数部の値が役に立たない場合は、数値を不連続として扱うこともできます。
連続 する数値データには、無限の小数部の値を含めることができます。 収入列は、連続属性列の例です。 列が数値であることを指定する場合、その列のすべての値は、null を除く数値である必要があります。 Excel では、タイムスタンプと、SQL Server データ型に変換できるその他の日付/時刻表現を考慮できることに注意してください。
数値をカテゴリ変数に変換する
列に数値が含まれているからといって、連続する数値として扱う必要があるわけではありません。 分離 は、分析に多くの利点を提供します。 1 つは、問題領域が減るということです。 もう 1 つは、数値が結果を表す適切な方法ではない場合があるということです。
たとえば、1 世帯あたりの子の数は、連続値または不連続値として扱うことができます。 2.5人の子供を世帯に持つことはできず、3人以上の子供を持つ世帯は2人の子供を持つ世帯とは大きく異なる行動をとることができるので、この数をカテゴリとして扱うことでより良い結果が得られるかもしれません。 ただし、回帰モデルを構築する場合、または平均が必要な場合 (世帯あたり 1.357 人の子など)、連続する数値データ型を使用します。
連続データを含むマイニング モデルを作成し、後で列を不連続として扱することはできません。 2 つのデータ セットは異なる方法で処理する必要があり、バックエンドで個別のマイニング構造として処理されます。 データを適切に処理する方法がわからない場合は、データを異なる方法で処理する個別のモデルを作成する必要があります。 いずれの場合も、これはデータに対して異なる視点を得る良い方法であり、おそらく異なる結果を得ることができます。
数値をテキストに変換する
非常に多くの場合、男性や女性などの不連続の値は、ラベル 1 と 2 を使用して数値データとして表されます。 通常、このコーディングは、データ入力を簡略化したり、データベース内の記憶域スペースを節約したりするために実行されますが、コーディングによって値の性質や意味があいまいになることがあります。 さらに、不連続値は数値として格納されるため、アプリケーション間でデータを移動すると、データ型変換エラーが発生し、値が計算されたり、連続として扱われたりする可能性があります。 このような問題を回避するには、データ マイニングを開始する前に、数値ラベルを個別のテキスト ラベルに変換する必要があります。
数値のビン化
原則的にすべての数値は無限であるため連続していますが、情報をモデル化する場合は、使用可能な値を 分離 または ビン分割 する方が効果的な場合があります。
さまざまな方法でデータをビン分割できます。
有限数のバケットを指定し、アルゴリズムで値をバケットに並べ替えます。
ビジネス上の意味を持つか、操作しやすいグループ化のセットをいくつか作成して、それらを自分で事前にグループ化します。 この方法では、値の真の分布を見逃すことがよくありますが、範囲はユーザーが読みやすくなっています。
最適なバケット数と値の分布の両方をアルゴリズムで決定します。 これはほとんどのツールの既定値ですが、 データ マイニング ツール バー ウィザードでこれらの既定値をオーバーライドできます。
中心平均または代表値に値を近似します。
一般的なデータの問題
Excel の数値形式
Excel は、柔軟性がありさまざまな種類のデータをどこにでも配置できるため、使いやすいツールです。 ただし、パターンの検索と相関関係の分析を開始する前に、データに何らかの構造または制約を課す必要があります。
既定では、Microsoft Office Excel に数値データをインポートすると、数値は小数点以下 2 桁の 10 進形式で格納されます。 これが適切な数値形式でない場合は、別の数値書式に変更するか、小数点以下の桁数を変更する必要があります。
1 つのオプションは、 ラベル付け ツールを使用して、数値の表示方法またはグループ化方法を変更することです。
ただし、データが複雑すぎて ラベル付け ツールで処理できない場合は、Excel の数値関数を使用してデータを個別の範囲に変換し、その結果を別の列に保存し、代わりに分類に分離された列を使用できます。
たとえば、レースの結果を分析していて、レースの終了時間を分単位でグループ化する場合は、最も近い分に切り上げて、その丸められた値を新しい列に保存できます。
MINUTE関数を使用して分の値のみを抽出し、分析に使用するためにその値を新しい列に保存することもできます。
Excel での数値と日付の分離
既定では、Excel の数値データは Doubleとして格納されます。 日付と時刻も数値形式で格納されます。 データ マイニングの数値または日付を分離する必要がある場合は、データ マイニング モデルを構築する前に新しい列を追加するか、日付と数値を別の形式に事前に変換する必要があります。
科学的数値形式
データ マイニング ツールは、多くの場合、非常に大きい数値または非常に小さい数値を表すために、確率を科学的表記で出力します。 科学的表記に慣れていない場合は、セルの書式を変更するだけで、これらの数値を別の形式で簡単に表示できます。
指数表記を 10 進数値形式に変更するには
Excel データ テーブルで、数値を含む列またはセルを指数表記で強調表示します。
ショートカット メニューから右クリックし、[ セルの書式設定 ] を選択します。
[カテゴリ] ボックスの一覧で、[数値] を選択します。
小数点以下の桁数を増やします。 科学的表記で表される確率は、一般に非常に小さくなります。
基になる値ではなく、数値の表示のみが変更されます。
日付と時刻の操作
Excel テーブルに日付があり、その列を入力または予測に使用すると、日付または時刻の情報の書式設定方法によっては、予期しない結果が返される場合があります。 たとえば、[ カテゴリの検出] または [ 分類 ] を使用し、日付を含む列を含めると、日付は小数点以下の桁数が多い数値として分類されます。 これはエラーではありません。基になるデータの正確な表現です。 データ マイニング アルゴリズムは、表示形式ではなく、基になるストレージ形式で動作します。
日付の操作が困難で、月や日などの一般的なグループを使用して日付を分析する場合は、Excel の DATE 関数を使用して年、月、または日を別の列に抽出し、代わりにその列を分類に使用できます。
その他のデータ要件
アルゴリズムの種類別の要件
アドインで使用される一部のアルゴリズムでは、モデルを作成するために特定のデータ型またはコンテンツ タイプが必要です。
Naïve Bayes モデル
Microsoft Naive Bayes アルゴリズムでは、連続列を入力として使用できません。 つまり、数値をビン分割するか、十分な値が少ない場合は、不連続値として処理する必要があります。
この種類のモデルでは、連続値を予測することもできません。 したがって、収入などの連続する数値を予測する場合は、まず値を意味のある範囲にビン分割する必要があります。 適切な範囲がわからない場合は、クラスタリング アルゴリズムを使用して、データ内の数値の集まりを識別できます。
このアルゴリズムに基づいたウィザードを使用する場合 (キー インフルエンサーの分析 (Excel 用テーブル分析ツール) など)、連続データの列はウィザードによってビン分けされます。
高度なモデリング (Excel 用データ マイニング アドイン) オプションを使用して Naive Bayes モデルを構築すると、モデルから数値列が削除されます。 これを回避する場合は、 再ラベル付け (SQL Server データ マイニング アドイン) ツールを使用して、ビン分割された値を含む新しい列を作成します。
クラスター モデル
クラスタリング ツール (クラスター ウィザード (Excel 用データ マイニング アドイン) と [カテゴリの検出] (Excel 用テーブル分析ツール) も連続番号を使用できませんが、これらのツールの両方で自動的に数値列がビン分割されます。
どちらのツールでも、結果の出力カテゴリの数を選択することもできますが、個々の列の値をグループ化する方法を制御する場合は、グループ化を使用して新しい列を作成する必要があります。
予測モデル
すべての予測ツールでは、連続する数値を予測する必要があります。 テキストとして保存されている数値を予測することはできません。
データに正しくないデータ型の数値列が含まれている場合は、Excel 関数または PowerPivot 関数を使用して、正しい数値データ型の列のコピーを作成できます。 これを行う場合は、値が重複しないように、テキスト番号を含む列のコピーを必ず削除してください。
回帰モデルの散布図を作成する場合、入力変数は、適切なデータ型として表される連続する数値である必要もあります。
コンテンツ タイプを使用してモデルを改善する
コンテンツ タイプは、列データをモデルで使用する方法を指定するために列に適用するプロパティです。 アルゴリズムでは、分析の実行時にコンテンツ タイプを命令またはヒントとして使用できます。
たとえば、列に特定の間隔で繰り返して曜日を示す数値が含まれている場合は、その列のコンテンツ タイプを Cyclicalとして指定できます。
このアドインで提供されているウィザードとツールを使用する場合は、コンテンツ タイプについて心配する必要はありません。ただし、[ 構造にモデルを追加] (Excel 用データ マイニング アドイン) モデリング オプションを使用して既存のデータに新しいモデルを追加すると、コンテンツ タイプに関連するエラーが発生する可能性があります。
その理由は、一部の種類のモデルでは、特定の種類のデータ (タイム スタンプなど) が必要であるためです。 ツールは、特定の要件に従ってこれらの列を処理し、コンテンツ タイプ プロパティも追加します。 そのため、まったく異なるアルゴリズムでデータを再利用する場合は、データ型またはコンテンツ タイプの変更が必要になる場合があります。
次の一覧では、データ マイニングで使用されるコンテンツ タイプについて説明し、各種類をサポートするデータ型を識別します。
Discrete
この列には、値の間に連続のない有限数の値が含まれています。 たとえば、性別列は、データが特定の数のカテゴリを表すという点で、一般的な不連続属性列です。
Discrete コンテンツ タイプは、すべてのデータ型で使用できます。
Continuous
この列には、中間値を許可するスケール上の数値データを表す値が含まれています。 連続列はスケーラブルな測定値を表し、データに無限の小数部値を含む可能性があります。 温度の列は、連続属性列の例です。
Continuous コンテンツ タイプは、Date、Double、Longのデータ型で使用できます。
Discretized
列には、連続列から派生した値のグループを表す値が含まれています。 バケットは、 順序付け された個別の値として扱われます。
Discretized コンテンツ タイプは、Date、Double、Longのデータ型で使用できます。
鍵
列は行を一意に識別します。
通常、キー列は分析には使用せず、レコードの追跡にのみ使用されるべき数値またはテキスト識別子です。 例外は、時系列キーとシーケンス キーです。
入れ子になったテーブル キー は、Analysis Services データ ソース ビューとして定義されている外部データ ソースからデータを取得する場合にのみ使用されます。 入れ子になったテーブルの詳細については、 https://msdn.microsoft.com/library/ms175659.aspxを参照してください。
このコンテンツ タイプは、 Date、 Double、 Long、 Textのデータ型で使用できます。
キー シーケンス
この列には、一連のイベントを表す値が含まれています。 値は順序付けられますが、等しい距離を離す必要はありません。
このコンテンツ タイプは、 Double、 Long、 Text、 Dateのデータ型でサポートされています。
キー時間
列には、順序付けされ、時間スケールを表す値が含まれています。 キータイム コンテンツ タイプは、モデルが時系列モデルまたはシーケンス クラスタリング モデルの場合にのみ使用できます。
このコンテンツ タイプは、 Double、 Long、 Dateのデータ型でサポートされています。
テーブル
このコンテンツ タイプは、Analysis Services データ ソース ビューとして定義されている外部データ ソースからデータを取得する場合にのみ使用されます。
つまり、データの各行には、1 つ以上の列と 1 つ以上の行を含む入れ子になったデータ テーブルが実際に含まれています。
入れ子になったテーブルは非常に便利ですが、 高度なモデリング (Excel 用データ マイニング アドイン) モデリング オプションでのみ使用できます。 たとえば、 関連付けウィザード (Excel 用データ マイニング クライアント) ウィザード と ショッピング バスケット分析 (Table AnalysisTools for Excel) ツールの サンプル データには、入れ子になったテーブルからフラット化されたデータが含まれています。