クラスタリングのユースケース・シナリオ
あなたはゲーム・データ・サイエンティストです。マーケティング・チームが、新しいゲームを販促しようと考えており、ゲーム製品を購入した、与信限度額の高い顧客を求めています。チームはゲーム購入および与信レベルに基づいて顧客をセグメント化することを希望しています。あなたは、チームがターゲット顧客を識別し、k-Meansを使用して母集団をセグメント化することを支援します。
関連コンテンツ
トピック | リンク |
---|---|
OML4SQL GitHubの例 | クラスタリング - k-Means |
CREATE_MODEL2 プロシージャ
|
CREATE_MODEL2プロシージャ |
一般的なモデル設定 | DBMS_DATA_MINING - モデル設定 |
k-Meansの設定 | DBMS_DATA_MINING - アルゴリズムの設定: k-Means |
データ・ディクショナリ設定 | Oracle Machine Learningのデータ・ディクショナリ・ビュー |
k-Means - モデル・ディテール・ビュー | k-Meansのモデル・ディテール・ビュー |
クラスタリングについて | クラスタリングについて |
k-Meansについて | k-Meansについて |
OML4SQLユースケースの探求を開始する前に、次の用意ができていることを確認します。
- データ・セット
このユースケースに使用されるデータ・セットは、SHスキーマからのものです。SHスキーマは、Oracle Autonomous Databaseで簡単にアクセスできます。オンプレミス・データベースの場合、スキーマはインストール時にインストールされるか、スクリプトをダウンロードして手動でインストールできます。サンプル・スキーマのインストールを参照してください。
- データベース
次のオプションからデータベースを選択または作成します:
- 無償のクラウド・アカウントを取得します。https://cloud.oracle.com/databaseにアクセスし、「Oracle Database Cloud Service (DBCS)」または「Oracle Autonomous Database」を選択します。アカウントを作成してインスタンスを作成します。Autonomous Databaseクイック・スタート・ワークショップを参照してください。
- Oracle Database (オンプレミス)の最新バージョンをダウンロードします。
- 機械学習ツール
データベースの選択内容に応じて、次のいずれかを実行します。
- Oracle Autonomous Database用のOML Notebooksを使用します。
- オンプレミス・データベースまたはDBCSに接続されたOracle SQL Developerをインストールして使用します。SQL Developerのインストールおよび起動を参照してください。
- その他の要件
データ・マイニング権限(ADWに対して自動的に設定されます)。Oracle Machine Learning for SQLのためのシステム権限を参照してください。
関連トピック
データのロード
SHスキーマからデータ・セットにアクセスし、属性を理解するためにデータを探索します。
注意:
このユースケースに使用されるデータ・セットは、SHスキーマからのものです。SHスキーマは、Oracle Autonomous Databaseで簡単にアクセスできます。オンプレミス・データベースの場合、スキーマはインストール時にインストールされるか、スクリプトをダウンロードして手動でインストールできます。サンプル・スキーマのインストールを参照してください。
- データにアクセスします。
- データ・セットの様々な属性または列を詳細に調べます。
- データ品質を(データを探索することで)評価します。
データへのアクセス
SHスキーマのCUSTOMERS
およびSUPPLEMENTARY_DEMOGRAPHICS
表データを使用します。
データの調査
次の表に、SUPPLEMENTARY_DEMOGRAPHICS
の属性に関する情報を示します。
属性名 | 情報 |
---|---|
CUST_ID |
顧客のID |
EDUCATION |
顧客の教育情報 |
OCCUPATION |
顧客の職業 |
HOUSEHOLD_SIZE |
一戸当たりの人数 |
YRS_RESIDENCE |
居住年数 |
AFFINITY_CARD |
顧客がアフィニティ・カードを保有するかどうか |
BULK_PACK_DISKETTES |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
FLAT_PANEL_MONITOR |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
HOME_THEATER_PACKAGE |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
BOOKKEEPING_APPLICATION |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
PRINTER_SUPPLIES |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
Y_BOX_GAMES |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
OS_DOC_SET_KANJI |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
COMMENTS |
製品。顧客がすでに当該製品を所有しているかどうかを示します。 1は「はい」を意味します。0は「いいえ」を意味します |
データの探索
データにアクセスできたら、データを調べ、データの品質を理解して評価します。このステージでは、データを評価してデータ内のデータ型およびノイズを識別します。欠損値および数値外れ値を探します。
データ品質の評価
データを評価するには、まずデータベース内のデータを表示できる必要があります。このため、SQL文を使用してSH.CUSTOMERS
表およびSH.SUPPLEMENTARY_DEMOGRAPHICS
表を問い合せます。
SH
スキーマを問い合せます。
ノート:
データベース内の各レコードはケースと呼ばれ、各ケースはcase_id
で識別されます。このユースケースでは、CUST_ID
がcase_id
です。
次のステップは、データの探索的分析に役立ちます。
これで、データの探索ステージが完了します。OMLでは、自動データ準備(ADP)をサポートしています。ADPはモデル設定によって有効になります。ADPを有効にすると、アルゴリズムで必要とされる変換が自動的に実行され、モデルに埋め込まれます。このステップは、モデルの構築ステージで実行します。一般的に使用されるデータの準備方法には、ビニング、正規化、欠損値の処理があります。
関連トピック
モデルの構築
データ・セットを使用してモデルを構築します。DBMS_DATA_MINING.CREATE_MODEL2
プロシージャを使用してモデルを構築し、モデル設定を指定します。
アルゴリズムの選択
モデルを構築する前に、適切なアルゴリズムを選択します。次のアルゴリズムのいずれかを選択して、クラスタリングの問題を解決できます。- k-Means
- 期待値最大化(EM)
- 直交クラスタ(O-Cluster)
K-Meansでは、データの特定の分布が想定されません。k-Meansアルゴリズムは、指定した数のクラスタにデータを分割する、距離ベースのクラスタリング・アルゴリズムです。EMアルゴリズムは確率密度推定の手法です。EM手法は、データに複数のクラスタがあり、各クラスタが特定のガウス分布に従って分散されている前提に基づいています。O-Clusterはネイバー・ベースの手法です。データ内で高密度の領域を特定し、密領域をクラスタに分割します。特定の形状を形成するデータ・ポイントをクラスタ化できます。形状は、円、らせん、ネクタイ型などの複雑なパターンになる場合があります。
K-Meansは、互いに近いポイントのみをクラスタ化する傾向があり、必ずしも形状に基づいてデータをクラスタ化するわけではありません。そのため、K-Means手法は前提が最も単純な手法です。したがって、始めに使用するクラスタリング手法となります。
次のステップでは、選択したアルゴリズムを使用してモデルを構築する方法について説明します。
評価
診断メトリックを表示し、品質チェックを実行してモデルを評価します。
ディクショナリ・ビューおよびモデル・ディテール・ビューを問い合せれば、モデルのパフォーマンスを測定するのに十分な場合もあります。ただし、平均絶対誤差(MAE)、二乗平均平方根誤差(RMSE)、混同行列、リフト統計、コスト行列などのテスト・メトリックを計算して、モデルを評価できます。相関ルールの場合、様々なルールを調査して、それらによって項目の依存関係(前件の項目セットが後件を暗に示す)または項目間の想定外の関係について新しいインサイトが明らかになるかどうかを確認できます。
ディクショナリ・ビューおよびモデル・ビュー
モデルおよびビュー・モデル設定に関する情報を取得するには、データ・ディクショナリ・ビューおよびモデル・ディテール・ビューを問い合せることができます。モデル・ディテール・ビューの特定のビューには、モデルの評価に役立つモデル統計が表示されます。
次の表に、Oracle Machine Learningのデータ・ディクショナリ・ビューを示します。ビューのデータベース管理者(DBA)およびUSERバージョンも使用可能です。
ビュー名 | 説明 |
---|---|
ALL_MINING_MODELS | アクセス可能なすべての機械学習モデルに関する情報を示します |
ALL_MINING_MODEL_ATTRIBUTES | アクセス可能なすべての機械学習モデルの属性に関する情報を示します |
ALL_MINING_MODEL_SETTINGS | アクセス可能なすべての機械学習モデルの構成設定に関する情報を示します |
ALL_MINING_MODEL_VIEWS | アクセス可能なすべての機械学習モデルのモデル・ビューに関する情報を示します |
ALL_MINING_MODEL_XFORMS | アクセス可能なすべての機械学習モデルに埋め込まれたユーザー指定の変換を示します。 |
モデル・ディテール・ビューはアルゴリズムに固有です。モデル・ディテール・ビューを表示することで、作成したモデルに関する詳細なインサイトを取得できます。モデル・ディテール・ビューの名前はDM$xxで始まります(xxはビュー接頭辞に相当します)。「モデル・ディテール・ビュー」を参照してください。
次のステップを使用すると、様々なディクショナリ・ビューおよびモデル・ディテール・ビューを表示できます。
スコア
スコアリングでは、モデルをターゲット・データに適用します。CLUSTER_PROBABILITY
関数を使用してクラスタを予測します。クラスタリングの場合、"スコアリング"では、各レコードを一定の確率でクラスタに割り当てます。ただし、各クラスタに属するレコードの確率を取得することもできます。
WHERE
句を削除することで、ターゲット顧客の完全なリストを表示することもできます。