データ マイニングで使用するデータの選択
データ マイニングを開始するときに、"必要なデータの量" または "データのクリーニングまたは書式設定時に知っておくべき特別な要件はありますか?
特に、データ マイニングを初めて実行する場合は、複数の列にわたってデータを一貫性のある方法で書式設定する、不足値をクリーンアップする、データをビン分割する必要がある、のように Excel データに関連するさまざまな問題に直面することがあります。 このセクションでは、特定の種類のモデルに関するデータ要件についても説明します。
データの選択
分析に使用するデータを選択する作業は、データ マイニング プロセスで非常に重要な部分であり、場合によってはアルゴリズムの選択より重要なことがあります。 その理由は、データ マイニングは一般的に仮説中心ではなく、データ ドリブンであるためです。 従来型の統計的なモデリングでは変数の選択とテストを事前に実施するのが一般的ですが、これとは対照的に、データ マイニングではデータを使用して新しい相関関係を見つけることができます (またはパターンが何も見つからないこともあります)。 データの品質と量は、結果に対して大きな影響を及ぼすことがあります。
目安として、次の規則に従ってください。
できるだけクリーンなデータを取得します。
モデル化を試行する前に、データのプロファイリングを実行します。 データの意味を導き出す前に、データを理解する必要があります。 少なくとも、次のことが必要です。
アドインのツールを使用して、データ内の最大値、最小値、最も登場回数の多い (最頻値)、および平均値を求めます。
不足値を何かの値で置き換えます。 アドイン (および、いくつかのアルゴリズム) には、不足値を置き換えるためのツールが用意されています。
可能な場合は、不適切なデータを訂正します。 多くの場合、データ マイニング プロジェクトは、新しいデータ品質イニシアチブを確立するための推進材料になります。
テスト モデルを試行し、そのモデルの手法に従ってデータの問題を見つけます。 結果を確認すると、たとえば通貨換算の誤りが原因で、売上予測が異常なデータを土台にしている状況に気付くことがあります。
データをさまざまな形式に変換するか、数値をバケット化することを考慮します。 データを変換すると、パターンが明確になることがよくあります。
たとえば、コール センターのサービス レベルは、曜日による影響を受けることがあります。これは、単純に日付と時刻の値のみを使用している場合は気付かない可能性があります。 1 週間単位または 1 日単位ではなく、10 日サイクルを使用すると、よりよい予測を実施できることもあります。
分析の対象として使用する値の種類を減らすために、多様な数値を比較的少ないビンに分割してみます。
データから複数のバージョンを作成し、複数のモデルを構築してみます。
データを選択、変更、および確認する方法に関するその他のヒントについては、「 データ マイニングの準備のチェックリスト」を参照してください。
どれほどの量のデータが必要ですか。
目安として、非常に簡潔なモデルの種類とシナリオを使用する場合でも、おおむね 50 ~ 100 行のデータを用意することが望ましく、そのようなサイズを下回るデータを使用しないでください。 たとえば、Naïve Bayes モデルを使用して単一の属性を予測し、データ セットが適切な形式になっている場合は、50 ~ 100 行のデータを使用すると、比較的正確な予測を生成できることがあります。
関連付けモデルの場合、通常ははるかに多くのデータが必要です。製品間の関連付けなど、多くの属性を分析する場合、1,000 行では不十分な場合があります。 データ セットが大きすぎるか小さすぎる場合は、行を複数のカテゴリに集約すると、より良い結果が得られることがあります。 たとえば、個々の製品間の関連付けを分析する代わりに、製品を分類することが考えられます。
妥当なサイズのデータが手元にある場合は、さらに多くのデータを追加する代わりに、データの品質に注目します。 一定の水準に達し、統計的に有効なすべてのパターンが見つかった後は、それ以上データを追加しても有効性は向上しません。 逆に、過度にデータを追加すると、偶発的な相関関係が見つかったという望ましくない結論を導く可能性もあります。
不連続と連続する数値
不連続列には、有限数の値が含まれます。 たとえば、テキストは常に不連続値として扱われます。
不連続値には、いくつかの重要な属性があります。 たとえば、多様な数値を不連続値として扱う場合は、不連続値の間の順序を想定することはできず、数値の平均や合計を求めることもできません。 電話の市外局番コードは、不連続な数値データの典型的な例です。市外局番は、数学の演算の対象になりません。
不連続値は、これらによって一連のデータをグループ化できるため、カテゴリ値とも呼ばれますが、数値を無限級数で配置することはできません。
また、数値が明確に分離されており、小数部が生じる可能性がない場合や、小数部が役に立たない場合は、数値を不連続値として扱う方針を採用できることがあります。
連続 する数値データには、無限の小数部の値を含めることができます。 連続した属性列の例としては Income 列があります。 数値列として設定した列の値は、数値または NULL である必要があります。 Excel では、タイムスタンプと、SQL Serverデータ型に変換できるその他の日付/時刻表現を考慮できることに注意してください。
数値型変数からカテゴリ変数への変換
列に数値が含まれている場合は必ずそれらを連続する数値として扱う必要があるわけではありません。 分離は 、分析に多くの利点を提供します。 まず、問題空間が減ります。 別の状況では、時には結果を表すために数値が適切な方法にならないことがあります。
たとえば、世帯あたりの子供の数は、連続した値または不連続値として扱うことができます。 1 つの世帯で 2.5 人の子供を持つことはできません。また、3 人以上の子供がいる世帯は、2 人の子供がいる世帯とは大きく異なる行動をとることがあります。このような状況では、この数値をカテゴリとして扱う方がより良い結果が得られる可能性があります。 ただし、回帰モデルを作成する場合や、それ以外に平均を求める (1 世帯あたり 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 用テーブル分析ツール) など) を使用すると、連続する列はウィザードによってビン分割されます。
[Advanced Modeling (Data Mining Add-ins for Excel)] オプションを使用して Naive Bayes モデルを構築すると、数値列はモデルから削除されます。 これを回避する場合は、ラベル付け (SQL Server データ マイニング アドイン) ツールを使用して、ビン分割された値を持つ新しい列を作成します。
クラスター モデル
クラスタリング ツール (クラスター ウィザード (Excel 用データ マイニング アドイン) と [カテゴリの検出] (Excel 用テーブル分析ツール) も連続する数値を使用できませんが、これらのツールの両方で自動的に数値列がビン分割されます。
どちらのツールにも結果の出力カテゴリの数を選択するオプションがありますが、個々の列の値がグループ化される方法を制御する必要がある場合は、必要なグループ化が設定されている新しい列を作成します。
予測モデル
どの予測ツールでも、ユーザーが連続する数値を予測する必要があります。 テキストとして保存されている数を予測に使用することはできません。
データに、正しくないデータ型の数値列が含まれている場合は、Excel 関数または PowerPivot 関数を使用してその列のコピーを作成し、適切な数値データ型を割り当てることができます。 この作業を実行する場合は、値の重複を防止するために、テキスト型の数値を格納している列を分析から除外してください。
回帰モデルで散布図を作成する場合は、入力変数も、適切なデータ型で表現される連続した数値であることが必要です。
より適切なモデルを作成するコンテンツの種類の使用
コンテンツ タイプは、列データをモデルで使用する方法を指定するために列に適用するプロパティです。 アルゴリズムは、分析を実行するときに、コンテンツの種類を説明またはヒントとして使用することができます。
たとえば、曜日を示す特定の間隔で繰り返される数値が列に含まれている場合、その列のコンテンツ タイプを として Cyclical
指定できます。
このアドインで提供されているウィザードとツールを使用する場合は、コンテンツ タイプについて心配する必要はありません。ただし、構造 へのモデルの追加 (Excel 用データ マイニング アドイン) モデリング オプションを使用して、既存のデータに新しいモデルを追加すると、コンテンツ タイプに関連するエラーが発生する可能性があります。
一部のモデルの種類には特定の種類のデータが必要であるからです (タイム スタンプなど)。 ツールはこれらの列を特定の要件に従って処理し、コンテンツの種類のプロパティも追加します。 したがって、まったく異なるアルゴリズムでデータを再利用する場合は、データ型やコンテンツの種類を変更する必要が生じることがあります。
次の一覧は、データ マイニングで使用されるコンテンツの種類について説明し、各種類をサポートするデータ型を示しています。
Discrete
この列には、有限の不連続な値が格納されます。 たとえば、Gender 列は、データが特定の数のカテゴリを表すという点で、典型的な不連続の属性列です。
コンテンツの種類 Discrete
は、すべてデータ型で使用できます。
Continuous
この列には、小数点以下桁数で中間値を示すことができる数値データの値が格納されます。 連続列は無限の小数部が含まれる可能性のある計測可能な測定値を表します。 連続した属性列の例としては気温の列があります。
コンテンツ タイプはContinuous
、、、および Long
のデータ型Date
Double
で使用できます。
Discretized
列には、連続列から派生した値のグループを表す値が含まれています。 バケットは、 順序付け された個別の値として扱われます。
コンテンツの種類 Discretized
は、Date
、Double
、および Long
データ型で使用できます。
キー
この列は行を一意に識別します。
一般的に、key 列には、分析には使用できない、レコードを追跡するためだけに使用される数値またはテキストの識別子が格納されます。 タイム シリーズ キーとシーケンス キーは例外です。
入れ子になったテーブル キー は、Analysis Services データ ソース ビューとして定義されている外部データ ソースからデータを取得する場合にのみ使用されます。 入れ子になったテーブルの詳細については、 を参照してください https://msdn.microsoft.com/library/ms175659.aspx。
このコンテンツの種類は、Date
、Double
、Long
、および Text
データ型で使用できます。
Key Sequence
この列には、一連のイベントを表す値が格納されます。 値は順序付けされていますが、互いに等間隔である必要はありません。
このコンテンツの種類は、Double
、Long
、Text
、および Date
の各データ型によってサポートされています。
[キー時刻]
この列には、順序付きの時系列を表す値が格納されます。 コンテンツの種類 key time は、モデルがタイム シリーズ モデルかシーケンス クラスター モデルである場合にのみ使用できます。
このコンテンツの種類は、Double
、Long
、および Date
の各データ型によってサポートされています。
Table
このコンテンツ タイプは、Analysis Services データ ソース ビューとして定義されている外部データ ソースからデータを取得する場合にのみ使用されます。
これは、実際には 1 つ以上の列と 1 つ以上の行で構成される入れ子になったデータ テーブルが各データ行に含まれていることを意味します。
入れ子になったテーブルは非常に便利ですが、 高度なモデリング (Excel 用データ マイニング アドイン) モデリング オプションでのみ使用できます。 たとえば、 関連付けウィザード (Excel 用データ マイニング クライアント) ウィザード と 買い物かご分析 (Excel 用テーブル分析ツール) ツールの サンプル データには、入れ子になったテーブルからフラット化されたデータが含まれています。