データ マイニングの概念
一般的にデータ マイニングは、"大規模なデータベースから有効で信頼性のある実用的な情報を抽出するプロセス" として説明されます。つまり、データ マイニングでは、データに内在するパターンおよび傾向が抽出されます。これらのパターンと傾向を合わせて収集し、マイニング モデルとして定義できます。マイニング モデルは、次のような特定のビジネス シナリオに適用できます。
- 売上を予測する。
- 特定の顧客に対して電子メールを配信する。
- 一緒に販売できる可能性のある製品を決定する。
- 顧客が製品を買い物かごに追加する順序のシーケンスを見つける。
重要な概念は、マイニング モデルの作成が、モデルによって解決される基本的な問題の定義から、作業環境へのモデルの配置までのすべてを含む大きなプロセスの一部であるということです。このプロセスは、次の 6 つの基本的な手順に従って定義できます。
- 問題の定義
- データの準備
- データの調査
- モデルの作成
- モデルの調査と検証
- モデルの配置と更新
次の図では、プロセスの各手順の関係と、各手順の実行に使用できる Microsoft SQL Server 2005 のテクノロジについて説明します。
図ではプロセスが円で示されていますが、各手順は必ずしも次の手順と直接つながっているとは限りません。データ マイニング モデルの作成は、動的かつ反復的なプロセスです。データを調査した後、適切なマイニング モデルを作成するためにデータが不十分であることがわかれば、さらに多くのデータを探索する必要があります。いくつかのモデルを作成し、問題を定義したときに発生した問題がそれらのモデルで解決されないことがわかれば、問題を再定義する必要があります。より多くのデータが使用可能になったので、モデルを配置した後に、モデルを更新することが必要になる場合があります。このため、データ マイニング モデルの作成は 1 つのプロセスであり、プロセスの各手順は適切なモデルを作成するために必要な回数だけ繰り返すということを理解することが重要です。
SQL Server 2005 では、データ マイニング モデルを作成および操作するための Business Intelligence Development Studio という統合環境が提供されています。この環境には、さまざまなプロジェクト用の広範なソリューションを簡単に作成できるデータ マイニング アルゴリズムとツールが含まれています。BI Development Studio の使用方法については、「Analysis Services ソリューションおよびプロジェクトの開発」を参照してください。
このトピックの前半で示したビジネス シナリオに SQL Server ツールを適用する方法については、「データ マイニングのチュートリアル」を参照してください。
問題の定義
次の図で強調されているように、データ マイニング プロセスの最初の手順では、ビジネス問題を明確に定義します。
この手順には、ビジネス要件の分析、問題の範囲の定義、モデルを評価する基準の定義、およびデータ マイニング プロジェクトの最終目的の定義が含まれます。これらの作業は、次のような質問に言い換えることができます。
- どのような情報を検索しますか?
- 予測するデータセットの属性はどれですか?
- 検索するリレーションシップの種類は何ですか?
- データ マイニング モデルから予測しますか、または興味のあるパターンおよび関連付けを検索するだけですか?
- データはどのように分布していますか?
- 列はどのように関連していますか、または複数のテーブルがある場合、テーブルはどのように関連していますか?
これらの質問に答えるには、データの可用性を調べ、使用可能なデータについてビジネス ユーザーのニーズを調査することが必要な場合があります。データによってユーザーのニーズがサポートされない場合は、プロジェクトの再定義が必要な場合があります。
データの準備
次の図で強調表示されている、データ マイニング プロセスの 2 番目の手順では、「問題の定義」の手順で示したデータの統合および削除を行います。
Microsoft SQL Server 2005 Integration Services (SSIS) には、データの削除および統合を自動化するための変換など、この手順を完了するために必要なすべてのツールが含まれています。
データは会社全体に分散して異なる形式で保存されたり、欠陥のあるエントリや欠落しているエントリなどの矛盾を含んだりしている場合があります。たとえば、顧客が実際に生まれる前に製品を購入していたり、自宅から 2,000 マイル離れたところにある店で定期的に買い物をしていたりという矛盾を示す場合があります。モデルの作成を開始する前に、これらの問題を解決する必要があります。通常、非常に大きなデータセットを操作するため、すべてのトランザクションを調べることはできません。このため、Integration Services など、何らかの形式のオートメーションを使用してデータを調査し、矛盾を見つける必要があります。
データの調査
次の図で強調されているように、データ マイニング プロセスの 3 番目の手順では、準備されたデータを調査します。
モデルの作成時に適切な決定を行うために、データを理解する必要があります。調査方法には、最小値および最大値の計算、平均偏差および標準偏差の計算、およびデータの分布の確認が含まれます。データを調査した後、欠陥のあるデータがデータセットに含まれているかどうかを判断し、問題を解決するための方法を考えることができます。
BI Development Studio のデータ ソース ビュー デザイナには、データの調査に使用できるいくつかのツールが含まれています。
モデルの作成
次の図で強調されているように、データ マイニング プロセスの 4 番目の手順では、マイニング モデルを作成します。
モデルを作成する前に、準備されたデータを個別のトレーニング データセットとテスト データセットにランダムに分ける必要があります。トレーニング データセットを使用してモデルを作成し、テスト データセットを使用して予測クエリを作成することによってモデルの精度をテストします。Integration Services の比率サンプリング変換を使用して、データセットを分割できます。
「データの調査」の手順から得た知識を使用すると、マイニング モデルの定義および作成に役立ちます。通常、モデルには入力列、識別列、および予測可能列が含まれます。データ マイニング拡張機能 (DMX) 言語または BI Development Studio のデータ マイニング ウィザードを使用して、新しいモデルでこれらの列を定義できます。DMX の使用方法については、「データ マイニング拡張機能 (DMX) リファレンス」を参照してください。データ マイニング ウィザードの使用方法については、「データ マイニング ウィザード」を参照してください。
マイニング モデルの構造を定義したら、それを処理して、モデルについて説明したパターンを空の構造に入れます。これは、モデルのトレーニングと呼ばれます。パターンは、数学的アルゴリズムを使用して元のデータを渡すことによって見つかります。SQL Server 2005 には、作成できるモデルの種類ごとに異なるアルゴリズムがあります。パラメータを使用して各アルゴリズムを調整できます。
マイニング モデルは、データ マイニング構造オブジェクト、データ マイニング モデル オブジェクト、およびデータ マイニング アルゴリズムによって定義されます。
詳細情報 : 「マイニング構造 (Analysis Services)」、「データ マイニング アルゴリズム」
Microsoft SQL Server 2005 Analysis Services (SSAS) には、次のアルゴリズムが含まれます。
- Microsoft デシジョン ツリー アルゴリズム
- Microsoft クラスタリング アルゴリズム
- Microsoft Naive Bayes アルゴリズム
- Microsoft アソシエーション アルゴリズム
- Microsoft シーケンス クラスタ アルゴリズム
- Microsoft タイム シリーズ アルゴリズム
- Microsoft ニューラル ネットワーク アルゴリズム (SSAS)
- Microsoft ロジスティック回帰アルゴリズム
- Microsoft 線形回帰アルゴリズム
モデルの調査と検証
次の図で強調されているように、データ マイニング プロセスの 5 番目の手順では、作成したモデルを調査して、その効果をテストします。
モデルを運用環境に配置する前に、モデルのパフォーマンスをテストする必要があります。また、いくつかのモデルを作成して、どのモデルが最適であるかを判断する必要があります。「モデルの作成」の手順で作成したモデルのパフォーマンスがいずれも良くない場合は、問題を再定義するか、元のデータセットでデータを再調査して、プロセスの前の手順に戻る必要が生じる場合もあります。
BI Development Studio のデータ マイニング デザイナのビューアを使用して、アルゴリズムで検出された傾向およびパターンを調べることができます。また、リフト チャートや分類マトリックスなどのデザイナのツールを使用して、モデルがどの程度予測を作成できるかをテストすることもできます。これらのツールでは、モデル作成の手順で元のデータセットから分割したテスト データが必要です。
詳細情報 : 「データ マイニング モデルの表示」、「データ マイニング モデルの検証」、「リフト チャート」、「分類マトリックス」
モデルの配置と更新
次の図で強調されているように、データ マイニング プロセスの最後の手順では、最適なパフォーマンスを示したモデルを運用環境に配置します。
マイニング モデルを運用環境に配置すると、必要に応じて多くのタスクを実行できます。次のようなタスクを実行できます。
- モデルを使用して予測を作成します。これは、業務上の意志決定に使用できます。SQL Server では、予測クエリを作成するための DMX 言語と、クエリを作成するための予測クエリ ビルダが提供されています。
- データ マイニング機能をアプリケーションに直接埋め込みます。マイニング構造とマイニング モデルを作成、変更、処理、および削除するためにアプリケーションで使用できる一連のオブジェクトを含んでいる分析管理オブジェクト (AMO) またはアセンブリを含めることができます。または、XML for Analysis (XMLA) メッセージを Analysis Services のインスタンスに直接送信できます。
- Integration Services を使用してパッケージを作成します。ここで、マイニング モデルは、入力されたデータを複数のテーブルに適切に分割するために使用されます。たとえば、潜在的な顧客に関してデータベースが継続的に更新される場合は、Integration Services と共にマイニング モデルを使用して、入力されるデータを製品を購入する可能性のある顧客と製品を購入する可能性のない顧客に分割できます。
- ユーザーが既存のマイニング モデルに対して直接問い合わせできるレポートを作成します。
モデルの更新は、配置方法の一部です。より多くのデータが組織に入ってくるので、モデルを再処理して効果を向上させる必要があります。
詳細情報 : 「Analysis Services での処理」、「DMX 予測クエリの作成」、「データ マイニング拡張機能 (DMX) リファレンス」、「Analysis Services 管理プログラミング (SSAS)」