【Weka】アソシエーション・ルール(association rule)【機械学習】

公開日: : 最終更新日:2018/07/26 機械学習 , , , ,

フリーの機械学習ツール Weka でアソシエーション・ルール(association rule)を使ってみたときのメモです。

アソシエーション・ルール(association rule)とは、事象間の共起性(Co-occurence)を表す規則(rule)を意味します。

有名なのは、大量のスーパーの購入履歴から「ビールとおむつが同時に買われることが多い」というようなルールを探し出すことです。

Contents

データの準備

まず、CSV 形式で以下のようなデータを用意しました。

7つの事象の共起性のルールを自動的に見つけていきます。ちなみに、「yes」となっているところが対象事象が観測されたことを意味しています。

データの読み込みは、Weka を起動させ、

前処理 -> ファイルを開く からCSV ファイルを選択します。

最小支持度(minsup)と最小信頼度(minconf)の設定

膨大な数のアソシエーション・ルールから有用なルールと無用なルールの区別を行うための指標が、支持度(support)と信頼度(confidence)になります。

大量のルールから、ある条件を満たすルールのみを有用なルールとみなし抽出します。

その際に用いる、最小支持度(minsup)と最小信頼度(minconf)を Weka で設定します。

アソシエートタブの「選択」ボタンの横のエリアをクリックします。

すると、以下のようなウィンドウが開きます。

最小支持度が「lower BoundMinSupport」で設定でき、最小信頼度が「minMetric」で設定できます。

今回は、最小支持度が 30%、最小信頼度が 75% で設定しました。

実行および結果

開始」ボタンを押すと、ルールの抽出が行われ、右側に結果が表示されます。

結果は以下のようになり、条件を満たす15個のルールが抽出されました。

ちなみに「conf」は信頼度を表しています。

=== 実行情報 ===

スキーマ: weka.associations.Apriori -N 20 -T 0 -C 0.75 -D 0.05 -U 1.0 -M 0.3 -S -1.0 -c -1
関連: association_rule_data
インスタンス: 8
要素: 7
coffee
bread
butter
milk
beer
beans
rice
=== アソシエートモデル (トレーニングセット) ===

 

Apriori
=======

Minimum support: 0.3 (2 instances)
Minimum metric <confidence>: 0.75
Number of cycles performed: 14

Generated sets of large itemsets:

Size of set of large itemsets L(1): 6

Size of set of large itemsets L(2): 6

Size of set of large itemsets L(3): 2

Best rules found:

1. bread=yes 4 ==> butter=yes 4 conf:(1)
2. coffee=yes butter=yes 3 ==> bread=yes 3 conf:(1)
3. coffee=yes bread=yes 3 ==> butter=yes 3 conf:(1)
4. milk=yes 2 ==> bread=yes 2 conf:(1)
5. milk=yes 2 ==> butter=yes 2 conf:(1)
6. beer=yes 2 ==> butter=yes 2 conf:(1)
7. butter=yes milk=yes 2 ==> bread=yes 2 conf:(1)
8. bread=yes milk=yes 2 ==> butter=yes 2 conf:(1)
9. milk=yes 2 ==> bread=yes butter=yes 2 conf:(1)
10. bread=yes 4 ==> coffee=yes 3 conf:(0.75)
11. coffee=yes 4 ==> bread=yes 3 conf:(0.75)
12. coffee=yes 4 ==> butter=yes 3 conf:(0.75)
13. bread=yes butter=yes 4 ==> coffee=yes 3 conf:(0.75)
14. bread=yes 4 ==> coffee=yes butter=yes 3 conf:(0.75)
15. coffee=yes 4 ==> bread=yes butter=yes 3 conf:(0.75)

関連記事

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築したときのメモです。 フ

記事を読む

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用いて転移学習をしてみました。

記事を読む

【機械学習】パーセプトロン(Perceptron)について。

パーセプトロンは、教師あり学習の中でも、入出力モデルベース(eager learning:働き者の学

記事を読む

【探索】縦型・横型・反復深化法の探索手法の比較。

探索とは、チェスや将棋や囲碁などのゲームをコンピュータがプレイするときに、どの手を指すかを決定するの

記事を読む

機械学習の手法のまとめ。

機械学習は、「与えられた入出力事例をモデル化する行為」のことで、ディープラーニングなどで注目を集めて

記事を読む

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)を構築する方法について紹介しま

記事を読む

【深層学習】 TensorFlow と Keras をインストールする【Python】

今回は、Google Colaboratory 上で、深層学習(DeepLearning)フレームワ

記事を読む

【Weka】欠損データを自動的に補完するフィルタを使ってみた。

機械学習で用いるデータについてです。データは完璧なことに越したことはないが、通常は、ある属性の値が入

記事を読む

【機械学習】 scikit-learn で精度・再現率・F値を算出する方法【Python】

今回は、2クラス分類で Python の scikit-learn を使った評価指標である、精度(P

記事を読む

【画像認識】 Google画像検索結果を取得する方法 【google image download】

今回は、深層学習(DeepLearning)で画像認識をするための画像データの収集を、Google画

記事を読む

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

→もっと見る

PAGE TOP ↑