9.10 期待値最大化

oml.emクラスは、期待値の最大化(EM)アルゴリズムを使用してクラスタリング・モデルを作成します。

EMは、確率的クラスタリングを実行する密度推定アルゴリズムです。密度推定の目的は、所与の母集団がどのように分布しているかを取得する密度関数を構成することです。密度推定値は、母集団のサンプルを表現する観測済データに基づく。

oml.emクラスのメソッドの詳細は、help(oml.em)を呼び出すか、Oracle Machine Learning for Python APIリファレンスを参照してください。

期待値の最大化モデルの設定

次の表は、EMモデルのデータの準備と分析に関する設定のリストです。

表9-5 データ準備と分析用の期待値の最大化設定

設定名 設定値 説明
EMCS_ATTRIBUTE_FILTER

EMCS_ATTR_FILTER_ENABLE

EMCS_ATTR_FILTER_DISABLE

モデルに相関していない属性を含めるかどうかの指定。EMCS_ATTRIBUTE_FILTERが有効な場合、相関していない属性は含められません。

ノート:

この設定は、ネストしていない属性にのみ適用されます。

デフォルト値は、システムによって決定されます。

EMCS_MAX_NUM_ATTR_2D

TO_CHAR(numeric_expr >= 1)

モデルに含める相関属性の最大数。

ノート:

この設定は、ネストしていない(2D)属性にのみ適用されます。

デフォルト値は50です。

EMCS_NUM_DISTRIBUTION

EMCS_NUM_DISTR_BERNOULLI

EMCS_NUM_DISTR_GAUSSIAN

EMCS_NUM_DISTR_SYSTEM

量的属性をモデリングする分布。入力表または入力ビューの全体に適用され、属性ごとの指定は許可されません。

オプションには、ベルヌーイ分布、ガウス分布またはシステム決定の分布が含まれます。ベルヌーイ分布やガウス分布を選択した場合、すべての量的属性が同じタイプの分布を使用してモデリングされます。システム決定の分布の場合は、個々の属性で、データに応じて異なる分布(ベルヌーイ分布またはガウス分布)を使用できます。

デフォルト値はEMCS_NUM_DISTR_SYSTEMです。

EMCS_NUM_EQUIWIDTH_BINS

TO_CHAR( 1 <numeric_expr <= 255)

量的列のクラスタ統計を収集するために使用される等幅ビンの数。

デフォルト値は、11です。

EMCS_NUM_PROJECTIONS

TO_CHAR( numeric_expr >= 1)

ネストした各列に使用する予測の数を指定します。指定した数の予測よりも列の個別属性の数が少ない場合、データの予測は行われません。この設定は、すべてのネストしている列に適用されます。

デフォルト値は50です。

EMCS_NUM_QUANTILE_BINS

TO_CHAR( 1 < numeric_expr <= 255)

複数値のベルヌーイ分布で量的列のモデリングに使用するクオンタイル・ビンの数を指定します。

デフォルト値は、システムによって決定されます。

EMCS_NUM_TOPN_BINS

TO_CHAR( 1 < numeric_expr <= 255)

複数値のベルヌーイ分布で質的列のモデリングに使用する上位Nビンの数を指定します。

デフォルト値は、システムによって決定されます。

次の表は、EMモデルの学習に関する設定のリストです。

表9-6 学習用の期待値の最大化設定

設定名 設定値 説明

EMCS_CONVERGENCE_CRITERION

EMCS_CONV_CRIT_HELDASIDE

EMCS_CONV_CRIT_BIC

EMの収束基準。収束基準は、取り分けておいたデータセットに基づいている場合もあれば、ベイズ情報量基準である場合もあります。

デフォルト値は、システムによって決定されます。

EMCS_LOGLIKE_IMPROVEMENT

TO_CHAR( 0 < numeric_expr < 1)

収束基準が取り分けておいたデータ・セットに基づいている場合(EMCS_CONVERGENCE_CRITERION = EMCS_CONV_CRIT_HELDASIDE)、この設定では、モデルに新しいコンポーネントを追加するために必要とされる対数尤度ファンクションの値の改善率を指定します。

EMCS_MODEL_SEARCH

EMCS_MODEL_SEARCH_ENABLE

EMCS_MODEL_SEARCH_DISABLE

様々なモデル・サイズが探索され、最適なサイズが選択されるモデル検索をEMで有効にします。

デフォルト値はEMCS_MODEL_SEARCH_DISABLEです。

EMCS_NUM_COMPONENTS

TO_CHAR( numeric_expr >= 1)

モデル内のコンポーネントの最大数。モデル検索が有効である場合、アルゴリズムによってコンポーネントの数(尤度ファンクションの改善度または正則化に基づいた指定された最大数まで)が自動的に決定されます。

コンポーネントの数は、クラスタの数以上である必要があります。

デフォルト値は20です。

EMCS_NUM_ITERATIONS

TO_CHAR( numeric_expr >= 1)

EMアルゴリズムにおける最大反復数を指定します。

デフォルト値は100です。

EMCS_RANDOM_SEED

負でない整数

EMで使用されるランダム・ジェネレータのシードを制御します。デフォルト値は0です。

EMCS_REMOVE_COMPONENTS

EMCS_REMOVE_COMPS_ENABLE

EMCS_REMOVE_COMPS_DISABLE

EMアルゴリズムにソリューションからの小さいコンポーネントの削除を許可します。

デフォルト値はEMCS_REMOVE_COMPS_ENABLEです。

次の表は、EMモデルのコンポーネント・クラスタリングに関する設定のリストです。

表9-7 コンポーネント・クラスタリング用の期待値の最大化設定

設定名 設定値 説明
CLUS_NUM_CLUSTERS

TO_CHAR(numeric_expr >= 1)

アルゴリズムによって生成されるリーフ・クラスタの最大数。このアルゴリズムは、データによっては、指定した数よりも少ないクラスタを返す場合がありますが、アルゴリズム固有の設定によって制御されるコンポーネント数を超えるクラスタを返すことはできません。(表9-6を参照。)これらの設定によっては、コンポーネントよりも少ないクラスタが存在する場合があります。コンポーネントのクラスタリングが無効な場合、クラスタの数はコンポーネントの数に等しくなります。

デフォルト値は、システムによって決定されます。

EMCS_CLUSTER_COMPONENTS

EMCS_CLUSTER_COMP_ENABLE

EMCS_CLUSTER_COMP_DISABLE

EMコンポーネントの上位レベルのクラスタへのグループ化を有効または無効にします。無効にすると、コンポーネント自体がクラスタとして扱われます。

コンポーネント・クラスタリングを有効にすると、SQL CLUSTERファンクションを介したモデル・スコアリングによって、より上位のクラスタに対する割当てが実行されます。クラスタリングを無効にすると、CLUSTERファンクションによって、元のコンポーネントに対する割当てが実行されます。

デフォルト値はEMCS_CLUSTER_COMP_ENABLEです。

EMCS_CLUSTER_THRESH

TO_CHAR(numeric_expr >= 1)

EMコンポーネントのクラスタリングを制御する相違点のしきい値。相違点メジャーがしきい値よりも少ない場合、複数のコンポーネントは1つのクラスタに結合されます。

しきい値が低いと、よりコンパクトな多くのクラスタが作成されます。しきい値が高いと、より広く散らばった少数のクラスタが作成されます。

デフォルト値は2です。

EMCS_LINKAGE_FUNCTION

EMCS_LINKAGE_SINGLE

EMCS_LINKAGE_AVERAGE

EMCS_LINKAGE_COMPLETE

凝集クラスタリング・ステップにおけるリンケージ機能の指定を許可します。

EMCS_LINKAGE_SINGLEでは、ブランチ内の最短距離が使用されます。クラスタは、大きくて特異な形状をしている傾向があります。

EMCS_LINKAGE_AVERAGEでは、ブランチ内の平均距離が使用されます。連鎖効果は少なく、クラスタはよりコンパクトなものになります。

EMCS_LINKAGE_COMPLETEでは、ブランチ内の最大距離が使用されます。クラスタは小さく、強固なコンポーネント・オーバーラップを必要とします。

デフォルト値はEMCS_LINKAGE_SINGLEです。

次の表は、EMモデルのクラスタ統計に関する設定のリストです。

表9-8 クラスタ統計用の期待値の最大化設定

設定名 設定値 説明

EMCS_CLUSTER_STATISTICS

EMCS_CLUS_STATS_ENABLE

EMCS_CLUS_STATS_DISABLE

クラスタ(セントロイド、ヒストグラムおよびルール)の記述統計の収集を有効または無効にします。統計を無効にすると、モデル・サイズが縮小されます。

デフォルト値はEMCS_CLUS_STATS_ENABLEです。

EMCS_MIN_PCT_ATTR_SUPPORT

TO_CHAR( 0 < numeric_expr < 1)

クラスタ・ルールに属性を含めるときに必要とされる最小限のサポート。このサポートでは、クラスタに割り当てられたデータ行のうち、属性がnull以外の値である必要があるものの割合を示します。

デフォルト値は0.1です。

例9-10 oml.emクラスの使用

この例では、EMモデルを作成し、oml.emクラスのメソッドの一部を使用します。

import oml
import pandas as pd
from sklearn import datasets 

# Load the iris data set and create a pandas.DataFrame for it.
iris = datasets.load_iris()
x = pd.DataFrame(iris.data,
                 columns = ['Sepal_Length','Sepal_Width',
                            'Petal_Length','Petal_Width'])
y = pd.DataFrame(list(map(lambda x:
                           {0: 'setosa', 1: 'versicolor',
                            2:'virginica'}[x], iris.target)),
                 columns = ['Species'])

try:
    oml.drop('IRIS')
except: 
    pass

# Create the IRIS database table and the proxy object for the table.
oml_iris = oml.create(pd.concat([x, y], axis=1), table = 'IRIS')

# Create training and test data.
dat = oml.sync(table = 'IRIS').split()
train_dat = dat[0]
test_dat = dat[1]

# Specify settings.
setting = {'emcs_num_iterations': 100}

# Create an EM model object
em_mod = oml.em(n_clusters = 2, **setting)

# Fit the EM model according to the training data and parameter
# settings.
em_mod = em_mod.fit(train_dat)

# Show details of the model.
em_mod

# Use the model to make predictions on the test data.
em_mod.predict(test_dat)

# Make predictions and return the probability for each class
# on new data.
em_mod.predict_proba(test_dat, 
  supplemental_cols = test_dat[:, 
    ['Sepal_Length', 'Sepal_Width', 
     'Petal_Length']]).sort_values(by = ['Sepal_Length', 
       'Sepal_Width',  'Petal_Length', 
       'PROBABILITY_OF_2', 'PROBABILITY_OF_3'])

# Change the random seed and refit the model.
em_mod.set_params(EMCS_RANDOM_SEED = '5').fit(train_dat)

この例のリスト

>>> import oml
>>> import pandas as pd
>>> from sklearn import datasets
>>>
>>> # Load the iris data set and create a pandas.DataFrame for it.
... iris = datasets.load_iris()
>>> x = pd.DataFrame(iris.data, 
...                  columns = ['Sepal_Length','Sepal_Width',
...                             'Petal_Length','Petal_Width'])
>>> y = pd.DataFrame(list(map(lambda x: 
...                            {0: 'setosa', 1: 'versicolor', 
...                             2:'virginica'}[x], iris.target)), 
...                  columns = ['Species'])
>>>
>>> try:
...    oml.drop('IRIS')
... except: 
...    pass
>>>
>>> # Create the IRIS database table and the proxy object for the table.
... oml_iris = oml.create(pd.concat([x, y], axis=1), table = 'IRIS')
>>>
>>> # Create training and test data.
... dat = oml.sync(table = 'IRIS').split()
>>> train_dat = dat[0]
>>> test_dat = dat[1]
>>> 
>>> # Specify settings.
... setting = {'emcs_num_iterations': 100}
>>> 
>>> # Create an EM model object.
... em_mod = oml.em(n_clusters = 2, **setting)
>>> 
>>> # Fit the EM model according to the training data and parameter
... # settings.
>>> em_mod = em_mod.fit(train_dat)
>>> 
>>> # Show details of the model.
... em_mod

Algorithm Name: Expectation Maximization

Mining Function: CLUSTERING

Settings: 
                    setting name                  setting value
0                      ALGO_NAME  ALGO_EXPECTATION_MAXIMIZATION
1              CLUS_NUM_CLUSTERS                              2
2        EMCS_CLUSTER_COMPONENTS       EMCS_CLUSTER_COMP_ENABLE
3        EMCS_CLUSTER_STATISTICS         EMCS_CLUS_STATS_ENABLE
4            EMCS_CLUSTER_THRESH                              2
5          EMCS_LINKAGE_FUNCTION            EMCS_LINKAGE_SINGLE
6       EMCS_LOGLIKE_IMPROVEMENT                           .001
7           EMCS_MAX_NUM_ATTR_2D                             50
8      EMCS_MIN_PCT_ATTR_SUPPORT                             .1
9              EMCS_MODEL_SEARCH      EMCS_MODEL_SEARCH_DISABLE
10           EMCS_NUM_COMPONENTS                             20
11         EMCS_NUM_DISTRIBUTION          EMCS_NUM_DISTR_SYSTEM
12       EMCS_NUM_EQUIWIDTH_BINS                             11
13           EMCS_NUM_ITERATIONS                            100
14          EMCS_NUM_PROJECTIONS                             50
15              EMCS_RANDOM_SEED                              0
16        EMCS_REMOVE_COMPONENTS       EMCS_REMOVE_COMPS_ENABLE
17                  ODMS_DETAILS                    ODMS_ENABLE
18  ODMS_MISSING_VALUE_TREATMENT        ODMS_MISSING_VALUE_AUTO
19                 ODMS_SAMPLING          ODMS_SAMPLING_DISABLE
20                     PREP_AUTO                             ON

Computed Settings: 
                 setting name             setting value
0       EMCS_ATTRIBUTE_FILTER  EMCS_ATTR_FILTER_DISABLE
1  EMCS_CONVERGENCE_CRITERION        EMCS_CONV_CRIT_BIC
2      EMCS_NUM_QUANTILE_BINS                         3
3          EMCS_NUM_TOPN_BINS                         3

Global Statistics: 
       attribute name  attribute value
0           CONVERGED              YES
1       LOGLIKELIHOOD         -2.10044
2        NUM_CLUSTERS                2
3      NUM_COMPONENTS                8
4            NUM_ROWS              104
5         RANDOM_SEED                0
6  REMOVED_COMPONENTS               12

Attributes: 
Petal_Length
Petal_Width
Sepal_Length
Sepal_Width
Species

Partition: NO

Clusters: 

   CLUSTER_ID  CLUSTER_NAME  RECORD_COUNT  PARENT  TREE_LEVEL \
0           1             1           104     NaN           1  
1           2             2            68     1.0           2
2           3             3            36     1.0           2
  LEFT_CHILD_ID  RIGHT_CHILD_ID
0           2.0             3.0
1           NaN             NaN
2           NaN             NaN

Taxonomy: 

   PARENT_CLUSTER_ID  CHILD_CLUSTER_ID
0                  1               2.0
1                  1               3.0
2                  2               NaN
3                  3               NaN

Centroids: 

    CLUSTER_ID ATTRIBUTE_NAME      MEAN  MODE_VALUE  VARIANCE
0            1   Petal_Length  3.721154        None  3.234694
1            1    Petal_Width  1.155769        None  0.567539
2            1   Sepal_Length  5.831731        None  0.753255
3            1    Sepal_Width  3.074038        None  0.221358
4            1        Species       NaN      setosa       NaN
5            2   Petal_Length  4.902941        None  0.860588
6            2    Petal_Width  1.635294        None  0.191572
7            2   Sepal_Length  6.266176        None  0.545555
8            2    Sepal_Width  2.854412        None  0.128786
9            2        Species       NaN  versicolor       NaN
10           3   Petal_Length  1.488889        None  0.033016
11           3    Petal_Width  0.250000        None  0.012857
12           3   Sepal_Length  5.011111        None  0.113016
13           3    Sepal_Width  3.488889        None  0.134159
14           3        Species       NaN      setosa       NaN

Leaf Cluster Counts: 

   CLUSTER_ID  CNT
0           2   68
1           3   36

Attribute Importance: 

  ATTRIBUTE_NAME  ATTRIBUTE_IMPORTANCE_VALUE  ATTRIBUTE_RANK
0   Petal_Length                    0.558311               2
1    Petal_Width                    0.556300               3
2   Sepal_Length                    0.469978               4
3    Sepal_Width                    0.196211               5
4        Species                    0.612463               1

Components: 

   COMPONENT_ID  CLUSTER_ID  PRIOR_PROBABILITY
0             1           2           0.115366
1             2           2           0.079158
2             3           3           0.113448
3             4           2           0.148059
4             5           3           0.126979
5             6           2           0.134402
6             7           3           0.105727
7             8           2           0.176860

Cluster Hists: 

     cluster.id            variable  bin.id  lower.bound  upper.bound  \
0             1        Petal_Length       1         1.00         1.59   
1             1        Petal_Length       2         1.59         2.18   
2             1        Petal_Length       3         2.18         2.77   
3             1        Petal_Length       4         2.77         3.36
...          ...                 ...     ...          ...          ...    
137           3         Sepal_Width      11          NaN          NaN   
138           3     Species:'Other'       1          NaN          NaN   
139           3      Species:setosa       2          NaN          NaN   
140           3  Species:versicolor       3          NaN          NaN   

         label  count  
0       1:1.59     25  
1    1.59:2.18     11  
2    2.18:2.77      0  
3    2.77:3.36      3  
...        ...    ...
137          :      0  
138          :      0  
139          :     36  
140          :      0  

[141 rows x 7 columns]

Rules: 

    cluster.id  rhs.support  rhs.conf  lhr.support  lhs.conf       lhs.var  \
0            1          104  1.000000           93  0.892157   Sepal_Width   
1            1          104  1.000000           93  0.892157   Sepal_Width   
2            1          104  1.000000           99  0.892157  Petal_Length   
3            1          104  1.000000           99  0.892157  Petal_Length   
...        ...          ...       ...          ...       ...           ...
26           3           36  0.346154           36  0.972222  Petal_Length 
27           3           36  0.346154           36  0.972222  Sepal_Length   
28           3           36  0.346154           36  0.972222  Sepal_Length   
29           3           36  0.346154           36  0.972222       Species   

    lhs.var.support  lhs.var.conf              predicate  
0                93      0.400000    Sepal_Width <= 3.92  
1                93      0.400000     Sepal_Width > 2.48  
2                93      0.222222   Petal_Length <= 6.31  
3                93      0.222222      Petal_Length >= 1  
...             ...           ...                    ...  
26               35      0.134398      Petal_Length >= 1  
27               35      0.094194    Sepal_Length <= 5.74  
28               35      0.094194     Sepal_Length >= 4.3  
29               35      0.281684        Species = setosa 

[30 rows x 9 columns]

>>> # Use the model to make predictions on the test data.
... em_mod.predict(test_dat)
    CLUSTER_ID
0            3
1            3
2            3
3            3
...        ...
42           2
43           2
44           2
45           2

>>> # Make predictions and return the probability for each class
... # on new data.
>>> em_mod.predict_proba(test_dat, 
...   supplemental_cols = test_dat[:, 
...     ['Sepal_Length', 'Sepal_Width', 
...      'Petal_Length']]).sort_values(by = ['Sepal_Length', 
...        'Sepal_Width',  'Petal_Length', 
...        'PROBABILITY_OF_2', 'PROBABILITY_OF_3'])
    Sepal_Length  Sepal_Width  Petal_Length  PROBABILITY_OF_2  \
0            4.4          3.0           1.3      4.680788e-20   
1            4.4          3.2           1.3      1.052071e-20   
2            4.5          2.3           1.3      7.751240e-06  
3            4.8          3.4           1.6      5.363418e-19   
...          ...          ...           ...               ...   
43           6.9          3.1           4.9      1.000000e+00   
44           6.9          3.1           5.4      1.000000e+00   
45           7.0          3.2           4.7      1.000000e+00   

    PROBABILITY_OF_3  
0       1.000000e+00  
1       1.000000e+00  
2       9.999922e-01  
3       1.000000e+00  
...              ...  
43     3.295578e-97  
44    6.438740e-137 
45     3.853925e-89  
  
>>> 
>>> # Change the random seed and refit the model.
... em_mod.set_params(EMCS_RANDOM_SEED = '5').fit(train_dat)

Algorithm Name: Expectation Maximization

Mining Function: CLUSTERING

Settings: 
                    setting name                  setting value
0                      ALGO_NAME  ALGO_EXPECTATION_MAXIMIZATION
1              CLUS_NUM_CLUSTERS                              2
2        EMCS_CLUSTER_COMPONENTS       EMCS_CLUSTER_COMP_ENABLE
3        EMCS_CLUSTER_STATISTICS         EMCS_CLUS_STATS_ENABLE
4            EMCS_CLUSTER_THRESH                              2
5          EMCS_LINKAGE_FUNCTION            EMCS_LINKAGE_SINGLE
6       EMCS_LOGLIKE_IMPROVEMENT                           .001
7           EMCS_MAX_NUM_ATTR_2D                             50
8      EMCS_MIN_PCT_ATTR_SUPPORT                             .1
9              EMCS_MODEL_SEARCH      EMCS_MODEL_SEARCH_DISABLE
10           EMCS_NUM_COMPONENTS                             20
11         EMCS_NUM_DISTRIBUTION          EMCS_NUM_DISTR_SYSTEM
12       EMCS_NUM_EQUIWIDTH_BINS                             11
13           EMCS_NUM_ITERATIONS                            100
14          EMCS_NUM_PROJECTIONS                             50
15              EMCS_RANDOM_SEED                              5
16        EMCS_REMOVE_COMPONENTS       EMCS_REMOVE_COMPS_ENABLE
17                  ODMS_DETAILS                    ODMS_ENABLE
18  ODMS_MISSING_VALUE_TREATMENT        ODMS_MISSING_VALUE_AUTO
19                 ODMS_SAMPLING          ODMS_SAMPLING_DISABLE
20                     PREP_AUTO                             ON

Computed Settings: 
                 setting name             setting value
0       EMCS_ATTRIBUTE_FILTER  EMCS_ATTR_FILTER_DISABLE
1  EMCS_CONVERGENCE_CRITERION        EMCS_CONV_CRIT_BIC
2      EMCS_NUM_QUANTILE_BINS                         3
3          EMCS_NUM_TOPN_BINS                         3

Global Statistics: 
       attribute name  attribute value
0           CONVERGED              YES
1       LOGLIKELIHOOD         -1.75777
2        NUM_CLUSTERS                2
3      NUM_COMPONENTS                9
4            NUM_ROWS              104
5         RANDOM_SEED                5
6  REMOVED_COMPONENTS               11

Attributes: 
Petal_Length
Petal_Width
Sepal_Length
Sepal_Width
Species

Partition: NO

Clusters: 

   CLUSTER_ID  CLUSTER_NAME  RECORD_COUNT  PARENT  TREE_LEVEL  LEFT_CHILD_ID  \
0           1             1           104     NaN           1            2.0   
1           2             2            36     1.0           2            NaN   
2           3             3            68     1.0           2            NaN   

   RIGHT_CHILD_ID  
0             3.0  
1             NaN  
2             NaN  

Taxonomy: 

   PARENT_CLUSTER_ID  CHILD_CLUSTER_ID
0                  1               2.0
1                  1               3.0
2                  2               NaN
3                  3               NaN

Centroids: 

    CLUSTER_ID ATTRIBUTE_NAME      MEAN  MODE_VALUE  VARIANCE
0            1   Petal_Length  3.721154        None  3.234694
1            1    Petal_Width  1.155769        None  0.567539
2            1   Sepal_Length  5.831731        None  0.753255
3            1    Sepal_Width  3.074038        None  0.221358
4            1        Species       NaN      setosa       NaN
5            2   Petal_Length  1.488889        None  0.033016
6            2    Petal_Width  0.250000        None  0.012857
7            2   Sepal_Length  5.011111        None  0.113016
8            2    Sepal_Width  3.488889        None  0.134159
9            2        Species       NaN      setosa       NaN
10           3   Petal_Length  4.902941        None  0.860588
11           3    Petal_Width  1.635294        None  0.191572
12           3   Sepal_Length  6.266176        None  0.545555
13           3    Sepal_Width  2.854412        None  0.128786
14           3        Species       NaN  versicolor       NaN

Leaf Cluster Counts: 

   CLUSTER_ID  CNT
0           2   36
1           3   68

Attribute Importance: 

  ATTRIBUTE_NAME  ATTRIBUTE_IMPORTANCE_VALUE  ATTRIBUTE_RANK
0   Petal_Length                    0.558311               2
1    Petal_Width                    0.556300               3
2   Sepal_Length                    0.469978               4
3    Sepal_Width                    0.196211               5
4        Species                    0.612463               1

Components: 

   COMPONENT_ID  CLUSTER_ID  PRIOR_PROBABILITY
0             1           2           0.113452
1             2           2           0.105727
2             3           3           0.114202
3             4           3           0.086285
4             5           3           0.067294
5             6           2           0.124365
6             7           3           0.126975
7             8           3           0.105761
8             9           3           0.155939

Cluster Hists: 

     cluster.id            variable  bin.id  lower.bound  upper.bound  \
0             1        Petal_Length       1         1.00         1.59   
1             1        Petal_Length       2         1.59         2.18   
2             1        Petal_Length       3         2.18         2.77   
3             1        Petal_Length       4         2.77         3.36   
...         ...                 ...     ...          ...          ...
137           3         Sepal_Width      11          NaN          NaN   
138           3     Species:'Other'       1          NaN          NaN   
139           3      Species:setosa       3          NaN          NaN   
140           3  Species:versicolor       2          NaN          NaN   

         label  count  
0       1:1.59     25 
1    1.59:2.18     11  
2    2.18:2.77      0  
3    2.77:3.36      3  
...        ...    ...
137          :      0 
138          :     33  
139          :      0  
140          :     35  

[141 rows x 7 columns]

Rules: 

    cluster.id  rhs.support  rhs.conf  lhr.support  lhs.conf       lhs.var  \
0            1          104  1.000000           93  0.894231   Sepal_Width   
1            1          104  1.000000           93  0.894231   Sepal_Width   
2            1          104  1.000000           99  0.894231  Petal_Length   
3            1          104  1.000000           99  0.894231  Petal_Length   
...        ...          ...       ...          ...       ...           ...
26           3           68  0.653846           68  0.955882  Sepal_Length   
27           3           68  0.653846           68  0.955882  Sepal_Length   
28           3           68  0.653846           68  0.955882       Species
29           3           68  0.653846           68  0.955882       Species 

    lhs.var.support  lhs.var.conf              predicate  
0                93      0.400000    Sepal_Width <= 3.92  
1                93      0.400000     Sepal_Width > 2.48  
2                93      0.222222   Petal_Length <= 6.31  
3                93      0.222222      Petal_Length >= 1  
...             ...           ...                    ...  
26               65      0.026013    Sepal_Length <= 7.9  
27               65      0.026013    Sepal_Length > 4.66
28               65      0.125809     Species IN 'Other'
29               65      0.125809  Species IN versicolor