PCA, Singular Value Decomposition & Association Rules implementation in Python

In [1]:
import pandas as pan
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn import decomposition
import operator

PCA for Reduced Dimensionality in Clustering

Data loading and normalization

In [2]:
# Function to load and normalize data
def Getdata():
    # reading data column names
    colnames = np.genfromtxt('segmentation_names.txt', dtype=str)
    # reading data file
    fil = pan.read_csv("segmentation_data.txt", sep=',', names=colnames)
    # showing data types
    print fil.dtypes
    print fil.describe()
    
    # Min'max normalization function
    minmax = lambda x: ((x-x.min())/(x.max()-x.min()) * (1-0) + 0) if x.dtypes==np.float64 else x
    data = fil.apply(minmax) # applying function
    print data.describe()
    
    # reading clasess
    ynames = ['label','class']
    y = pan.read_csv('segmentation_classes.txt',sep='\t', names=ynames)
    print y 
    return colnames, data, ynames, y
In [3]:
# getting data with the function Getdata
colnames, data, ynames, y = Getdata()
REGION-CENTROID-COL     float64
REGION-CENTROID-ROW     float64
REGION-PIXEL-COUNT        int64
SHORT-LINE-DENSITY-5    float64
SHORT-LINE-DENSITY-2    float64
VEDGE-MEAN              float64
VEDGE-SD                float64
HEDGE-MEAN              float64
HEDGE-SD                float64
INTENSITY-MEAN          float64
RAWRED-MEAN             float64
RAWBLUE-MEAN            float64
RAWGREEN-MEAN           float64
EXRED-MEAN              float64
EXBLUE-MEAN             float64
EXGREEN-MEAN            float64
VALUE-MEAN              float64
SATURATION-MEAN         float64
HUE-MEAN                float64
dtype: object
       REGION-CENTROID-COL  REGION-CENTROID-ROW  REGION-PIXEL-COUNT  \
count          2100.000000          2100.000000              2100.0   
mean            124.940476           123.483333                 9.0   
std              72.858637            57.431428                 0.0   
min               1.000000            11.000000                 9.0   
25%              62.000000            81.000000                 9.0   
50%             121.000000           122.000000                 9.0   
75%             188.250000           171.250000                 9.0   
max             254.000000           251.000000                 9.0   

       SHORT-LINE-DENSITY-5  SHORT-LINE-DENSITY-2   VEDGE-MEAN     VEDGE-SD  \
count           2100.000000           2100.000000  2100.000000  2100.000000   
mean               0.014921              0.004550     1.890820     5.708299   
std                0.041024              0.023573     2.649453    44.989359   
min                0.000000              0.000000     0.000000     0.000000   
25%                0.000000              0.000000     0.722222     0.349603   
50%                0.000000              0.000000     1.277776     0.833333   
75%                0.000000              0.000000     2.222221     1.807406   
max                0.333333              0.222222    29.222221   991.718400   

        HEDGE-MEAN      HEDGE-SD  INTENSITY-MEAN  RAWRED-MEAN  RAWBLUE-MEAN  \
count  2100.000000  2.100000e+03     2100.000000  2100.000000   2100.000000   
mean      2.406772  7.904224e+00       37.047654    32.806667     44.205556   
std       3.469954  5.347107e+01       38.135291    34.994538     43.510119   
min       0.000000 -1.589457e-08        0.000000     0.000000      0.000000   
25%       0.833332  4.216377e-01        7.472222     7.000000      9.666667   
50%       1.444444  9.897442e-01       21.666666    19.666668     27.777779   
75%       2.555556  2.251852e+00       53.277778    47.333332     65.000000   
max      44.722225  1.386329e+03      143.444440   137.111110    150.888890   

       RAWGREEN-MEAN   EXRED-MEAN  EXBLUE-MEAN  EXGREEN-MEAN   VALUE-MEAN  \
count    2100.000000  2100.000000  2100.000000   2100.000000  2100.000000   
mean       34.130741   -12.722963    21.473704     -8.750741    45.162381   
std        36.303768    11.588214    19.654107     11.606996    42.900582   
min         0.000000   -49.666668   -12.444445    -33.888890     0.000000   
25%         6.222222   -18.583333     4.305556    -17.000000    11.777778   
50%        20.444445   -10.888889    19.666666    -11.000000    28.666666   
75%        46.388888    -4.222222    36.111110     -3.222222    65.000000   
max       142.555560     9.888889    82.000000     24.666666   150.888890   

       SATURATION-MEAN     HUE-MEAN  
count      2100.000000  2100.000000  
mean          0.427259    -1.365147  
std           0.228458     1.544278  
min           0.000000    -3.044175  
25%           0.284934    -2.188539  
50%           0.375064    -2.052625  
75%           0.540228    -1.565745  
max           1.000000     2.912480  
       REGION-CENTROID-COL  REGION-CENTROID-ROW  REGION-PIXEL-COUNT  \
count          2100.000000          2100.000000              2100.0   
mean              0.489883             0.468681                 9.0   
std               0.287979             0.239298                 0.0   
min               0.000000             0.000000                 9.0   
25%               0.241107             0.291667                 9.0   
50%               0.474308             0.462500                 9.0   
75%               0.740119             0.667708                 9.0   
max               1.000000             1.000000                 9.0   

       SHORT-LINE-DENSITY-5  SHORT-LINE-DENSITY-2   VEDGE-MEAN     VEDGE-SD  \
count           2100.000000           2100.000000  2100.000000  2100.000000   
mean               0.044762              0.020476     0.064705     0.005756   
std                0.123071              0.106079     0.090666     0.045365   
min                0.000000              0.000000     0.000000     0.000000   
25%                0.000000              0.000000     0.024715     0.000353   
50%                0.000000              0.000000     0.043726     0.000840   
75%                0.000000              0.000000     0.076046     0.001822   
max                1.000000              1.000000     1.000000     1.000000   

        HEDGE-MEAN     HEDGE-SD  INTENSITY-MEAN  RAWRED-MEAN  RAWBLUE-MEAN  \
count  2100.000000  2100.000000     2100.000000  2100.000000   2100.000000   
mean      0.053816     0.005702        0.258272     0.239271      0.292968   
std       0.077589     0.038570        0.265854     0.255228      0.288359   
min       0.000000     0.000000        0.000000     0.000000      0.000000   
25%       0.018634     0.000304        0.052091     0.051053      0.064065   
50%       0.032298     0.000714        0.151046     0.143436      0.184094   
75%       0.057143     0.001624        0.371418     0.345219      0.430781   
max       1.000000     1.000000        1.000000     1.000000      1.000000   

       RAWGREEN-MEAN   EXRED-MEAN  EXBLUE-MEAN  EXGREEN-MEAN   VALUE-MEAN  \
count    2100.000000  2100.000000  2100.000000   2100.000000  2100.000000   
mean        0.239421     0.620323     0.359133      0.429304     0.299309   
std         0.254664     0.194578     0.208102      0.198222     0.284319   
min         0.000000     0.000000     0.000000      0.000000     0.000000   
25%         0.043648     0.521922     0.177353      0.288425     0.078056   
50%         0.143414     0.651119     0.340000      0.390892     0.189985   
75%         0.325409     0.763060     0.514118      0.523719     0.430781   
max         1.000000     1.000000     1.000000      1.000000     1.000000   

       SATURATION-MEAN     HUE-MEAN  
count      2100.000000  2100.000000  
mean          0.427259     0.281874  
std           0.228458     0.259252  
min           0.000000     0.000000  
25%           0.284934     0.143644  
50%           0.375064     0.166461  
75%           0.540228     0.248198  
max           1.000000     1.000000  
       label  class
0      GRASS      0
1      GRASS      0
2      GRASS      0
3      GRASS      0
4      GRASS      0
5      GRASS      0
6      GRASS      0
7      GRASS      0
8      GRASS      0
9      GRASS      0
10     GRASS      0
11     GRASS      0
12     GRASS      0
13     GRASS      0
14     GRASS      0
15     GRASS      0
16     GRASS      0
17     GRASS      0
18     GRASS      0
19     GRASS      0
20     GRASS      0
21     GRASS      0
22     GRASS      0
23     GRASS      0
24     GRASS      0
25     GRASS      0
26     GRASS      0
27     GRASS      0
28     GRASS      0
29     GRASS      0
...      ...    ...
2070    PATH      1
2071    PATH      1
2072  WINDOW      2
2073  WINDOW      2
2074  WINDOW      2
2075  WINDOW      2
2076  WINDOW      2
2077  WINDOW      2
2078  WINDOW      2
2079  WINDOW      2
2080  WINDOW      2
2081  WINDOW      2
2082  WINDOW      2
2083  WINDOW      2
2084  WINDOW      2
2085  WINDOW      2
2086  WINDOW      2
2087  WINDOW      2
2088  WINDOW      2
2089  WINDOW      2
2090  WINDOW      2
2091  WINDOW      2
2092  WINDOW      2
2093  CEMENT      3
2094  CEMENT      3
2095  CEMENT      3
2096  CEMENT      3
2097  CEMENT      3
2098  CEMENT      3
2099  CEMENT      3

[2100 rows x 2 columns]

Using Kmeans

In [13]:
# Implementing Kmeans from sklearn
y_pred = KMeans(n_clusters=7, random_state=33).fit_predict(data)
kmeans = KMeans()
kmeans.fit_predict(data)
Out[13]:
array([3, 3, 3, ..., 7, 7, 0])
In [14]:
print 'Centoids: \n:', kmeans.cluster_centers_
Centoids: 
: [[  2.66067793e-01   3.85492424e-01   9.00000000e+00   7.67676746e-02
    2.12121212e-02   7.98421515e-02   4.24663623e-03   6.28383167e-02
    5.14115240e-03   1.54919455e-01   1.44074458e-01   1.93718481e-01
    1.24041661e-01   7.09628001e-01   3.54360076e-01   3.46173325e-01
    1.93975097e-01   4.25887844e-01   1.97267894e-01]
 [  5.35098814e-01   1.50166667e-01   9.00000000e+00   2.77777769e-02
    1.66666667e-03   3.02281387e-02   5.42887957e-04   2.67660451e-02
    5.86661900e-04   8.23246433e-01   7.79716377e-01   8.94170356e-01
    7.88760696e-01   2.70665440e-01   6.66372551e-01   2.89386481e-01
    8.94170356e-01   2.11804171e-01   1.25065773e-01]
 [  7.52265126e-01   5.32705128e-01   9.00000000e+00   3.99999988e-02
    3.38461538e-02   1.10336359e-01   1.41035712e-02   1.06809355e-01
    1.54142562e-02   3.00861595e-01   2.79690816e-01   3.52871870e-01
    2.65704173e-01   5.91750869e-01   4.52191858e-01   3.08270342e-01
    3.52955704e-01   3.02475106e-01   1.64674515e-01]
 [  5.13993692e-01   8.08936588e-01   9.00000000e+00   7.74410751e-02
    5.05050505e-03   5.44737633e-02   1.40719343e-03   4.63349822e-02
    1.40097198e-03   1.08789943e-01   9.14029557e-02   9.24140773e-02
    1.42676436e-01   6.79161019e-01   7.90017879e-02   8.21286885e-01
    1.34900800e-01   4.14491323e-01   8.92332630e-01]
 [  3.02489781e-01   5.32371795e-01   9.00000000e+00   5.27065511e-02
    4.48717949e-02   1.01182936e-01   9.48264629e-03   8.40154954e-02
    1.11164652e-02   4.01836307e-01   3.71642496e-01   4.73720152e-01
    3.54164576e-01   4.97217448e-01   5.71322275e-01   2.12272354e-01
    4.73720152e-01   3.01140161e-01   1.63936224e-01]
 [  8.20975220e-01   3.90384615e-01   9.00000000e+00   1.92307687e-02
    3.84615385e-02   5.68057202e-02   1.24900031e-02   3.14440976e-02
    6.78120274e-03   4.82171955e-02   3.69654660e-02   7.20091760e-02
    3.37812511e-02   7.40860007e-01   2.57200230e-01   4.71117371e-01
    7.26216434e-02   6.98691234e-01   1.83818522e-01]
 [  2.33870249e-01   4.56986216e-01   9.00000000e+00   2.63157887e-02
    1.31578947e-02   3.82086408e-02   2.39853690e-03   2.81604614e-02
    1.96496537e-03   2.52655270e-02   1.63140837e-02   4.20205521e-02
    1.61012425e-02   7.64069693e-01   2.18045117e-01   5.10664722e-01
    4.29313341e-02   8.14264730e-01   1.74144577e-01]
 [  5.68040655e-01   5.08928571e-01   9.00000000e+00   7.14285693e-03
    7.14285714e-03   1.97854434e-02   4.77200179e-04   1.48713388e-02
    1.00377064e-03   2.43093216e-02   2.83572588e-02   2.79823269e-02
    1.64903680e-02   8.54157784e-01   1.55117652e-01   5.20534035e-01
    2.95287187e-02   2.81163316e-01   3.41843742e-01]]
In [ ]:
# plotting kmeans clusters vs actual
plt.figure(figsize=(12, 12))
plt.subplot(221)
plt.scatter(data[:, 9], data[:, 14], c= y_pred)
plt.ylabel(str(colnames[9]))
plt.xlabel(str(colnames[14])) 
plt.title('KMeans')
plt.subplot(222)
plt.scatter(data[:, 9], data[:, 14], c= np.asarray(y['class']))
plt.xlabel(str(colnames[14])) 
plt.title('Actual')
plt.subplot(223)
plt.scatter(data[:, 0], data[:, 9], c= y_pred)
plt.ylabel(str(colnames[0]))
plt.xlabel(str(colnames[9])) 
plt.subplot(224)
plt.scatter(data[:, 0], data[:, 9], c= np.asarray(y['class']))
plt.xlabel(str(colnames[9])) 
#plt.show()
plt.savefig("kmeans1.png")


plt.figure(figsize=(12, 12))
plt.subplot(221)
plt.scatter(data[:, 11], data[:, 18], c= y_pred)
plt.ylabel(str(colnames[11]))
plt.xlabel(str(colnames[18])) 
plt.title('KMeans')
plt.subplot(222)
plt.scatter(data[:, 11], data[:, 18], c= np.asarray(y['class']))
plt.xlabel(str(colnames[18])) 
plt.title('Actual')
plt.subplot(223)
plt.scatter(data[:, 16], data[:, 1], c= y_pred)
plt.ylabel(str(colnames[16]))
plt.xlabel(str(colnames[1])) 
plt.subplot(224)
plt.scatter(data[:, 16], data[:, 1], c= np.asarray(y['class']))
plt.xlabel(str(colnames[1])) 
#plt.show()
plt.savefig("kmeans2.png")
In [22]:
Image(filename='kmeans1.png')
Out[22]:
In [21]:
Image(filename='kmeans2.png')
Out[21]:

Implementing Dimensionality reduction using PCA

In [8]:
# setting PCA from sklearn decomposition package
pca = decomposition.PCA(n_components=len(colnames))
# reducing dimensionality 
DTtrans = pca.fit(data).transform(data)

# variance captured by component
print 'Variance ratio: \n', pca.explained_variance_ratio_ , '\n'

# we need to take the first 6 component to get 95% of the variance
print '\nVariance Captured with 6 components %0.3f' % sum(pca.explained_variance_ratio_[:6])
print 'Variance Captured with 7 components %0.3f \n' % sum(pca.explained_variance_ratio_[:7])


np.set_printoptions(precision=2,suppress=True)
print '\nData in lower dimension:\n', DTtrans
Variance ratio: 
[ 0.61  0.13  0.1   0.05  0.04  0.02  0.02  0.02  0.01  0.01  0.    0.    0.
  0.    0.    0.    0.    0.    0.  ] 


Variance Captured with 6 components 0.941
Variance Captured with 7 components 0.960 


Data in lower dimension:
[[-0.69  0.53 -0.25 ...,  0.    0.    0.  ]
 [-0.67  0.51 -0.34 ..., -0.   -0.    0.  ]
 [-0.71  0.77  0.16 ..., -0.    0.    0.  ]
 ..., 
 [-0.51 -0.13  0.08 ...,  0.    0.    0.  ]
 [-0.48 -0.09  0.16 ...,  0.    0.    0.  ]
 [-0.44 -0.11  0.05 ...,  0.    0.    0.  ]]

Kmeas in lower dimension

In [9]:
y_pred = KMeans(n_clusters=7, random_state=33).fit_predict(DTtrans[:,:7])
kmeans = KMeans()
kmeans.fit_predict(DTtrans[:,:7])



print 'Centoids: \n:', kmeans.cluster_centers_

plt.figure(figsize=(12, 12))
plt.subplot(221)
plt.scatter(DTtrans[:, 1], DTtrans[:, 2], c= y_pred)
plt.ylabel('PC1')
plt.xlabel('PC2') 
plt.title('KMeans')
plt.subplot(222)
plt.scatter(DTtrans[:, 1], DTtrans[:, 2], c= np.asarray(y['class']))
plt.xlabel('PC2') 
plt.title('Actual')
plt.subplot(223)
plt.scatter(DTtrans[:, 1], DTtrans[:, 3], c= y_pred)
plt.ylabel('PC1')
plt.xlabel('PC3') 
plt.subplot(224)
plt.scatter(DTtrans[:, 1], DTtrans[:, 3], c= np.asarray(y['class']))
plt.xlabel('PC3') 
#plt.show()
#plt.savefig("kmeans_PCA_1.png")



plt.figure(figsize=(12, 12))
plt.subplot(221)
plt.scatter(DTtrans[:, 1], DTtrans[:, 4], c= y_pred)
plt.ylabel('PC1')
plt.xlabel('PC4') 
plt.title('KMeans')
plt.subplot(222)
plt.scatter(DTtrans[:, 1], DTtrans[:, 4], c= np.asarray(y['class']))
plt.xlabel('PC4') 
plt.title('Actual')
plt.subplot(223)
plt.scatter(DTtrans[:, 1], DTtrans[:, 5], c= y_pred)
plt.ylabel('PC1')
plt.xlabel('PC5') 
plt.subplot(224)
plt.scatter(DTtrans[:, 1], DTtrans[:, 5], c= np.asarray(y['class']))
plt.xlabel('PC5') 
#plt.show()
#plt.savefig("kmeans_PCA_2.png")
Centoids: 
: [[ 0.18  0.04  0.27  0.18  0.03  0.02  0.  ]
 [-0.6  -0.35 -0.12 -0.13 -0.12 -0.02 -0.04]
 [ 1.41  0.09 -0.04 -0.17 -0.03 -0.01 -0.02]
 [ 0.44 -0.11 -0.17  0.23 -0.05 -0.01  0.02]
 [-0.63  0.56 -0.41 -0.07 -0.07  0.02  0.02]
 [-0.21 -0.24 -0.15  0.06  0.13 -0.01  0.03]
 [-0.61  0.65  0.08 -0.06  0.04  0.01  0.04]
 [-0.5  -0.12  0.37 -0.1   0.02  0.   -0.02]]
Out[9]:
<matplotlib.text.Text at 0xa6d9da0>
In [11]:
Image(filename='kmeans_PCA_1.png')
Out[11]:
In [12]:
Image(filename='kmeans_PCA_2.png')
Out[12]:

Discussion

In [ ]:
''' In general kmeans seems that is doing a good job identifying categories. However there is some confussion for some topics that are "close". The images are divided into two columns. The first one to the left belongs to the clusters created by kmeans, the second column is the actual class. In the first image above  the relation between features mean intensity and exblue-mean is shown. There are some categories that are perfectly identify by kmeans colored in green and blue. But in the cluster were there is some overlap among the actual classes, kmeans seems to try to divide the space without recognizing this overlap. The same effect is posible to se in the second row with region-control-col and intensity-mean features. 

PCA helped in reducing the ammount of data that is requiered to perform the analysis and still get similar results. When dealing with lare amount of data PCA would improve the time rquiered to perform the analysis. From the images we may see that the clusters a good, but the overlap still makes hard for kmeans to assign an instance to its corresponding class 

Association Rule Discovery

In [27]:
''' Apriori implementation '''
from numpy import *

def loadDataSet():
    return [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]

def createC1(dataSet):
    C1 = []
    for transaction in dataSet:
        for item in transaction:
            if not [item] in C1:
                C1.append([item])
                
    C1.sort()
    return map(frozenset, C1)#use frozen set so we
                            #can use it as a key in a dict    

def scanD(D, Ck, minSupport):
    ssCnt = {}
    for tid in D:
        for can in Ck:
            if can.issubset(tid):
                if not ssCnt.has_key(can): ssCnt[can]=1
                else: ssCnt[can] += 1
    numItems = float(len(D))
    retList = []
    supportData = {}
    for key in ssCnt:
        support = ssCnt[key]/numItems
        if support >= minSupport:
            retList.insert(0,key)
        supportData[key] = support
    return retList, supportData

def aprioriGen(Lk, k): #creates Ck
    retList = []
    lenLk = len(Lk)
    for i in range(lenLk):
        for j in range(i+1, lenLk): 
            L1 = list(Lk[i])[:k-2]; L2 = list(Lk[j])[:k-2]
            L1.sort(); L2.sort()
            if L1==L2: #if first k-2 elements are equal
                retList.append(Lk[i] | Lk[j]) #set union
    return retList

def apriori(dataSet, minSupport = 0.5):
    C1 = createC1(dataSet)
    D = map(set, dataSet)
    L1, supportData = scanD(D, C1, minSupport)
    L = [L1]
    k = 2
    while (len(L[k-2]) > 0):
        Ck = aprioriGen(L[k-2], k)
        Lk, supK = scanD(D, Ck, minSupport)#scan DB to get Lk
        supportData.update(supK)
        L.append(Lk)
        k += 1
    return L, supportData

def generateRules(L, supportData, metric='confidence', minMetric=0.7):  #supportData is a dict coming from scanD
    bigRuleList = []
    for i in range(1, len(L)):#only get the sets with two or more items
        for freqSet in L[i]:
            H1 = [frozenset([item]) for item in freqSet]
            if (i > 1):
                rulesFromConseq(freqSet, H1, supportData, bigRuleList, metric, minMetric)
            else:
                calcMetric(freqSet, H1, supportData, bigRuleList, metric, minMetric)
    return bigRuleList         

def calcMetric(freqSet, H, supportData, brl, metric='confidence', minMetric=0.7):
    prunedH = [] #create new list to return
    for conseq in H:
		conf = supportData[freqSet]/supportData[freqSet-conseq] #calc confidence
		lift = conf/supportData[conseq] #calc lift
		if (metric == 'confidence'):
			if (conf >= minMetric): 
				print freqSet-conseq,'-->',conseq,'conf:',conf,' lift:',lift
				brl.append((freqSet-conseq, conseq, conf, lift))
				prunedH.append(conseq)
		elif (metric == 'lift'):
			if (lift >= minMetric): 
				print freqSet-conseq,'-->',conseq,'conf:',conf,' lift:',lift
				brl.append((freqSet-conseq, conseq, conf, lift))
				prunedH.append(conseq)
    return prunedH

def rulesFromConseq(freqSet, H, supportData, brl, metric='confidence', minMetric=0.7):
    m = len(H[0])
    if (len(freqSet) > (m + 1)): #try further merging
        Hmp1 = aprioriGen(H, m+1)#create Hm+1 new candidates
        Hmp1 = calcMetric(freqSet, Hmp1, supportData, brl, metric, minMetric)
        if (len(Hmp1) > 1):    #need at least two sets to merge
            rulesFromConseq(freqSet, Hmp1, supportData, brl, metric, minMetric)
            
def pntRules(ruleList, itemMeaning):
    for ruleTup in ruleList:
        for item in ruleTup[0]:
            print itemMeaning[item]
        print "           -------->"
        for item in ruleTup[1]:
            print itemMeaning[item]
        print "[confidence: %f, lift: %f]" % (ruleTup[2], ruleTup[3])
        print       #print a blank line
        

Loading data

In [14]:
# loading playlists
fil = open('playlists.txt', 'r') 
lines = fil.readlines()
fil.close()
#building playlist data
l  = lines[0]
ll = l.replace('\n','').strip().split(' ')
playlist = []
for line in lines:
    line = line.replace('\n','').strip().split(' ')
    temp = []
    for li in line:
        temp.append(int(li))
    playlist.append(temp)

playlist
ply = np.asarray(playlist)
print 'Playlists: \n',ply


# loading song names


fi = open('song_names.txt', 'r')
lines = fi.readlines()
fi.close()

#Building song names 
songs = {}
for line in lines:
    li = line.replace('\n','').strip().split('\t')
    # spliting artist name from song title
    song = li[-1].split('::')
    # storing artist name and song title
    temp = []
    temp.append(song[1])
    temp.append(song[0])
    # creating key for the song/artist data
    songs[int(li[0])] = temp  

print '\nSongs examples:\n',songs[1]
print songs[1345]
Playlists: 
[[0, 1, 2, 3, 4, 5, 6, 7, 8] [9, 10, 11] [12, 13, 14, 15] ...,
 [1735, 104, 2422, 2235, 31, 1721, 41, 2346, 2420, 193, 11, 48, 196, 195, 1694, 39, 480, 29, 40]
 [2422, 31, 2418, 188, 2338] [2347]]

Songs examples:
['Rick-Ross', 'Aston-Martin-Music']
['The-Greg-Kihn-Band', 'Breakup-Song']
In [29]:
songs
Out[29]:
{0: ['Gucci-Mane', 'Gucci-Time'],
 1: ['Rick-Ross', 'Aston-Martin-Music'],
 2: ['T.I.', 'Get-Back-Up'],
 3: ['Usher', 'Hot-Toddy'],
 4: ['Willow', 'Whip-My-Hair'],
 5: ['Jeremih', 'Down-On-Me'],
 6: ['Wiz-Khalifa', 'Black-And-Yellow'],
 7: ['Soulja-Boy', 'Blowing-Me-Kisses'],
 8: ['Lloyd', 'Lay-It-Down'],
 9: ['Rihanna', "Who's-That-Chick"],
 10: ['Far-East-Movement', 'Like-A-G6'],
 11: ['Usher', "DJ-Got-Us-Fallin'-In-Love"],
 12: ['Miguel', 'All-I-Wants-Is-You'],
 13: ['Ne-Yo', 'Champagne-Life'],
 14: ['Drake', 'Find-Your-Love'],
 15: ['Nicki-Minaj', 'Your-Love'],
 16: ['Outkast', 'Ms.-Jackson'],
 17: ['Maxi-Priest', 'Close-To-You'],
 18: ['Nicki-Minaj', 'Right-Thru-Me'],
 19: ['Usher', 'You-Make-Me-Wanna...'],
 20: ['Rihanna', "What's-My-Name"],
 21: ['Ne-Yo', 'One-In-A-Million'],
 22: ['Will.I.Am', 'Check-It-Out'],
 23: ['Mary-J.-Blige', 'Be-Without-You'],
 24: ['Trey-Songz', 'Bottoms-Up'],
 25: ['Usher', 'There-Goes-My-Baby'],
 26: ['Drake', 'Up-All-Night'],
 27: ['Bruno-Mars', 'Liquor-Store-Blues'],
 28: ['Kanye-West', '"Monster"'],
 29: ['Bruno-Mars', 'Just-The-Way-You-Are'],
 30: ['Kanye-West', 'Runaway'],
 31: ['Eminem', 'Love-The-Way-You-Lie'],
 32: ['Black-Eyed-Peas', 'Boom-Boom-Pow'],
 33: ['Jazmine-Sullivan', "Holding-You-Down-(Goin'-In-Circles)"],
 34: ['Chris-Brown-&-Tyga', 'Deuces'],
 35: ['DJ-Khaled', '"All-I-Do-Is-Win"'],
 36: ['Sean-Kingston', 'Letting-Go-(Dutty-Love)'],
 37: ['Fabolous', 'You-Be-Killin-Em'],
 38: ['Drake', 'Fancy'],
 39: ['Rihanna', 'Only-Girl-(In-The-World)'],
 40: ['Katy-Perry', 'California-Gurls'],
 41: ['Taio-Cruz', 'Dynamite'],
 42: ['Taio-Cruz', 'Break-Your-Heart'],
 43: ['Usher', 'OMG'],
 44: ['Chris-Brown', 'Yeah-3X'],
 45: ['Justin-Bieber', 'Somebody-To-Love'],
 46: ['Jeremih', 'I-Like'],
 47: ['B.o.B', 'Airplanes'],
 48: ['Jason-Mraz', "I'm-Yours"],
 49: ['Owl-City', 'Fireflies'],
 50: ['Jamie-Foxx', 'Blame-It'],
 51: ['Alicia-Keys', "Un-Thinkable-(I'm-Ready)"],
 52: ['Sade', 'Soldier-Of-Love'],
 53: ['John-Legend-&-The-Roots', 'Wake-Up-Everybody'],
 54: ['Beyonce', 'Single-Ladies-(Put-A-Ring-On-It)'],
 55: ['Mariah-Carey', 'We-Belong-Together'],
 56: ['Ludacris', 'My-Chick-Bad'],
 57: ['Gyptian', 'Hold-Yuh'],
 58: ['Usher', 'Lil-Freak'],
 59: ['J.-Holiday', 'Bed'],
 60: ['Usher', 'U-Got-It-Bad-'],
 61: ['Beyonce', 'Halo'],
 62: ['B.o.B.', 'Nothing-On-You'],
 63: ['Usher', 'Yeah'],
 64: ['Puff-Daddy-&-The-Family', "I'll-Be-Missing-You"],
 65: ['2Pac', 'Changes'],
 66: ['Tarrus-Riley', "She's-Royal"],
 67: ['Trey-Songz', "Can't-Be-Friends"],
 68: ['The-Notorious-B.I.G.', 'Hypnotize'],
 69: ['Tanto-Metro-&-Devonte', 'Everyone-Falls-In-Love'],
 70: ['Rick-Ross', "Blowin'-Money-Fast-(B.M.F.)"],
 71: ['Jason-DeRulo', 'Whatcha-Say'],
 72: ['Jason-DeRulo', "Ridin'-Solo"],
 73: ['Trey-Songz', 'Say-Aah'],
 74: ['Flo-Rida', "Club-Can't-Handle-Me"],
 75: ['Lil-Wayne', 'Right-Above-It'],
 76: ['Travie-McCoy', 'Billionaire'],
 77: ['Drake', '"Forever"'],
 78: ['Pitbull', 'Hey-Baby-(Drop-It-To-The-Floor)'],
 79: ['Eminem', 'No-Love'],
 80: ['Waka-Flocka-Flame', 'No-Hands'],
 81: ['Plies', 'Shawty'],
 82: ['Britt-Nicole', 'Hanging-On'],
 83: ['Drake', 'Over'],
 84: ['Kanye-West', 'Stronger'],
 85: ['The-Game', 'Hate-It-Or-Love-It'],
 86: ["Lil'-Jon-&-The-Eastside-Boyz", 'Get-Low'],
 87: ['Musical-Youth', 'Pass-The-Dutchie'],
 88: ['T-Pain', "I'm-Sprung"],
 89: ['Keri-Hilson', 'Pretty-Girl-Rock'],
 90: ['Ciara', 'Ride'],
 91: ['Edward-Maya', 'Stereo-Love'],
 92: ['Joe', 'I-Wanna-Know'],
 93: ['Timbaland', 'Say-Something'],
 94: ['Akon', 'Beautiful'],
 95: ['Dr.-Dre', "Nuthin'-But-A-G-Thang"],
 96: ['Young-Jeezy', 'Lose-My-Mind'],
 97: ['The-Notorious-B.I.G.', 'Mo-Money-Mo-Problems'],
 98: ['Ne-Yo', 'Sexy-Love'],
 99: ['Usher', 'Confessions-Part-II'],
 100: ['Drake', 'Best-I-Ever-Had'],
 101: ['Sean-Paul', 'Temperature'],
 102: ['T.I.', 'Got-Your-Back'],
 103: ['Chino-&-Nacho', 'Nina-Bonita'],
 104: ['Nelly', 'Just-A-Dream'],
 105: ['Tanya-Stephens', "It's-A-Pity"],
 106: ['Pink', 'So-What'],
 107: ['Rihanna', 'Rude-Boy'],
 108: ['Luther-Vandross', 'Here-And-Now'],
 109: ['Mindi-Abair', 'Come-As-You-Are'],
 110: ['Walter-Beasley', 'Oh-Yeah'],
 111: ['Bernie-Williams', 'Ritmo-De-Otono'],
 112: ['Stevie-Wonder', 'Superstition'],
 113: ['Yvonne-Elliman', "If-I-Can't-Have-You"],
 114: ['Hezekiah-Walker', 'God-Favored-Me-(Part-I)'],
 115: ['Marvin-Sapp', 'He-Has-His-Hands-On-You'],
 116: ['Brian-Culbertson', 'Go'],
 117: ['Kyle-Wolverton', "Can't-Stop-The-Feeling"],
 118: ['Nick-Colionne', 'Always-Thinking-Of-You'],
 119: ['David-Benoit', 'Botswana-Bossa-Nova'],
 120: ['Ramsey-Lewis', 'The-In-Crowd'],
 121: ['La-Original-Banda-El-Limon', 'Derecho-De-Antiguedad'],
 122: ['Pitbull', 'Bon-Bon'],
 123: ['Titanes-De-Durango', 'Soy-Enamorado'],
 124: ['Chuy-Lizarraga-Y-Su-Banda-Tierra-Sinaloense',
  'La-Peinada-(La-Peinadita)'],
 125: ['Banda-Los-Recoditos', 'La-Escuelita'],
 126: ['Banda-El-Recodo-De-Don-Cruz-Lizarraga', 'Me-Gusta-Todo-De-Ti'],
 127: ['Cumbre-Nortena', 'Te-Amo'],
 128: ['Viento-Y-Sol', 'Par-De-Anillos'],
 129: ['Grupo-Montez-De-Durango', 'Espero'],
 130: ['Tierra-Cali', 'Amor-Te-Amo'],
 131: ['Intocable', 'Ensename-A-Olvidarte'],
 132: ['La-Original-Banda-Limon', 'Al-Menos'],
 133: ['War', 'Low-Rider'],
 134: ['El-Trono-De-Mexico', 'Te-Ves-Fatal'],
 135: ['Jenni-Rivera', 'Culpable-O-Inocente'],
 136: ['Dorrough-Music', 'Ice-Cream-Paint-Job'],
 137: ['Dr.-Dre', 'The-Next-Episode'],
 138: ['2Pac', 'How-Do-U-Want-It'],
 139: ['Black-Eyed-Peas', 'Imma-Be'],
 140: ['2Pac', 'California-Love'],
 141: ['2Pac', 'I-Get-Around'],
 142: ['Spencer-Day', 'Till-You-Come-To-Me'],
 143: ['Kenny-Lattimore', 'And-I-Love-Her'],
 144: ['Kenny-G', 'Fall-Again'],
 145: ['Kanye-West', 'Heartless'],
 146: ['Black-Eyed-Peas', 'I-Gotta-Feeling'],
 147: ['Keri-Hilson', 'Knock-You-Down'],
 148: ['T.I.', 'Whatever-You-Like'],
 149: ['Jesse-Cook', 'Bogota-By-Bus'],
 150: ['Paul-Brown', 'The-Rhythm-Method'],
 151: ['Rick-Braun', 'Tijuana-Dance'],
 152: ['Alicia-Keys', 'No-One'],
 153: ['Chris-Brown', 'With-You'],
 154: ['Sade', 'Babyfather'],
 155: ['Corinne-Bailey-Rae', 'Closer'],
 156: ['Rick-Braun', 'Christiane'],
 157: ['El-Trono-De-Mexico', 'Te-Recordare'],
 158: ['Banda-MS', 'Increible'],
 159: ['Grupo-Bryndis', '"Quizas-Si,-Quizas-No"'],
 160: ['Sergio-Vega', 'Millonario-De-Amor'],
 161: ['Paul-Brown-&-Marc-Antoine', 'Brother-Earl'],
 162: ['Ne-Yo', 'Mad'],
 163: ['Jay-Z', 'Empire-State-Of-Mind'],
 164: ['Twista', "Let's-Make-A-Movie"],
 165: ['Bobby-McFerrin', 'Say-Ladeo'],
 166: ['Peter-White', 'Bueno-Funk'],
 167: ['Corinne-Bailey-Rae', 'Put-Your-Records-On'],
 168: ['KT-Tunstall', 'Suddenly-I-See'],
 169: ['KT-Tunstall', 'Fade-Like-A-Shadow'],
 170: ['Robert-Plant', 'Angel-Dance'],
 171: ['Jay-Soto', 'Groovalicious'],
 172: ['The-Philippe-Saisse-Trio', 'Do-It-Again'],
 173: ['The-Jazzmasters', 'Touch-And-Go'],
 174: ['Chris-Standring', 'Bossa-Blue'],
 175: ['Norman-Brown', 'Sending-My-Love'],
 176: ['Eric-Darius', 'Uptown-Swagger'],
 177: ['Paul-Brown', '24\\/7'],
 178: ['The-Rolling-Stones', 'Gimme-Shelter'],
 179: ['The-Rolling-Stones', "(I-Can't-Get-No)-Satisfaction"],
 180: ['The-Rolling-Stones', "Jumpin'-Jack-Flash"],
 181: ['The-Rolling-Stones', 'Beast-Of-Burden'],
 182: ['The-Bellamy-Brothers', 'Redneck-Girl'],
 183: ['Johnny-Paycheck', 'Take-This-Job-And-Shove-It'],
 184: ['Selena', 'Amor-Prohibido'],
 185: ["Booker-T.-&-The-MG's", 'Green-Onions'],
 186: ['Shakira', 'She-Wolf-\\/-Loba'],
 187: ['Nelly-Furtado', 'Say-It-Right'],
 188: ['OneRepublic-&-Timbaland', 'Apologize'],
 189: ['Cee-Lo-Green', 'F**k-You'],
 190: ['Linkin-Park', 'Shadow-Of-The-Day'],
 191: ['Pitbull', 'Hotel-Room-Service'],
 192: ['Selena', 'Baila-Esta-Cumbia'],
 193: ['Kesha', 'Tick-Tock'],
 194: ['Nickelback', 'Rockstar'],
 195: ['Mike-Posner', "Please-Don't-Go"],
 196: ['Katy-Perry', 'Teenage-Dream'],
 197: ['Lady-Gaga', 'Poker-Face'],
 198: ['Willie-Nelson', 'Whiskey-River'],
 199: ['Lady-Gaga', 'Alejandro'],
 200: ['Michael-Jackson', 'The-Way-You-Make-Me-Feel'],
 201: ['50-Cent', 'In-Da-Club'],
 202: ['The-Temper-Trap', 'Sweet-Disposition'],
 203: ['The-Beatles', 'Let-It-Be'],
 204: ['Led-Zeppelin', 'Black-Dog'],
 205: ['Marvin-Gaye', "Let's-Get-It-On"],
 206: ['Ozzy-Osbourne', 'Flying-High-Again'],
 207: ['Days-Of-The-New', '"Touch,-Peel-&-Stand"'],
 208: ['Nirvana', 'In-Bloom'],
 209: ['Rise-Against', 'Savior'],
 210: ['Kid-Rock', 'Bawitdaba'],
 211: ['Finger-Eleven', 'Paralyzer'],
 212: ['Godsmack', 'Love-Hate-Sex-Pain'],
 213: ['The-Red-Hot-Chili-Peppers', 'Other-Side'],
 214: ['Bush', 'Comedown'],
 215: ['Three-Days-Grace', 'World-So-Cold'],
 216: ['Chevelle', 'The-Red'],
 217: ['Metallica', 'Welcome-Home-(Sanitarium)'],
 218: ['Shinedown', 'Sound-Of-Madness'],
 219: ['Foo-Fighters', 'Learn-To-Fly'],
 220: ['Five-Finger-Death-Punch', 'Far-From-Home'],
 221: ['Pantera', 'Walk'],
 222: ['Disturbed', 'Another-Way-To-Die'],
 223: ['Audioslave', 'Like-A-Stone'],
 224: ['Saving-Abel', 'The-Sex-Is-Good'],
 225: ['Linkin-Park', 'Breaking-The-Habit'],
 226: ['Rage-Against-The-Machine', 'Guerrilla-Radio'],
 227: ['Theory-Of-A-Deadman', 'Bad-Girlfriend'],
 228: ['Staind', "It's-Been-Awhile"],
 229: ['The-Offspring', 'Gotta-Get-Away'],
 230: ['Stone-Sour', "Say-You'll-Haunt-Me"],
 231: ['Tool', 'Stinkfist'],
 232: ['Foo-Fighters', 'Everlong'],
 233: ['Megadeth', 'Angry-Again'],
 234: ['Metallica', 'The-Memory-Remains'],
 235: ['Tool', 'H.'],
 236: ['Nine-Inch-Nails', 'Head-Like-A-Hole'],
 237: ['Alice-In-Chains', 'Your-Decision'],
 238: ['Staind', 'For-You'],
 239: ['Bush', 'Machinehead'],
 240: ['Danzig', 'Mother'],
 241: ['Green-Day', 'When-I-Come-Around'],
 242: ['Avenged-Sevenfold', 'Nightmare'],
 243: ['Blur', 'Song-2'],
 244: ['Marilyn-Manson', 'The-Beautiful-People'],
 245: ['Mudvayne', 'Scream-With-Me'],
 246: ['Beck', 'Loser'],
 247: ['Papa-Roach', 'Getting-Away-With-Murder'],
 248: ['Everlast', "What-It's-Like"],
 249: ['Ozzy-Osbourne', "Mama-I'm-Coming-Home"],
 250: ['The-Red-Hot-Chili-Peppers', 'Dani-California'],
 251: ['Alice-In-Chains', 'Man-In-The-Box'],
 252: ['Drowning-Pool', 'Bodies'],
 253: ['The-Jimi-Hendrix-Experience', 'All-Along-The-Watchtower'],
 254: ['System-Of-A-Down', 'Chop-Suey!'],
 255: ['3-Doors-Down', 'Kryptonite'],
 256: ['Rage-Against-The-Machine', 'Bulls-On-Parade'],
 257: ['Five-Finger-Death-Punch', 'Bad-Company'],
 258: ['The-White-Stripes', 'Seven-Nation-Army'],
 259: ['Powerman-5000', 'When-Worlds-Collide'],
 260: ['Skid-Row', '18-And-Life'],
 261: ['The-Red-Hot-Chili-Peppers', 'Under-The-Bridge'],
 262: ['Sick-Puppies', "You're-Going-Down"],
 263: ['Motley-Crue', 'Kickstart-My-Heart'],
 264: ['Fuel', 'Hemorrhage-(In-My-Hands)'],
 265: ['Breaking-Benjamin', 'I-Will-Not-Bow'],
 266: ['Rush', 'Tom-Sawyer'],
 267: ['Incubus', 'Pardon-Me'],
 268: ['Queen', 'Bohemian-Rhapsody'],
 269: ['Bush', 'Little-Things'],
 270: ['Pearl-Jam', 'Daughter'],
 271: ['AC\\/DC', 'Dirty-Deeds-Done-Dirt-Cheap'],
 272: ['Nirvana', 'Smells-Like-Teen-Spirit'],
 273: ['Metallica', 'The-Unforgiven-II'],
 274: ['Skillet', 'Monster'],
 275: ['Pink-Floyd', 'Hey-You'],
 276: ['The-Offspring', "The-Kids-Aren't-Alright"],
 277: ['Korn', 'Make-Me-Bad'],
 278: ['System-Of-A-Down', 'Toxicity'],
 279: ['Green-Day', 'Longview'],
 280: ['Three-Days-Grace', 'Break'],
 281: ['Tool', 'Forty-Six-&-2'],
 282: ['Stone-Temple-Pilots', 'Interstate-Love-Song'],
 283: ['P.O.D.', 'Alive'],
 284: ['Black-Sabbath', 'Paranoid'],
 285: ['My-Darkest-Days', 'Porn-Star-Dancing'],
 286: ['Nine-Inch-Nails', 'Closer'],
 287: ['AC\\/DC', 'You-Shook-Me-All-Night-Long'],
 288: ['Alice-In-Chains', 'Them-Bones'],
 289: ['Rage-Against-The-Machine', 'People-Of-The-Sun'],
 290: ['Seether', 'Fine-Again'],
 291: ['Pearl-Jam', 'Black'],
 292: ['Scorpions', 'No-One-Like-You'],
 293: ['The-Red-Hot-Chili-Peppers', 'By-The-Way'],
 294: ['Disturbed', 'Down-With-The-Sickness'],
 295: ['Nirvana', 'Rape-Me'],
 296: ['Metallica', 'One'],
 297: ['Marilyn-Manson', 'Sweet-Dreams-(Are-Made-Of-This)'],
 298: ['Rage-Against-The-Machine', 'Killing-In-The-Name'],
 299: ['Bush', 'Glycerine'],
 300: ['Queen', 'Another-One-Bites-The-Dust'],
 301: ['Pearl-Jam', 'Alive'],
 302: ['Staind', 'Mudshovel'],
 303: ['Soundgarden', 'Fell-On-Black-Days'],
 304: ['The-Beastie-Boys', "So-What'Cha-Want"],
 305: ['Bon-Jovi', "Livin'-On-A-Prayer"],
 306: ['Sublime', 'What-I-Got'],
 307: ['The-Beastie-Boys', 'Brass-Monkey'],
 308: ['Van-Halen', 'Eruption'],
 309: ['Van-Halen', 'You-Really-Got-Me'],
 310: ['Bush', 'Everything-Zen'],
 311: ['10-Years', 'Wasteland'],
 312: ['Toadies', 'Possum-Kingdom'],
 313: ['AC\\/DC', "Hell's-Bells"],
 314: ['Nirvana', 'Lithium'],
 315: ['A-Perfect-Circle', 'Judith'],
 316: ['Bon-Jovi', 'Wanted-Dead-Or-Alive'],
 317: ['Metallica', 'Fuel'],
 318: ["Guns-N'-Roses", 'Welcome-To-The-Jungle'],
 319: ['Soundgarden', 'Black-Hole-Sun'],
 320: ['The-Offspring', 'Gone-Away'],
 321: ['Puddle-Of-Mudd', 'Control'],
 322: ['Iron-Maiden', 'The-Number-Of-The-Beast'],
 323: ['3-Doors-Down', "When-I'm-Gone"],
 324: ['AC\\/DC', 'T.N.T.'],
 325: ['Hoobastank', 'Crawling-In-The-Dark'],
 326: ['311', 'Down'],
 327: ['Pink-Floyd', 'Comfortably-Numb'],
 328: ['Chevelle', 'Send-The-Pain-Below'],
 329: ['AC\\/DC', "Rock-And-Roll-Ain't-Noise-Pollution"],
 330: ['The-Red-Hot-Chili-Peppers', 'Scar-Tissue'],
 331: ['White-Zombie', "Thunder-Kiss-'65"],
 332: ['Puddle-Of-Mudd', 'Blurry'],
 333: ['Led-Zeppelin', 'Stairway-To-Heaven'],
 334: ['Trapt', 'Headstrong'],
 335: ['AC\\/DC', 'Thunderstruck'],
 336: ['Metallica', 'Harvester-Of-Sorrow'],
 337: ['Ram-Jam', 'Black-Betty'],
 338: ['Rob-Zombie', 'Living-Dead-Girl'],
 339: ['The-Red-Hot-Chili-Peppers', "Can't-Stop"],
 340: ['The-Beastie-Boys', 'No-Sleep-Till-Brooklyn'],
 341: ['Def-Leppard', 'Pour-Some-Sugar-On-Me'],
 342: ['Candlebox', 'Far-Behind'],
 343: ['Filter', 'Hey-Man-Nice-Shot'],
 344: ['P.O.D.', 'Youth-Of-The-Nation'],
 345: ['Stone-Temple-Pilots', 'Vasoline'],
 346: ['Rage-Against-The-Machine', 'Testify'],
 347: ['Cold', 'Stupid-Girl'],
 348: ['Ted-Nugent', 'Stranglehold'],
 349: ['Tool', 'Aenema'],
 350: ['The-Red-Hot-Chili-Peppers', 'Soul-To-Squeeze'],
 351: ['AC\\/DC', 'Back-In-Black'],
 352: ['The-Beastie-Boys', 'Sabotage'],
 353: ['Rob-Zombie', 'Dragula'],
 354: ['Stabbing-Westward', 'Save-Yourself'],
 355: ['Nirvana', 'Dumb'],
 356: ['Stone-Temple-Pilots', 'Big-Empty'],
 357: ['Korn', 'Falling-Away-From-Me'],
 358: ['Nickelback', 'How-You-Remind-Me'],
 359: ['System-Of-A-Down', 'Aerials'],
 360: ["Guns-N'-Roses", 'Civil-War'],
 361: ['Sublime', 'Wrong-Way'],
 362: ['The-Red-Hot-Chili-Peppers', 'Californication'],
 363: ['Deftones', 'Change-(In-The-House-Of-Flies)'],
 364: ['Nirvana', 'Heart-Shaped-Box'],
 365: ['AC\\/DC', 'For-Those-About-To-Rock'],
 366: ['Metallica', 'Nothing-Else-Matters'],
 367: ['Green-Day', 'Basket-Case'],
 368: ['Linkin-Park', 'Lying-From-You'],
 369: ['Incubus', 'Wish-You-Were-Here'],
 370: ['The-Dirty-Edge', 'Lay-Me-Down'],
 371: ['Skid-Row', 'Youth-Gone-Wild'],
 372: ['The-Black-Crowes', 'Hard-To-Handle'],
 373: ['Stone-Temple-Pilots', 'Creep'],
 374: ["Guns-N'-Roses", "Knockin'-On-Heaven's-Door"],
 375: ['Rage-Against-The-Machine', 'Renegades-Of-Funk'],
 376: ['Slipknot', 'Snuff'],
 377: ['Butthole-Surfers', 'Pepper'],
 378: ['Soundgarden', 'Spoonman'],
 379: ['Stone-Temple-Pilots', 'Dead-And-Bloated'],
 380: ['Metallica', 'Until-It-Sleeps'],
 381: ['Alice-In-Chains', 'Would?'],
 382: ['Stone-Temple-Pilots', 'Plush'],
 383: ['Korn', 'Got-The-Life'],
 384: ['Live', 'Lightning-Crashes'],
 385: ['Smashing-Pumpkins', 'Cherub-Rock'],
 386: ['Cake', 'The-Distance'],
 387: ['Tool', 'Sober'],
 388: ['Blink-182', 'All-The-Small-Things'],
 389: ['Soundgarden', 'Outshined'],
 390: ['Pantera', 'Cemetery-Gates'],
 391: ['Green-Day', 'Brain-Stew'],
 392: ['Godsmack', 'Whatever'],
 393: ['Pearl-Jam', 'Better-Man'],
 394: ['Metallica', 'Master-Of-Puppets'],
 395: ['Metallica', 'Wherever-I-May-Roam'],
 396: ['Megadeth', 'Symphony-Of-Destruction'],
 397: ['Nirvana', 'All-Apologies'],
 398: ['Pink-Floyd', 'Money'],
 399: ['Sixx-A.M.', 'Life-Is-Beautiful'],
 400: ['Stone-Temple-Pilots', 'Sex-Type-Thing'],
 401: ['The-Beastie-Boys', '(You-Gotta)-Fight-For-Your-Right'],
 402: ['Three-Days-Grace', 'Just-Like-You'],
 403: ['Scorpions', 'Rock-You-Like-A-Hurricane'],
 404: ['Linkin-Park', 'Given-Up'],
 405: ['Sublime', 'Santeria'],
 406: ['Metallica', 'King-Nothing'],
 407: ['The-Beastie-Boys', 'Intergalactic'],
 408: ['AC\\/DC', 'Highway-To-Hell'],
 409: ['System-Of-A-Down', 'BYOB'],
 410: ['Motley-Crue', 'Dr.-Feelgood'],
 411: ['Stone-Temple-Pilots', 'Wicked-Garden'],
 412: ['Pink-Floyd', 'Wish-You-Were-Here'],
 413: ['Linkin-Park', 'Numb'],
 414: ['Primus', 'N.I.B.'],
 415: ['White-Zombie', 'More-Human-Than-Human'],
 416: ['Faith-No-More', 'Epic'],
 417: ['Foo-Fighters', 'All-My-Life'],
 418: ['The-Offspring', 'Come-Out-And-Play'],
 419: ['Alice-In-Chains', 'Down-In-A-Hole'],
 420: ['Stone-Temple-Pilots', "Trippin'-On-A-Hole-In-A-Paper-Heart"],
 421: ['Drowning-Pool', 'Turn-So-Cold'],
 422: ['A-Day-To-Remember', 'All-I-Want'],
 423: ['Ozzy-Osbourne', "Life-Won't-Wait"],
 424: ['Sick-Puppies', 'Maybe'],
 425: ['Breaking-Benjamin', 'Lights-Out'],
 426: ['Finger-Eleven', 'Living-In-A-Dream'],
 427: ['Alice-In-Chains', 'Lesson-Learned'],
 428: ['Linkin-Park', 'New-Divide'],
 429: ['Alice-In-Chains', 'Angry-Chair'],
 430: ['Mudvayne', 'Happy?'],
 431: ['Nine-Inch-Nails', 'The-Hand-That-Feeds'],
 432: ['Metallica', 'Sad-But-True'],
 433: ['Mudvayne', 'Not-Falling'],
 434: ['Linkin-Park', 'Faint'],
 435: ['Korn', 'Freak-On-A-Leash'],
 436: ['Smashing-Pumpkins', 'Bullet-With-Butterfly-Wings'],
 437: ['Three-Days-Grace', 'Never-Too-Late'],
 438: ['Nirvana', 'Come-As-You-Are'],
 439: ['Pearl-Jam', 'Jeremy'],
 440: ['Incubus', 'Drive'],
 441: ['Black-Sabbath', 'War-Pigs'],
 442: ['The-Offspring', 'Self-Esteem'],
 443: ['Papa-Roach', 'Last-Resort'],
 444: ['Tool', 'Schism'],
 445: ['Aerosmith', 'Dream-On'],
 446: ['Led-Zeppelin', 'Immigrant-Song'],
 447: ['Pearl-Jam', 'Even-Flow'],
 448: ['Godsmack', 'I-Stand-Alone'],
 449: ['Limp-Bizkit', 'Break-Stuff'],
 450: ['Saliva', 'Click-Click-Boom'],
 451: ['Tool', 'Prison-Sex'],
 452: ['Alice-In-Chains', 'Rooster'],
 453: ['Metallica', 'Enter-Sandman'],
 454: ['Linkin-Park', 'In-The-End'],
 455: ['Ozzy-Osbourne', 'Crazy-Train'],
 456: ['Foo-Fighters', 'My-Hero'],
 457: ['The-Red-Hot-Chili-Peppers', 'Give-It-Away'],
 458: ['Linkin-Park', 'Crawling'],
 459: ['Rage-Against-The-Machine', 'Sleep-Now-In-The-Fire'],
 460: ['Ozzy-Osbourne', 'No-More-Tears'],
 461: ['Puddle-Of-Mudd', 'She-Hates-Me'],
 462: ['Metallica', 'Turn-The-Page'],
 463: ['Linkin-Park', 'One-Step-Closer'],
 464: ['Godsmack', 'Voodoo'],
 465: ['Queen', 'We-Will-Rock-You'],
 466: ['Disturbed', 'Stupify'],
 467: ['Green-Day', 'Boulevard-Of-Broken-Dreams'],
 468: ['Metallica', 'Fade-To-Black'],
 469: ['Disturbed', 'Indestructible'],
 470: ['Breaking-Benjamin', 'So-Cold'],
 471: ["Guns-N'-Roses", "Sweet-Child-O'-Mine"],
 472: ['Audioslave', 'I-Am-The-Highway'],
 473: ['Foo-Fighters', 'Best-Of-You'],
 474: ['Keith-Urban', 'Sweet-Thing'],
 475: ['Darius-Rucker', 'Come-Back-Song'],
 476: ['Gretchen-Wilson', 'Redneck-Woman'],
 477: ['Tim-McGraw', 'Felt-Good-On-My-Lips'],
 478: ['Toby-Keith', 'God-Love-Her'],
 479: ['Dierks-Bentley', 'Free-And-Easy-(Down-The-Road-I-Go)'],
 480: ['Taylor-Swift', 'Mine'],
 481: ['Montgomery-Gentry', 'Something-To-Be-Proud-Of'],
 482: ['Easton-Corbin', 'Roll-With-It'],
 483: ['Rascal-Flatts', 'Why-Wait'],
 484: ['Miranda-Lambert', 'Gunpowder-&-Lead'],
 485: ['Brad-Paisley', 'Anything-Like-Me'],
 486: ['Alan-Jackson', "Who's-Cheatin'-Who"],
 487: ['Chris-Young', 'Voices'],
 488: ['Carrie-Underwood', 'Cowboy-Casanova'],
 489: ['Justin-Moore', 'How-I-Got-To-Be-This-Way'],
 490: ['Rodney-Atkins', "Farmer's-Daughter"],
 491: ['Billy-Currington', 'People-Are-Crazy'],
 492: ['Sugarland', 'Stuck-Like-Glue'],
 493: ['Kenny-Chesney', 'The-Boys-Of-Fall'],
 494: ['Rascal-Flatts', 'These-Days'],
 495: ['Josh-Thompson', 'Way-Out-Here'],
 496: ['Big-&-Rich', 'Save-A-Horse-(Ride-A-Cowboy)'],
 497: ['Zac-Brown-Band', "As-She's-Walking-Away"],
 498: ['Toby-Keith', 'As-Good-As-I-Once-Was'],
 499: ['The-Band-Perry', 'If-I-Die-Young'],
 500: ['Luke-Bryan', 'Rain-Is-A-Good-Thing'],
 501: ['Lady-Antebellum', 'Hello-World'],
 502: ['Little-Big-Town', 'Boondocks'],
 503: ['Kenny-Chesney', "Don't-Happen-Twice"],
 504: ['Carrie-Underwood', "Mama's-Song"],
 505: ['Blake-Shelton', 'All-About-Tonight'],
 506: ['Toby-Keith', 'How-Do-You-Like-Me-Now?!'],
 507: ['Montgomery-Gentry', 'One-In-Every-Crowd'],
 508: ['Dierks-Bentley', 'Come-A-Little-Closer'],
 509: ['Jason-Aldean', 'My-Kind-Of-Party'],
 510: ['Tim-McGraw', 'Down-On-The-Farm'],
 511: ['Carrie-Underwood', 'Undo-It'],
 512: ['Billy-Currington', 'Good-Directions'],
 513: ['Steve-Holy', 'Good-Morning-Beautiful'],
 514: ['Kenny-Chesney', 'Beer-In-Mexico'],
 515: ['Tim-McGraw', 'Southern-Voice'],
 516: ['Darius-Rucker', 'Alright'],
 517: ['George-Strait', 'The-Breath-You-Take'],
 518: ['Tim-McGraw', 'Just-To-See-You-Smile'],
 519: ['Keith-Urban', 'Put-You-In-A-Song'],
 520: ['Lady-Antebellum', 'Need-You-Now'],
 521: ['Gary-Allan', 'Nothing-On-But-The-Radio'],
 522: ['Sugarland', 'Something-More'],
 523: ['George-Strait', 'Write-This-Down'],
 524: ['Keith-Urban', 'Somebody-Like-You'],
 525: ['Luke-Bryan', 'Someone-Else-Calling-You-Baby'],
 526: ['Rodney-Atkins',
  "If-You're-Going-Through-Hell-(Before-The-Devil-Even-Knows)"],
 527: ['Josh-Turner', 'All-Over-Me'],
 528: ['Craig-Morgan', 'Redneck-Yacht-Club'],
 529: ['Rascal-Flatts', 'Stand'],
 530: ['Tim-McGraw', 'Where-The-Green-Grass-Grows'],
 531: ['Carrie-Underwood', 'Before-He-Cheats'],
 532: ['Toby-Keith', 'Beer-For-My-Horses'],
 533: ['Emerson-Drive', 'Fall-Into-Me'],
 534: ['Keith-Urban', "I'm-In"],
 535: ['Brad-Paisley', "Waitin'-On-A-Woman"],
 536: ['Tim-McGraw', '"I-Like-It,-I-Love-It"'],
 537: ['Luke-Bryan', 'Do-I'],
 538: ['Trace-Adkins', "This-Ain't-No-Love-Song"],
 539: ['Lady-Antebellum', "Love-Don't-Live-Here"],
 540: ['Montgomery-Gentry', 'Back-When-I-Knew-It-All'],
 541: ['Keith-Urban', 'Better-Life'],
 542: ['Toby-Keith', 'Bullets-In-The-Gun'],
 543: ['Randy-Houser', 'Boots-On'],
 544: ['Darius-Rucker', "It-Won't-Be-Like-This-For-Long"],
 545: ['Luke-Bryan', 'All-My-Friends-Say'],
 546: ['Miranda-Lambert', 'Only-Prettier'],
 547: ['Lonestar', 'My-Front-Porch-Looking-In'],
 548: ['Taylor-Swift', 'Love-Story'],
 549: ['Lee-Brice', 'Love-Like-Crazy'],
 550: ['Trace-Adkins', 'Ladies-Love-Country-Boys'],
 551: ['Reba', 'Turn-On-The-Radio'],
 552: ['Jason-Aldean', 'Big-Green-Tractor'],
 553: ['Toby-Keith', 'Get-Drunk-And-Be-Somebody'],
 554: ['Kid-Rock', 'Picture'],
 555: ['Josh-Gracin', "Nothin'-To-Lose"],
 556: ['Martina-McBride', "This-One's-For-The-Girls"],
 557: ['Curb-Records', "She-Won't-Be-Lonely-Long"],
 558: ['Alan-Jackson', "It's-Five-O'Clock-Somewhere"],
 559: ['Lady-Antebellum', 'Our-Kind-Of-Love'],
 560: ['Rodney-Atkins', 'These-Are-My-People'],
 561: ['Bon-Jovi', "Who-Says-You-Can't-Go-Home"],
 562: ['Rascal-Flatts', 'Fast-Cars-And-Freedom'],
 563: ['Trisha-Yearwood', "She's-In-Love-With-The-Boy"],
 564: ['Toby-Keith', "Should've-Been-A-Cowboy"],
 565: ['Jerrod-Niemann', '"Lover,-Lover"'],
 566: ['Martina-McBride', 'My-Baby-Loves-Me'],
 567: ['Alan-Jackson', 'Where-I-Come-From'],
 568: ['Brad-Paisley', 'The-World'],
 569: ['Keith-Urban', 'Days-Go-By'],
 570: ['Little-Big-Town', 'Little-White-Church'],
 571: ['Luke-Bryan', 'Country-Man'],
 572: ['Montgomery-Gentry', 'Gone'],
 573: ['Diamond-Rio', 'Meet-In-The-Middle'],
 574: ['Kenny-Chesney', 'Never-Wanted-Nothing-More'],
 575: ['Dierks-Bentley', 'Sideways'],
 576: ['Garth-Brooks', 'Friends-In-Low-Places'],
 577: ['Jason-Aldean', 'Crazy-Town'],
 578: ['Brad-Paisley', "She's-Everything"],
 579: ['Rascal-Flatts', 'Mayberry'],
 580: ['Keith-Urban', 'You-Look-Good-In-My-Shirt'],
 581: ['Chris-Cagle', 'What-Kinda-Gone'],
 582: ['Kenny-Chesney', "She-Thinks-My-Tractor's-Sexy"],
 583: ['Brad-Paisley', 'Water'],
 584: ['Toby-Keith', "Who's-Your-Daddy"],
 585: ['Sugarland', 'Already-Gone'],
 586: ['Jo-Dee-Messina', "Lesson-In-Leavin'"],
 587: ['Kenny-Chesney', 'The-Good-Stuff-'],
 588: ['Montgomery-Gentry', 'Hell-Yeah'],
 589: ['Keith-Urban', "Who-Wouldn't-Wanna-Be-Me"],
 590: ['Lady-Antebellum', "Lookin'-For-A-Good-Time"],
 591: ['Josh-Turner', "Why-Don't-We-Just-Dance"],
 592: ['Alan-Jackson', 'Summertime-Blues'],
 593: ['Miranda-Lambert', 'The-House-That-Built-Me'],
 594: ['Zac-Brown-Band', 'Chicken-Fried'],
 595: ['Carrie-Underwood', 'Wasted'],
 596: ['Rascal-Flatts', 'Life-Is-A-Highway'],
 597: ['Brad-Paisley', 'Online'],
 598: ['Dierks-Bentley', "What-Was-I-Thinkin'"],
 599: ['Kenny-Chesney', "Don't-Blink"],
 600: ['LeAnn-Rimes', 'I-Need-You'],
 601: ['Lonestar', 'Mr.-Mom'],
 602: ['Eric-Church', 'Smoke-A-Little-Smoke'],
 603: ['Brad-Paisley', 'Mud-On-The-Tires'],
 604: ['Zac-Brown-Band', 'Toes'],
 605: ['Rodney-Atkins', "It's-America"],
 606: ['Craig-Morgan', "This-Ain't-Nothin'"],
 607: ['Tim-McGraw', 'Something-Like-That'],
 608: ['Sugarland', "Settlin'"],
 609: ['Kenny-Chesney', 'How-Forever-Feels'],
 610: ['Darryl-Worley', 'Sounds-Like-Life-To-Me'],
 611: ['Craig-Morgan', "That's-What-I-Love-About-Sunday"],
 612: ['Toby-Keith', 'I-Wanna-Talk-About-Me-'],
 613: ['Brooks-&-Dunn', 'Red-Dirt-Road'],
 614: ['Carrie-Underwood', '"Jesus,-Take-The-Wheel"'],
 615: ['Josh-Kelley', 'Georgia-Clay'],
 616: ['Billy-Currington', "Pretty-Good-At-Drinkin'-Beer"],
 617: ['Tim-McGraw', 'Real-Good-Man'],
 618: ['Lady-Antebellum', 'I-Run-To-You'],
 619: ['Kenny-Chesney', 'When-The-Sun-Goes-Down'],
 620: ['Zac-Brown-Band', 'Free'],
 621: ['Toby-Keith', 'American-Soldier'],
 622: ['Emerson-Drive', 'Moments'],
 623: ['Jason-Aldean', "She's-Country"],
 624: ['Garth-Brooks', "Ain't-Goin'-Down-Till-The-Sun-Comes-Up"],
 625: ['Rodney-Atkins', 'Watching-You'],
 626: ['Brad-Paisley', 'Start-A-Band'],
 627: ['Trace-Adkins', "You're-Gonna-Miss-This"],
 628: ['Toby-Keith', 'My-List-'],
 629: ['Sugarland', 'Stay'],
 630: ['Kenny-Chesney', 'Big-Star'],
 631: ['Faith-Hill', 'Wild-One'],
 632: ['Jerrod-Niemann', 'What-Do-You-Want'],
 633: ['Clay-Walker', 'Where-Do-I-Go-From-You'],
 634: ['Blake-Shelton', "Who-Are-You-When-I'm-Not-Looking"],
 635: ['Thompson-Square', 'Are-You-Gonna-Kiss-Me-Or-Not?'],
 636: ['Craig-Campbell', 'Family-Man'],
 637: ['James-Wesley', 'Real'],
 638: ['The-JaneDear-Girls', 'Wildflower'],
 639: ['Sunny-Sweeney', 'From-A-Table-Away'],
 640: ['Joe-Nichols', "The-Shape-I'm-In"],
 641: ['Toby-Keith', 'American-Ride'],
 642: ['Kenny-Chesney', '"No-Shoes,-No-Shirt,-No-Problems"'],
 643: ['Darius-Rucker', "Don't-Think-I-Don't-Think-About-It"],
 644: ['Rodney-Atkins', 'Cleaning-This-Gun-(Come-On-In-Boy)'],
 645: ['Carrie-Underwood', 'All-American-Girl'],
 646: ['Toby-Keith', 'A-Little-Less-Talk-And-A-Lot-More-Action'],
 647: ['Steel-Magnolia', 'Keep-On-Loving-You'],
 648: ['Lonestar', 'What-About-Now'],
 649: ['Shania-Twain', 'Forever-and-For-Always'],
 650: ['Kenny-Chesney', 'There-Goes-My-Life'],
 651: ['Taylor-Swift', 'Picture-to-Burn'],
 652: ['George-Strait', 'Check-Yes-Or-No'],
 653: ['Faith-Hill', 'The-Way-You-Love-Me'],
 654: ['Kenny-Chesney', 'Living-In-Fast-Forward'],
 655: ['Taylor-Swift', "Should've-Said-No"],
 656: ['David-Lee-Murphy', 'Dust-On-The-Bottle'],
 657: ['Carrie-Underwood', 'Last-Name'],
 658: ['Toby-Keith', 'I-Love-This-Bar'],
 659: ['Brad-Paisley', "He-Didn't-Have-To-Be"],
 660: ['Jason-Aldean', 'Amarillo-Sky'],
 661: ['Brad-Paisley', 'Ticks'],
 662: ['Alan-Jackson', 'Gone-Country'],
 663: ['Josh-Turner', 'Would-You-Go-With-Me'],
 664: ['Blake-Shelton', 'Hillbilly-Bone'],
 665: ['Uncle-Kracker', 'Smile'],
 666: ['Sara-Evans', 'Suds-In-The-Bucket'],
 667: ['Rascal-Flatts', "Prayin'-For-Daylight"],
 668: ['Tim-McGraw', 'My-Next-Thirty-Years'],
 669: ['Blake-Shelton', 'Some-Beach'],
 670: ['Sugarland', 'All-I-Want-To-Do'],
 671: ['Sugarland', 'Baby-Girl'],
 672: ['Brad-Paisley', 'Letter-To-Me'],
 673: ['Zac-Brown-Band', 'Whatever-It-Is'],
 674: ['Alan-Jackson', 'Little-Bitty'],
 675: ['Kid-Rock', 'All-Summer-Long'],
 676: ['Miranda-Lambert', 'White-Liar'],
 677: ['Brooks-&-Dunn', 'My-Maria'],
 678: ['Sugarland', 'It-Happens'],
 679: ['Alan-Jackson', "Livin'-On-Love"],
 680: ['Tim-McGraw', 'Live-Like-You-Were-Dying'],
 681: ['Taylor-Swift', 'You-Belong-With-Me'],
 682: ['Kenny-Chesney', 'I-Go-Back'],
 683: ['Travis-Tritt', "It's-A-Great-Day-To-Be-Alive"],
 684: ['Brad-Paisley', 'Welcome-To-The-Future'],
 685: ['Darius-Rucker', 'History-In-The-Making'],
 686: ['Taylor-Swift', 'Our-Song'],
 687: ['Kenny-Chesney', 'Young'],
 688: ['George-Strait', 'Give-It-Away'],
 689: ['Alan-Jackson', 'Chattahoochee'],
 690: ['Zac-Brown', 'Highway-20-Ride'],
 691: ['Kenny-Chesney', 'Out-Last-Night'],
 692: ['Martina-McBride', 'Independence-Day'],
 693: ['Brad-Paisley', "I'm-Still-A-Guy"],
 694: ['Craig-Morgan', 'Bonfire'],
 695: ['Lonestar', "I'm-Already-There"],
 696: ['George-Jones', 'Finally-Friday'],
 697: ['Garth-Brooks', 'Two-Pina-Coladas'],
 698: ['Kenny-Chesney', "She's-Got-It-All"],
 699: ['Alan-Jackson', 'Drive-(For-Daddy-Gene)'],
 700: ['Steve-Holy', 'Brand-New-Girlfriend'],
 701: ['Joe-Nichols', 'Gimmie-That-Girl'],
 702: ['Garth-Brooks', 'Rodeo'],
 703: ['Guster', 'Do-You-Love-Me'],
 704: ['Brad-Paisley', "I'm-Gonna-Miss-Her-(Fishin'-Song)"],
 705: ['Lady-Antebellum', 'American-Honey'],
 706: ['Kenny-Chesney', 'Summertime'],
 707: ['Rascal-Flatts', 'Bless-The-Broken-Road'],
 708: ['Toby-Keith',
  '"Courtesy-Of-The-Red,-White-And-Blue-(The-Angry-American)"'],
 709: ['Blake-Shelton', 'Home'],
 710: ['Tim-McGraw', 'Last-Dollar-(Fly-Away)'],
 711: ['Tracy-Byrd', 'Ten-Rounds-With-Jose-Cuervo'],
 712: ['Montgomery-Gentry', 'Lucky-Man'],
 713: ['Billy-Currington', "Must-Be-Doin'-Somethin'-Right"],
 714: ['George-Strait', 'I-Saw-God-Today'],
 715: ['Jo-Dee-Messina', '"Bye,-Bye"'],
 716: ['Tim-McGraw', 'Back-When'],
 717: ['Billy-Currington', "That's-How-Country-Boys-Roll"],
 718: ['Trace-Adkins', 'Every-Light-In-The-House'],
 719: ['Kellie-Pickler', 'Best-Days-Of-Your-Life'],
 720: ['Mark-Wills', "19-Somethin'"],
 721: ['Kenny-Chesney', "Ain't-Back-Yet"],
 722: ['George-Strait', 'Gotta-Get-To-You'],
 723: ['Tracy-Lawrence', 'Find-Out-Who-Your-Friends-Are'],
 724: ['Montgomery-Gentry', 'Roll-With-Me'],
 725: ['Dierks-Bentley', 'Feel-That-Fire'],
 726: ['Alan-Jackson', 'Good-Time'],
 727: ['Garth-Brooks', 'Shameless'],
 728: ['Trace-Adkins', 'Honky-Tonk-Badonkadonk'],
 729: ['Brooks-&-Dunn', "Ain't-Nothing-'Bout-You"],
 730: ['Rascal-Flatts', 'My-Wish'],
 731: ['Justin-Moore', 'Small-Town-USA'],
 732: ['Dierks-Bentley', "Lot-Of-Leavin'-Left-To-Do"],
 733: ['Josh-Turner', 'Your-Man'],
 734: ['Blake-Shelton', "Ol'-Red"],
 735: ['Garth-Brooks', 'The-Dance'],
 736: ['Kenny-Chesney-With-The-Wailers', 'Everybody-Wants-To-Go-To-Heaven'],
 737: ['Blake-Shelton', 'Austin'],
 738: ['Keith-Urban', 'Kiss-A-Girl'],
 739: ['Tim-McGraw', "Don't-Take-The-Girl"],
 740: ['Jessica-Andrews', 'Who-I-Am'],
 741: ['James-Otto', "Just-Got-Started-Lovin'-You"],
 742: ['Montgomery-Gentry', 'My-Town'],
 743: ['Garth-Brooks', '"Two-Of-A-Kind,-Workin\'-On-A-Full-House"'],
 744: ['Reba-McEntire', 'Fancy'],
 745: ['Toby-Keith', "You-Ain't-Much-Fun"],
 746: ['Keith-Urban', 'But-For-The-Grace-Of-God'],
 747: ['Joe-Nichols', 'Tequila-Makes-Her-Clothes-Fall-Off'],
 748: ['John-Michael-Montgomery', 'Sold-(The-Grundy-County-Auction-Incident)'],
 749: ['Blake-Shelton', "She-Wouldn't-Be-Gone"],
 750: ['Easton-Corbin', 'A-Little-More-Country-Than-That'],
 751: ['Chris-Young', 'The-Man-I-Want-To-Be'],
 752: ['Tracy-Byrd', "I'm-From-The-Country"],
 753: ['Brad-Paisley', 'American-Saturday-Night'],
 754: ['Garth-Brooks', 'The-Thunder-Rolls'],
 755: ['Rascal-Flatts', 'What-Hurts-The-Most'],
 756: ['David-Nail', 'Red-Light'],
 757: ['Pink-Floyd', 'Have-A-Cigar'],
 758: ['Van-Halen', "Jamie's-Cryin'"],
 759: ['Cheap-Trick', 'I-Want-You-To-Want-Me'],
 760: ['The-Eagles', 'Hotel-California'],
 761: ['Great-White', 'Once-Bitten-Twice-Shy'],
 762: ['Fleetwood-Mac', 'Rhiannon'],
 763: ['Jackson-Browne', 'Running-On-Empty'],
 764: ['The-Who', 'Behind-Blue-Eyes'],
 765: ['Golden-Earring', 'Radar-Love'],
 766: ['.38-Special', 'Hold-On-Loosely'],
 767: ['The-Jimi-Hendrix-Experience', 'Fire'],
 768: ['Tom-Petty', "Free-Fallin'"],
 769: ['Journey', '"Lovin\',-Touchin\',-Squeezin\'"'],
 770: ['The-Steve-Miller-Band', 'Take-The-Money-And-Run'],
 771: ['Blue-Oyster-Cult', "(Don't-Fear)-The-Reaper"],
 772: ['The-Doobie-Brothers', 'Black-Water'],
 773: ['Aerosmith', 'Back-In-The-Saddle'],
 774: ['Boston', 'More-Than-A-Feeling'],
 775: ['Judas-Priest', "You've-Got-Another-Thing-Comin'"],
 776: ['Led-Zeppelin', 'Hey-Hey-What-Can-I-Do'],
 777: ['The-Cars', 'You-Might-Think'],
 778: ['Queen', 'Killer-Queen'],
 779: ['The-Who', "Won't-Get-Fooled-Again"],
 780: ['Jackson-Browne', "Somebody's-Baby"],
 781: ['Thin-Lizzy', 'The-Boys-Are-Back-In-Town'],
 782: ['The-Steve-Miller-Band', 'Swingtown'],
 783: ['Eddie-Money', 'Take-Me-Home-Tonight'],
 784: ['Led-Zeppelin', 'Rock-And-Roll'],
 785: ['Journey', 'Wheel-In-The-Sky'],
 786: ['Aerosmith', 'Sweet-Emotion'],
 787: ['Lynyrd-Skynyrd', 'Sweet-Home-Alabama'],
 788: ['Deep-Purple', 'Smoke-On-The-Water'],
 789: ['Foreigner', 'Double-Vision'],
 790: ['The-Who', "Baba-O'Riley"],
 791: ['Tom-Petty-&-The-Heartbreakers', "Don't-Do-Me-Like-That"],
 792: ['Rush', 'Red-Barchetta'],
 793: ['Van-Halen', 'Jump'],
 794: ['Boston', 'Rock-And-Roll-Band'],
 795: ['Bad-Company', 'Bad-Company'],
 796: ['Aerosmith', 'Rag-Doll'],
 797: ['The-Rolling-Stones', "It's-Only-Rock-'N-Roll-(But-I-Like-It)"],
 798: ['Foo-Fighters', 'The-Pretender'],
 799: ['Creedence-Clearwater-Revival', 'Fortunate-Son'],
 800: ['AC\\/DC', "It's-A-Long-Way-To-The-Top-(If-You-Wanna-Rock-'N'-Roll)"],
 801: ['The-Beatles', 'Come-Together'],
 802: ['Journey', 'Lights'],
 803: ['Heart', 'Magic-Man'],
 804: ['AC\\/DC', 'Have-A-Drink-On-Me'],
 805: ['The-Doors', 'Love-Her-Madly'],
 806: ['The-Guess-Who', 'American-Woman'],
 807: ['The-Police', 'Every-Little-Thing-She-Does-Is-Magic'],
 808: ['Creedence-Clearwater-Revival', "Lookin'-Out-My-Back-Door"],
 809: ['Lynyrd-Skynyrd', 'Free-Bird'],
 810: ['Pink-Floyd', 'Young-Lust'],
 811: ['Paul-McCartney', "Maybe-I'm-Amazed"],
 812: ['Eric-Clapton', 'Cocaine'],
 813: ['Georgia-Satellites', 'Keep-Your-Hands-To-Yourself'],
 814: ['Dio', 'Holy-Diver'],
 815: ['Queen', 'Under-Pressure'],
 816: ['Rush', 'Freewill'],
 817: ['Bachman-Turner-Overdrive', 'Let-It-Ride'],
 818: ['Def-Leppard', "Foolin'"],
 819: ['Tom-Petty-&-The-Heartbreakers', 'Breakdown'],
 820: ['Pink-Floyd', 'Learning-To-Fly'],
 821: ['Ozzy-Osbourne', 'Over-The-Mountain'],
 822: ['Van-Halen', "Why-Can't-This-Be-Love"],
 823: ['Red-Rider', 'Lunatic-Fringe'],
 824: ['Led-Zeppelin', 'Kashmir'],
 825: ['Kansas', 'Dust-In-The-Wind'],
 826: ['Dio', 'Rainbow-In-The-Dark'],
 827: ['Steely-Dan', 'Do-It-Again'],
 828: ['T.-Rex', 'Bang-A-Gong-(Get-It-On)'],
 829: ['Boston', 'Foreplay\\/Longtime'],
 830: ['U2', 'Beautiful-Day'],
 831: ['Van-Halen', "I'll-Wait"],
 832: ['The-Steve-Miller-Band', 'Fly-Like-An-Eagle'],
 833: ['Molly-Hatchet', "Flirtin'-With-Disaster"],
 834: ['The-Rolling-Stones', 'Sympathy-For-The-Devil'],
 835: ['Jefferson-Airplane', 'Somebody-To-Love'],
 836: ['Pink-Floyd', 'Mother'],
 837: ['Steely-Dan', 'Reeling-In-The-Years'],
 838: ['Stevie-Ray-Vaughan-&-Double-Trouble', 'Crossfire'],
 839: ['Ted-Nugent', 'Cat-Scratch-Fever'],
 840: ['Lynyrd-Skynyrd', 'Gimme-Three-Steps'],
 841: ['Tom-Petty', "Runnin'-Down-A-Dream"],
 842: ['Stevie-Nicks', 'Edge-Of-Seventeen'],
 843: ['Def-Leppard', 'Rock-Of-Ages'],
 844: ['ZZ-Top', 'Sharp-Dressed-Man'],
 845: ['Norman-Greenbaum', 'Spirit-In-The-Sky'],
 846: ['Rush', 'Limelight'],
 847: ['Stevie-Ray-Vaughan-&-Double-Trouble', 'Pride-And-Joy'],
 848: ['Cheap-Trick', 'Surrender'],
 849: ['Bob-Seger-&-The-Silver-Bullet-Band', 'Old-Time-Rock-&-Roll'],
 850: ['Paul-McCartney-&-Wings', 'Band-On-The-Run'],
 851: ['Queensryche', 'Silent-Lucidity'],
 852: ['Pink-Floyd', 'Another-Brick-In-The-Wall-(Part-2)'],
 853: ['The-Doobie-Brothers', "Long-Train-Runnin'"],
 854: ['Tommy-Tutone', '867-5309\\/Jenny'],
 855: ["Guns-N'-Roses", 'Patience'],
 856: ['Night-Ranger', 'Sister-Christian'],
 857: ['Motley-Crue', 'Looks-That-Kill'],
 858: ['Foreigner', 'Cold-As-Ice'],
 859: ['The-Cars', 'Just-What-I-Needed'],
 860: ['The-Doors', 'People-Are-Strange'],
 861: ['Def-Leppard', 'Too-Late-For-Love'],
 862: ['Steve-Winwood', 'While-You-See-A-Chance'],
 863: ['The-Rolling-Stones', 'Start-Me-Up'],
 864: ['Eric-Clapton', 'Run-Back-To-Your-Side'],
 865: ['Toto', 'Hold-The-Line'],
 866: ['Foreigner', 'Hot-Blooded'],
 867: ['Queen', 'Somebody-To-Love'],
 868: ["Manfred-Mann's-Earth-Band", 'Blinded-By-The-Light'],
 869: ['Led-Zeppelin', 'The-Ocean'],
 870: ['Stevie-Ray-Vaughan-&-Double-Trouble', 'Cold-Shot'],
 871: ['The-Edgar-Winter-Group', 'Free-Ride'],
 872: ['Billy-Squier', 'Lonely-Is-The-Night'],
 873: ['Pink-Floyd', 'Run-Like-Hell'],
 874: ['AC\\/DC', 'Moneytalks'],
 875: ['Steppenwolf', 'Magic-Carpet-Ride'],
 876: ['Bob-Seger-&-The-Silver-Bullet-Band', 'Hollywood-Nights'],
 877: ['Def-Leppard', 'Hysteria'],
 878: ['Bad-Company', "Rock-'N'-Roll-Fantasy"],
 879: ['Black-Sabbath', 'Iron-Man'],
 880: ['Tom-Petty', "I-Won't-Back-Down"],
 881: ['The-Jimi-Hendrix-Experience', 'Foxey-Lady'],
 882: ['Pink-Floyd', 'Time'],
 883: ['The-Eagles', 'Life-In-The-Fast-Lane'],
 884: ['Metallica', 'For-Whom-The-Bell-Tolls'],
 885: ['The-Who', 'Pinball-Wizard'],
 886: ['Warren-Zevon', 'Werewolves-Of-London'],
 887: ['The-Beatles', 'Get-Back'],
 888: ['The-Jimi-Hendrix-Experience', 'Purple-Haze'],
 889: ['Iron-Maiden', 'Run-To-The-Hills'],
 890: ['The-Allman-Brothers-Band', "Ramblin'-Man"],
 891: ['Boston', "Don't-Look-Back"],
 892: ['Bob-Seger', 'Turn-The-Page'],
 893: ['Pink-Floyd', 'Welcome-To-The-Machine'],
 894: ['Creedence-Clearwater-Revival', 'Down-On-The-Corner'],
 895: ['Led-Zeppelin', 'Over-The-Hills-And-Far-Away'],
 896: ['Bob-Seger-&-The-Silver-Bullet-Band', 'Night-Moves'],
 897: ['AC\\/DC', 'Shoot-To-Thrill'],
 898: ['David-Bowie', 'Space-Oddity'],
 899: ['Pat-Benatar', 'Hit-Me-With-Your-Best-Shot'],
 900: ['Dire-Straits', 'Money-For-Nothing'],
 901: ['The-Eagles', 'Already-Gone'],
 902: ['Santana', 'Evil-Ways'],
 903: ['Led-Zeppelin', 'When-The-Levee-Breaks'],
 904: ['Elton-John', "Saturday-Night's-Alright-(For-Fighting)"],
 905: ['Van-Halen', 'Hot-For-Teacher'],
 906: ['Journey', 'Separate-Ways'],
 907: ['Led-Zeppelin', "D'yer-Ma'ker"],
 908: ['The-Black-Crowes', 'She-Talks-To-Angels'],
 909: ['Scorpions', 'The-Zoo'],
 910: ["Guns-N'-Roses", 'Paradise-City'],
 911: ['Buffalo-Springfield', "For-What-It's-Worth"],
 912: ['Rush', 'Closer-To-The-Heart'],
 913: ['Autograph', 'Turn-Up-The-Radio'],
 914: ['Phil-Collins', 'In-The-Air-Tonight'],
 915: ['Van-Halen', 'Right-Now'],
 916: ['Grand-Funk-Railroad', "We're-An-American-Band"],
 917: ['ZZ-Top', 'Cheap-Sunglasses'],
 918: ['Tom-Petty-&-The-Heartbreakers', "Mary-Jane's-Last-Dance"],
 919: ['Ozzy-Osbourne', 'Bark-At-The-Moon'],
 920: ['Motley-Crue', 'Home-Sweet-Home'],
 921: ['Heart', 'Crazy-On-You'],
 922: ['Tom-Petty-&-The-Heartbreakers', 'I-Should-Have-Known-It'],
 923: ['The-Doobie-Brothers', 'Listen-To-The-Music'],
 924: ['Dire-Straits', 'Sultans-Of-Swing'],
 925: ['Journey', 'Any-Way-You-Want-It'],
 926: ['Grand-Funk-Railroad', 'Some-Kind-Of-Wonderful'],
 927: ['The-Beatles', 'Revolution'],
 928: ['The-Edgar-Winter-Group', 'Frankenstein'],
 929: ['Ratt', 'Round-And-Round'],
 930: ['Led-Zeppelin', 'Whole-Lotta-Love'],
 931: ['Aerosmith', 'Come-Together'],
 932: ['Van-Halen', "Ain't-Talkin'-'Bout-Love"],
 933: ['Tom-Petty-&-The-Heartbreakers', 'Refugee'],
 934: ['ZZ-Top', "Gimme-All-Your-Lovin'"],
 935: ['Led-Zeppelin', 'Ramble-On'],
 936: ['Rush', 'The-Spirit-Of-Radio'],
 937: ['AC\\/DC', 'Girls-Got-Rhythm'],
 938: ['Van-Halen', 'Panama'],
 939: ['John-Cafferty-&-The-Beaver-Brown-Band', 'On-The-Dark-Side'],
 940: ['Queen', 'Fat-Bottomed-Girls'],
 941: ['Kansas', 'Carry-On-Wayward-Son'],
 942: ['The-Rolling-Stones', 'Miss-You'],
 943: ['R.E.M.', "It's-The-End-Of-The-World-As-We-Know-It-(And-I-Feel-Fine)"],
 944: ['AC\\/DC', 'Who-Made-Who'],
 945: ['Steppenwolf', 'Born-To-Be-Wild'],
 946: ['Motley-Crue', '"Girls,-Girls,-Girls"'],
 947: ['Bad-Company', "Feel-Like-Makin'-Love"],
 948: ['Pink-Floyd', 'Speak-To-Me\\/Breathe'],
 949: ['Billy-Idol', 'White-Wedding-(Part-I)'],
 950: ['Heart', 'Barracuda'],
 951: ['The-Rolling-Stones', 'Paint-It-Black'],
 952: ['Styx', 'Renegade'],
 953: ['Ozzy-Osbourne', "I-Don't-Know"],
 954: ['Don-Henley', 'The-Boys-Of-Summer'],
 955: ['Jethro-Tull', 'Locomotive-Breath'],
 956: ['ZZ-Top', 'La-Grange'],
 957: ['George-Thorogood-&-The-Destroyers',
  '"One-Bourbon,-One-Scotch,-One-Beer"'],
 958: ['Def-Leppard', 'Love-Bites'],
 959: ['Tom-Petty-&-The-Heartbreakers', 'American-Girl'],
 960: ['The-Rolling-Stones', 'Brown-Sugar'],
 961: ['Sammy-Hagar', "I-Can't-Drive-55"],
 962: ['Living-Colour', 'Cult-Of-Personality'],
 963: ['The-Doobie-Brothers', 'China-Grove'],
 964: ['Kiss', 'Rock-And-Roll-All-Nite'],
 965: ['Journey', "Don't-Stop-Believin'"],
 966: ['Metallica', 'The-Unforgiven'],
 967: ['Quiet-Riot', 'Cum-On-Feel-The-Noize'],
 968: ['Boston', "Smokin'"],
 969: ['Bachman-Turner-Overdrive', "Takin'-Care-Of-Business"],
 970: ['Supertramp', 'Give-A-Little-Bit'],
 971: ['Boston', 'Peace-Of-Mind'],
 972: ['Lynyrd-Skynyrd', 'Simple-Man'],
 973: ['Joan-Jett-&-The-Blackhearts', 'I-Love-Rock-And-Roll'],
 974: ['Foghat', 'Slow-Ride'],
 975: ['The-Black-Crowes', 'Twice-As-Hard'],
 976: ['Pat-Benatar', 'Heartbreaker'],
 977: ['Whitesnake', 'Here-I-Go-Again'],
 978: ['Billy-Squier', 'The-Stroke'],
 979: ['Led-Zeppelin', 'Heartbreaker'],
 980: ['Led-Zeppelin', "Living-Loving-Maid-(She's-Just-A-Woman)"],
 981: ['ZZ-Top', 'Tush'],
 982: ['Santana', 'Black-Magic-Woman'],
 983: ['Def-Leppard', 'Armageddon-It'],
 984: ['Joe-Walsh', 'Rocky-Mountain-Way'],
 985: ['John-Cougar-Mellencamp', 'Pink-Houses'],
 986: ['The-Rolling-Stones', 'Honky-Tonk-Women'],
 987: ['The-Steve-Miller-Band', 'The-Joker'],
 988: ['Fleetwood-Mac', 'The-Chain'],
 989: ['John-Fogerty', 'Centerfield'],
 990: ['Judas-Priest', 'Living-After-Midnight'],
 991: ['Queen', "You're-My-Best-Friend"],
 992: ['Mountain', 'Mississippi-Queen'],
 993: ['The-Steve-Miller-Band', "Rock-'N-Me"],
 994: ['Derek-&-The-Dominos', 'Layla'],
 995: ['Joe-Walsh', "Life's-Been-Good"],
 996: ['George-Thorogood-&-The-Destroyers', 'Bad-To-The-Bone'],
 997: ['Cream', 'White-Room'],
 998: ['Blue-Oyster-Cult', "Burnin'-For-You"],
 999: ['Judas-Priest', 'Breaking-The-Law'],
 ...}

Apriori

In [30]:
#b) Apriori on the playlist data using a min-support value of 0.002.
L, support = apriori(playlist,.002)

In [32]:
rules_confident = generateRules(L,support,metric='confidence',minMetric=0.5)
frozenset([2840]) --> frozenset([2839]) conf: 0.511727078891  lift: 29.1571967478
frozenset([2883]) --> frozenset([2878]) conf: 0.528138528139  lift: 49.9024741394
frozenset([2826]) --> frozenset([2839]) conf: 0.617511520737  lift: 35.1845850003
frozenset([2774]) --> frozenset([2018]) conf: 0.514925373134  lift: 34.843563585
frozenset([2878]) --> frozenset([2839]) conf: 0.507972665148  lift: 28.943277679
frozenset([2878]) --> frozenset([5]) conf: 0.535307517084  lift: 32.7018494973
frozenset([44]) --> frozenset([2018]) conf: 0.502538071066  lift: 34.0053494092
frozenset([2871]) --> frozenset([5]) conf: 0.535294117647  lift: 32.7010309278
frozenset([5]) --> frozenset([2839]) conf: 0.511045655376  lift: 29.1183705838
frozenset([2871]) --> frozenset([2839]) conf: 0.505882352941  lift: 28.8241758242
frozenset([2883]) --> frozenset([5]) conf: 0.510822510823  lift: 31.2060644314
frozenset([2512]) --> frozenset([20]) conf: 0.524038461538  lift: 33.2371794872
frozenset([3018]) --> frozenset([3016]) conf: 0.693548387097  lift: 243.799890651
frozenset([3016]) --> frozenset([3018]) conf: 0.728813559322  lift: 243.799890651
frozenset([2832]) --> frozenset([5]) conf: 0.604651162791  lift: 36.9380415796
frozenset([2781]) --> frozenset([2839]) conf: 0.505494505495  lift: 28.8020770438
frozenset([2826]) --> frozenset([5]) conf: 0.585253456221  lift: 35.7530388278
frozenset([2832]) --> frozenset([2839]) conf: 0.622093023256  lift: 35.4456299514
frozenset([80, 2781]) --> frozenset([5, 2839]) conf: 0.60824742268  lift: 72.7092308149
frozenset([80, 2839]) --> frozenset([5, 2781]) conf: 0.533936651584  lift: 85.1834319527
frozenset([2840, 2878]) --> frozenset([5, 2839]) conf: 0.567010309278  lift: 67.7797914377
frozenset([2781, 2878]) --> frozenset([5, 2839]) conf: 0.597765363128  lift: 71.456216895
frozenset([80, 2840]) --> frozenset([5, 2839]) conf: 0.597122302158  lift: 71.3793460909
frozenset([89, 2781]) --> frozenset([5, 2839]) conf: 0.567073170732  lift: 67.7873058269
frozenset([89, 2839]) --> frozenset([5, 2781]) conf: 0.508196721311  lift: 81.0769230769
frozenset([2781, 6]) --> frozenset([5, 2839]) conf: 0.537037037037  lift: 64.1968192977
frozenset([2018, 2839]) --> frozenset([80, 5]) conf: 0.542857142857  lift: 94.612244898
frozenset([2018, 5]) --> frozenset([80, 2839]) conf: 0.524861878453  lift: 98.5125371866
frozenset([80, 2018]) --> frozenset([5, 2839]) conf: 0.521978021978  lift: 62.3966811287
frozenset([2840, 2781]) --> frozenset([5, 2839]) conf: 0.544973544974  lift: 65.1455407651
frozenset([20, 2781]) --> frozenset([5, 2839]) conf: 0.502857142857  lift: 60.1109921779
frozenset([2018, 2781]) --> frozenset([5, 2839]) conf: 0.61744966443  lift: 73.8092567162
frozenset([2018, 2839]) --> frozenset([5, 2781]) conf: 0.525714285714  lift: 83.8716483516
frozenset([2018, 5]) --> frozenset([2781, 2839]) conf: 0.508287292818  lift: 76.3904235727
frozenset([6, 2839]) --> frozenset([80, 5]) conf: 0.5  lift: 87.1428571429
frozenset([89, 2878]) --> frozenset([5, 2839]) conf: 0.612244897959  lift: 73.1870846321
frozenset([80, 2878]) --> frozenset([5, 2839]) conf: 0.666666666667  lift: 79.6926032661
frozenset([89, 2878]) --> frozenset([5, 2781]) conf: 0.578231292517  lift: 92.2501308216
frozenset([89, 2781]) --> frozenset([5, 2878]) conf: 0.518292682927  lift: 91.4841722885
frozenset([2018, 2781]) --> frozenset([80, 2839]) conf: 0.624161073826  lift: 117.150232318
frozenset([2018, 2839]) --> frozenset([80, 2781]) conf: 0.531428571429  lift: 113.627098675
frozenset([80, 2018]) --> frozenset([2781, 2839]) conf: 0.510989010989  lift: 76.7964644052
frozenset([2018, 2781]) --> frozenset([80, 5]) conf: 0.597315436242  lift: 104.103547459
In [33]:
rules_lift = generateRules(L,support,metric='lift',minMetric=20.0)
frozenset([2839]) --> frozenset([2883]) conf: 0.120879120879  lift: 21.7059131345
frozenset([2883]) --> frozenset([2839]) conf: 0.380952380952  lift: 21.7059131345
frozenset([34]) --> frozenset([80]) conf: 0.364985163205  lift: 28.4578657326
frozenset([80]) --> frozenset([34]) conf: 0.231203007519  lift: 28.4578657326
frozenset([2791]) --> frozenset([634]) conf: 0.297935103245  lift: 37.9090431981
frozenset([634]) --> frozenset([2791]) conf: 0.30981595092  lift: 37.9090431981
frozenset([3003]) --> frozenset([635]) conf: 0.404255319149  lift: 47.3686741195
frozenset([635]) --> frozenset([3003]) conf: 0.268361581921  lift: 47.3686741195
frozenset([2774]) --> frozenset([20]) conf: 0.440298507463  lift: 27.9259664978
frozenset([20]) --> frozenset([2774]) conf: 0.180428134557  lift: 27.9259664978
frozenset([20]) --> frozenset([18]) conf: 0.227828746177  lift: 27.0009611184
frozenset([18]) --> frozenset([20]) conf: 0.425714285714  lift: 27.0009611184
frozenset([89]) --> frozenset([2840]) conf: 0.308823529412  lift: 27.3134328358
frozenset([2840]) --> frozenset([89]) conf: 0.268656716418  lift: 27.3134328358
frozenset([20]) --> frozenset([34]) conf: 0.191131498471  lift: 23.5256218296
frozenset([34]) --> frozenset([20]) conf: 0.370919881306  lift: 23.5256218296
frozenset([2781]) --> frozenset([1]) conf: 0.230769230769  lift: 22.6295690125
frozenset([1]) --> frozenset([2781]) conf: 0.297872340426  lift: 22.6295690125
frozenset([34]) --> frozenset([24]) conf: 0.323442136499  lift: 37.3715315375
frozenset([24]) --> frozenset([34]) conf: 0.303621169916  lift: 37.3715315375
frozenset([2838]) --> frozenset([5]) conf: 0.349315068493  lift: 21.3396009442
frozenset([5]) --> frozenset([2838]) conf: 0.150220913108  lift: 21.3396009442
frozenset([75]) --> frozenset([104]) conf: 0.323170731707  lift: 28.7663561185
frozenset([104]) --> frozenset([75]) conf: 0.227467811159  lift: 28.7663561185
frozenset([5]) --> frozenset([44]) conf: 0.213549337261  lift: 22.4823007857
frozenset([44]) --> frozenset([5]) conf: 0.368020304569  lift: 22.4823007857
frozenset([20]) --> frozenset([10]) conf: 0.195718654434  lift: 22.3033235877
frozenset([10]) --> frozenset([20]) conf: 0.351648351648  lift: 22.3033235877
frozenset([2512]) --> frozenset([80]) conf: 0.485576923077  lift: 37.8603961828
frozenset([80]) --> frozenset([2512]) conf: 0.18984962406  lift: 37.8603961828
frozenset([2781]) --> frozenset([2840]) conf: 0.346153846154  lift: 30.6150565852
frozenset([2840]) --> frozenset([2781]) conf: 0.402985074627  lift: 30.6150565852
frozenset([2781]) --> frozenset([75]) conf: 0.164835164835  lift: 20.8456177968
frozenset([75]) --> frozenset([2781]) conf: 0.274390243902  lift: 20.8456177968
frozenset([2924]) --> frozenset([2792]) conf: 0.355648535565  lift: 52.8756317392
frozenset([2792]) --> frozenset([2924]) conf: 0.304659498208  lift: 52.8756317392
frozenset([2793]) --> frozenset([632]) conf: 0.373626373626  lift: 48.8896592367
frozenset([632]) --> frozenset([2793]) conf: 0.321766561514  lift: 48.8896592367
frozenset([2525]) --> frozenset([1892]) conf: 0.339563862928  lift: 37.4603963677
frozenset([1892]) --> frozenset([2525]) conf: 0.289893617021  lift: 37.4603963677
frozenset([2839]) --> frozenset([2512]) conf: 0.116758241758  lift: 23.2842878276
frozenset([2512]) --> frozenset([2839]) conf: 0.408653846154  lift: 23.2842878276
frozenset([2790]) --> frozenset([632]) conf: 0.361823361823  lift: 47.3452146638
frozenset([632]) --> frozenset([2790]) conf: 0.400630914826  lift: 47.3452146638
frozenset([2883]) --> frozenset([3056]) conf: 0.393939393939  lift: 57.5373452838
frozenset([3056]) --> frozenset([2883]) conf: 0.320422535211  lift: 57.5373452838
frozenset([2791]) --> frozenset([632]) conf: 0.353982300885  lift: 46.3191982357
frozenset([632]) --> frozenset([2791]) conf: 0.378548895899  lift: 46.3191982357
frozenset([1891]) --> frozenset([2793]) conf: 0.360869565217  lift: 54.8310240484
frozenset([2793]) --> frozenset([1891]) conf: 0.304029304029  lift: 54.8310240484
frozenset([6]) --> frozenset([20]) conf: 0.39793814433  lift: 25.2392572275
frozenset([20]) --> frozenset([6]) conf: 0.295107033639  lift: 25.2392572275
frozenset([47]) --> frozenset([39]) conf: 0.441176470588  lift: 36.1660079051
frozenset([39]) --> frozenset([47]) conf: 0.177865612648  lift: 36.1660079051
frozenset([2790]) --> frozenset([2866]) conf: 0.253561253561  lift: 45.3350034385
frozenset([2866]) --> frozenset([2790]) conf: 0.383620689655  lift: 45.3350034385
frozenset([2924]) --> frozenset([635]) conf: 0.397489539749  lift: 46.5758929627
frozenset([635]) --> frozenset([2924]) conf: 0.268361581921  lift: 46.5758929627
frozenset([1892]) --> frozenset([2792]) conf: 0.23670212766  lift: 35.1914131015
frozenset([2792]) --> frozenset([1892]) conf: 0.318996415771  lift: 35.1914131015
frozenset([196]) --> frozenset([11]) conf: 0.364806866953  lift: 33.7772072348
frozenset([11]) --> frozenset([196]) conf: 0.189732142857  lift: 33.7772072348
frozenset([2790]) --> frozenset([525]) conf: 0.273504273504  lift: 37.5660836588
frozenset([525]) --> frozenset([2790]) conf: 0.317880794702  lift: 37.5660836588
frozenset([2830]) --> frozenset([3056]) conf: 0.366255144033  lift: 53.4938851214
frozenset([3056]) --> frozenset([2830]) conf: 0.31338028169  lift: 53.4938851214
frozenset([47]) --> frozenset([20]) conf: 0.43137254902  lift: 27.3598369011
frozenset([20]) --> frozenset([47]) conf: 0.134556574924  lift: 27.3598369011
frozenset([10]) --> frozenset([24]) conf: 0.241758241758  lift: 27.933514953
frozenset([24]) --> frozenset([10]) conf: 0.245125348189  lift: 27.933514953
frozenset([80]) --> frozenset([24]) conf: 0.227443609023  lift: 26.2795568308
frozenset([24]) --> frozenset([80]) conf: 0.33704735376  lift: 26.2795568308
frozenset([2839]) --> frozenset([2840]) conf: 0.32967032967  lift: 29.1571967478
frozenset([2840]) --> frozenset([2839]) conf: 0.511727078891  lift: 29.1571967478
frozenset([2830]) --> frozenset([5]) conf: 0.489711934156  lift: 29.9164227228
frozenset([5]) --> frozenset([2830]) conf: 0.175257731959  lift: 29.9164227228
frozenset([75]) --> frozenset([1]) conf: 0.295731707317  lift: 28.9998846797
frozenset([1]) --> frozenset([75]) conf: 0.229314420804  lift: 28.9998846797
frozenset([78]) --> frozenset([2825]) conf: 0.33908045977  lift: 49.3510788465
frozenset([2825]) --> frozenset([78]) conf: 0.414035087719  lift: 49.3510788465
frozenset([525]) --> frozenset([1892]) conf: 0.331125827815  lift: 36.5295195153
frozenset([1892]) --> frozenset([525]) conf: 0.265957446809  lift: 36.5295195153
frozenset([2781]) --> frozenset([3056]) conf: 0.164835164835  lift: 24.0752205541
frozenset([3056]) --> frozenset([2781]) conf: 0.316901408451  lift: 24.0752205541
frozenset([635]) --> frozenset([2793]) conf: 0.299435028249  lift: 45.4965749881
frozenset([2793]) --> frozenset([635]) conf: 0.388278388278  lift: 45.4965749881
frozenset([1]) --> frozenset([2840]) conf: 0.267139479905  lift: 23.6267497366
frozenset([2840]) --> frozenset([1]) conf: 0.240938166311  lift: 23.6267497366
frozenset([487]) --> frozenset([1892]) conf: 0.274390243902  lift: 30.2704981837
frozenset([1892]) --> frozenset([487]) conf: 0.239361702128  lift: 30.2704981837
frozenset([1938]) --> frozenset([2792]) conf: 0.333333333333  lift: 49.5579450418
frozenset([2792]) --> frozenset([1938]) conf: 0.308243727599  lift: 49.5579450418
frozenset([2781]) --> frozenset([5]) conf: 0.47619047619  lift: 29.0903990462
frozenset([5]) --> frozenset([2781]) conf: 0.382916053019  lift: 29.0903990462
frozenset([2878]) --> frozenset([2883]) conf: 0.277904328018  lift: 49.9024741394
frozenset([2883]) --> frozenset([2878]) conf: 0.528138528139  lift: 49.9024741394
frozenset([2791]) --> frozenset([1899]) conf: 0.256637168142  lift: 30.41517067
frozenset([1899]) --> frozenset([2791]) conf: 0.248571428571  lift: 30.41517067
frozenset([2774]) --> frozenset([2508]) conf: 0.473880597015  lift: 34.3646279094
frozenset([2508]) --> frozenset([2774]) conf: 0.222027972028  lift: 34.3646279094
frozenset([18]) --> frozenset([80]) conf: 0.425714285714  lift: 33.1929108485
frozenset([80]) --> frozenset([18]) conf: 0.28007518797  lift: 33.1929108485
frozenset([2791]) --> frozenset([1891]) conf: 0.259587020649  lift: 46.8159548544
frozenset([1891]) --> frozenset([2791]) conf: 0.382608695652  lift: 46.8159548544
frozenset([2839]) --> frozenset([37]) conf: 0.15521978022  lift: 22.2786037492
frozenset([37]) --> frozenset([2839]) conf: 0.391003460208  lift: 22.2786037492
frozenset([37]) --> frozenset([1]) conf: 0.318339100346  lift: 31.2167987762
frozenset([1]) --> frozenset([37]) conf: 0.217494089835  lift: 31.2167987762
frozenset([2790]) --> frozenset([2525]) conf: 0.321937321937  lift: 41.6011218503
frozenset([2525]) --> frozenset([2790]) conf: 0.352024922118  lift: 41.6011218503
frozenset([5]) --> frozenset([1]) conf: 0.217967599411  lift: 21.3742222779
frozenset([1]) --> frozenset([5]) conf: 0.34988179669  lift: 21.3742222779
frozenset([2839]) --> frozenset([2826]) conf: 0.184065934066  lift: 35.1845850003
frozenset([2826]) --> frozenset([2839]) conf: 0.617511520737  lift: 35.1845850003
frozenset([2791]) --> frozenset([3003]) conf: 0.253687315634  lift: 44.7785100107
frozenset([3003]) --> frozenset([2791]) conf: 0.365957446809  lift: 44.7785100107
frozenset([2790]) --> frozenset([2792]) conf: 0.2849002849  lift: 42.3572179845
frozenset([2792]) --> frozenset([2790]) conf: 0.358422939068  lift: 42.3572179845
frozenset([2887]) --> frozenset([2064]) conf: 0.337037037037  lift: 43.2826510721
frozenset([2064]) --> frozenset([2887]) conf: 0.28173374613  lift: 43.2826510721
frozenset([1043]) --> frozenset([1032]) conf: 0.425339366516  lift: 71.429461227
frozenset([1032]) --> frozenset([1043]) conf: 0.380566801619  lift: 71.429461227
frozenset([2839]) --> frozenset([2825]) conf: 0.151098901099  lift: 21.9915172547
frozenset([2825]) --> frozenset([2839]) conf: 0.385964912281  lift: 21.9915172547
frozenset([18]) --> frozenset([24]) conf: 0.248571428571  lift: 28.7207321926
frozenset([24]) --> frozenset([18]) conf: 0.242339832869  lift: 28.7207321926
frozenset([2791]) --> frozenset([1938]) conf: 0.244837758112  lift: 39.3638380096
frozenset([1938]) --> frozenset([2791]) conf: 0.321705426357  lift: 39.3638380096
frozenset([6]) --> frozenset([164]) conf: 0.19793814433  lift: 37.4907498941
frozenset([164]) --> frozenset([6]) conf: 0.438356164384  lift: 37.4907498941
frozenset([2774]) --> frozenset([2018]) conf: 0.514925373134  lift: 34.843563585
frozenset([2018]) --> frozenset([2774]) conf: 0.225122349103  lift: 34.843563585
frozenset([6]) --> frozenset([44]) conf: 0.210309278351  lift: 22.1411900152
frozenset([44]) --> frozenset([6]) conf: 0.258883248731  lift: 22.1411900152
frozenset([20]) --> frozenset([2018]) conf: 0.380733944954  lift: 25.763203975
frozenset([2018]) --> frozenset([20]) conf: 0.406199021207  lift: 25.763203975
frozenset([2791]) --> frozenset([2790]) conf: 0.407079646018  lift: 48.1073040365
frozenset([2790]) --> frozenset([2791]) conf: 0.393162393162  lift: 48.1073040365
frozenset([2790]) --> frozenset([1892]) conf: 0.364672364672  lift: 40.2303449112
frozenset([1892]) --> frozenset([2790]) conf: 0.340425531915  lift: 40.2303449112
frozenset([6]) --> frozenset([18]) conf: 0.263917525773  lift: 31.2779970545
frozenset([18]) --> frozenset([6]) conf: 0.365714285714  lift: 31.2779970545
frozenset([10]) --> frozenset([41]) conf: 0.258241758242  lift: 32.1677721678
frozenset([41]) --> frozenset([10]) conf: 0.282282282282  lift: 32.1677721678
frozenset([39]) --> frozenset([196]) conf: 0.175889328063  lift: 31.3128297342
frozenset([196]) --> frozenset([39]) conf: 0.381974248927  lift: 31.3128297342
frozenset([39]) --> frozenset([104]) conf: 0.308300395257  lift: 27.4427047109
frozenset([104]) --> frozenset([39]) conf: 0.334763948498  lift: 27.4427047109
frozenset([39]) --> frozenset([2018]) conf: 0.310276679842  lift: 20.9955573896
frozenset([2018]) --> frozenset([39]) conf: 0.256117455139  lift: 20.9955573896
frozenset([2525]) --> frozenset([632]) conf: 0.373831775701  lift: 48.9165364545
frozenset([632]) --> frozenset([2525]) conf: 0.378548895899  lift: 48.9165364545
frozenset([2839]) --> frozenset([2878]) conf: 0.306318681319  lift: 28.943277679
frozenset([2878]) --> frozenset([2839]) conf: 0.507972665148  lift: 28.943277679
frozenset([78]) --> frozenset([5]) conf: 0.333333333333  lift: 20.3632793324
frozenset([5]) --> frozenset([78]) conf: 0.170839469809  lift: 20.3632793324
frozenset([2878]) --> frozenset([2781]) conf: 0.407744874715  lift: 30.9766619106
frozenset([2781]) --> frozenset([2878]) conf: 0.327838827839  lift: 30.9766619106
frozenset([2525]) --> frozenset([635]) conf: 0.358255451713  lift: 41.9786331556
frozenset([635]) --> frozenset([2525]) conf: 0.324858757062  lift: 41.9786331556
frozenset([11]) --> frozenset([10]) conf: 0.308035714286  lift: 35.1025313972
frozenset([10]) --> frozenset([11]) conf: 0.379120879121  lift: 35.1025313972
frozenset([44]) --> frozenset([80]) conf: 0.329949238579  lift: 25.7261173238
frozenset([80]) --> frozenset([44]) conf: 0.244360902256  lift: 25.7261173238
frozenset([2790]) --> frozenset([1899]) conf: 0.270655270655  lift: 32.0765160765
frozenset([1899]) --> frozenset([2790]) conf: 0.271428571429  lift: 32.0765160765
frozenset([2774]) --> frozenset([104]) conf: 0.335820895522  lift: 29.8923835757
frozenset([104]) --> frozenset([2774]) conf: 0.19313304721  lift: 29.8923835757
frozenset([2830]) --> frozenset([2878]) conf: 0.452674897119  lift: 42.7721064522
frozenset([2878]) --> frozenset([2830]) conf: 0.250569476082  lift: 42.7721064522
frozenset([2788]) --> frozenset([632]) conf: 0.308771929825  lift: 40.4033427417
frozenset([632]) --> frozenset([2788]) conf: 0.277602523659  lift: 40.4033427417
frozenset([75]) --> frozenset([24]) conf: 0.283536585366  lift: 32.76071744
frozenset([24]) --> frozenset([75]) conf: 0.259052924791  lift: 32.76071744
frozenset([6]) --> frozenset([24]) conf: 0.187628865979  lift: 21.6792349884
frozenset([24]) --> frozenset([6]) conf: 0.25348189415  lift: 21.6792349884
frozenset([11]) --> frozenset([24]) conf: 0.225446428571  lift: 26.0487962595
frozenset([24]) --> frozenset([11]) conf: 0.281337047354  lift: 26.0487962595
frozenset([44]) --> frozenset([2825]) conf: 0.327411167513  lift: 47.652685012
frozenset([2825]) --> frozenset([44]) conf: 0.452631578947  lift: 47.652685012
frozenset([1891]) --> frozenset([2792]) conf: 0.404347826087  lift: 60.115942029
frozenset([2792]) --> frozenset([1891]) conf: 0.333333333333  lift: 60.115942029
frozenset([2508]) --> frozenset([2347]) conf: 0.160839160839  lift: 21.8741258741
frozenset([2347]) --> frozenset([2508]) conf: 0.301639344262  lift: 21.8741258741
frozenset([5]) --> frozenset([2825]) conf: 0.172312223859  lift: 25.0789861251
frozenset([2825]) --> frozenset([5]) conf: 0.410526315789  lift: 25.0789861251
frozenset([44]) --> frozenset([89]) conf: 0.213197969543  lift: 21.6751269036
frozenset([89]) --> frozenset([44]) conf: 0.205882352941  lift: 21.6751269036
frozenset([635]) --> frozenset([634]) conf: 0.268361581921  lift: 34.1461301168
frozenset([634]) --> frozenset([635]) conf: 0.291411042945  lift: 34.1461301168
frozenset([2791]) --> frozenset([525]) conf: 0.277286135693  lift: 38.0855261873
frozenset([525]) --> frozenset([2791]) conf: 0.311258278146  lift: 38.0855261873
frozenset([6]) --> frozenset([34]) conf: 0.19587628866  lift: 24.1096393282
frozenset([34]) --> frozenset([6]) conf: 0.281899109792  lift: 24.1096393282
frozenset([2878]) --> frozenset([5]) conf: 0.535307517084  lift: 32.7018494973
frozenset([5]) --> frozenset([2878]) conf: 0.346097201767  lift: 32.7018494973
frozenset([2924]) --> frozenset([2793]) conf: 0.36820083682  lift: 55.9449476604
frozenset([2793]) --> frozenset([2924]) conf: 0.322344322344  lift: 55.9449476604
frozenset([2781]) --> frozenset([89]) conf: 0.300366300366  lift: 30.5372405372
frozenset([89]) --> frozenset([2781]) conf: 0.401960784314  lift: 30.5372405372
frozenset([6]) --> frozenset([2781]) conf: 0.334020618557  lift: 25.3757788603
frozenset([2781]) --> frozenset([6]) conf: 0.296703296703  lift: 25.3757788603
frozenset([44]) --> frozenset([2018]) conf: 0.502538071066  lift: 34.0053494092
frozenset([2018]) --> frozenset([44]) conf: 0.323001631321  lift: 34.0053494092
frozenset([2795]) --> frozenset([635]) conf: 0.355102040816  lift: 41.6091317883
frozenset([635]) --> frozenset([2795]) conf: 0.245762711864  lift: 41.6091317883
frozenset([501]) --> frozenset([1892]) conf: 0.427046263345  lift: 47.1113803286
frozenset([1892]) --> frozenset([501]) conf: 0.31914893617  lift: 47.1113803286
frozenset([78]) --> frozenset([2018]) conf: 0.390804597701  lift: 26.4446569537
frozenset([2018]) --> frozenset([78]) conf: 0.221859706362  lift: 26.4446569537
frozenset([3003]) --> frozenset([2793]) conf: 0.357446808511  lift: 54.3109656301
frozenset([2793]) --> frozenset([3003]) conf: 0.307692307692  lift: 54.3109656301
frozenset([2831]) --> frozenset([44]) conf: 0.238442822384  lift: 25.1030666815
frozenset([44]) --> frozenset([2831]) conf: 0.248730964467  lift: 25.1030666815
frozenset([10]) --> frozenset([104]) conf: 0.346153846154  lift: 30.8121492242
frozenset([104]) --> frozenset([10]) conf: 0.270386266094  lift: 30.8121492242
frozenset([20]) --> frozenset([11]) conf: 0.227828746177  lift: 21.0945008737
frozenset([11]) --> frozenset([20]) conf: 0.332589285714  lift: 21.0945008737
frozenset([2790]) --> frozenset([2793]) conf: 0.273504273504  lift: 41.5566200182
frozenset([2793]) --> frozenset([2790]) conf: 0.351648351648  lift: 41.5566200182
frozenset([2791]) --> frozenset([2525]) conf: 0.342182890855  lift: 44.2172782327
frozenset([2525]) --> frozenset([2791]) conf: 0.361370716511  lift: 44.2172782327
frozenset([18]) --> frozenset([1]) conf: 0.314285714286  lift: 30.819317798
frozenset([1]) --> frozenset([18]) conf: 0.260047281324  lift: 30.819317798
frozenset([1938]) --> frozenset([632]) conf: 0.391472868217  lift: 51.2249040178
frozenset([632]) --> frozenset([1938]) conf: 0.318611987382  lift: 51.2249040178
frozenset([6]) --> frozenset([1]) conf: 0.286597938144  lift: 28.1042138871
frozenset([1]) --> frozenset([6]) conf: 0.328605200946  lift: 28.1042138871
frozenset([2871]) --> frozenset([5]) conf: 0.535294117647  lift: 32.7010309278
frozenset([5]) --> frozenset([2871]) conf: 0.134020618557  lift: 32.7010309278
frozenset([1892]) --> frozenset([2788]) conf: 0.276595744681  lift: 40.2568122434
frozenset([2788]) --> frozenset([1892]) conf: 0.364912280702  lift: 40.2568122434
frozenset([2791]) --> frozenset([1892]) conf: 0.371681415929  lift: 41.0035774807
frozenset([1892]) --> frozenset([2791]) conf: 0.335106382979  lift: 41.0035774807
frozenset([2839]) --> frozenset([5]) conf: 0.476648351648  lift: 29.1183705838
frozenset([5]) --> frozenset([2839]) conf: 0.511045655376  lift: 29.1183705838
frozenset([24]) --> frozenset([104]) conf: 0.311977715877  lift: 27.7700335936
frozenset([104]) --> frozenset([24]) conf: 0.240343347639  lift: 27.7700335936
frozenset([44]) --> frozenset([104]) conf: 0.271573604061  lift: 24.1735474173
frozenset([104]) --> frozenset([44]) conf: 0.229613733906  lift: 24.1735474173
frozenset([2791]) --> frozenset([2924]) conf: 0.247787610619  lift: 43.0051468138
frozenset([2924]) --> frozenset([2791]) conf: 0.351464435146  lift: 43.0051468138
frozenset([89]) --> frozenset([80]) conf: 0.289215686275  lift: 22.5501253133
frozenset([80]) --> frozenset([89]) conf: 0.221804511278  lift: 22.5501253133
frozenset([20]) --> frozenset([2825]) conf: 0.17125382263  lift: 24.9249423252
frozenset([2825]) --> frozenset([20]) conf: 0.39298245614  lift: 24.9249423252
frozenset([47]) --> frozenset([11]) conf: 0.446078431373  lift: 41.3020833333
frozenset([11]) --> frozenset([47]) conf: 0.203125  lift: 41.3020833333
frozenset([78]) --> frozenset([80]) conf: 0.298850574713  lift: 23.3013568404
frozenset([80]) --> frozenset([78]) conf: 0.195488721805  lift: 23.3013568404
frozenset([2508]) --> frozenset([44]) conf: 0.243006993007  lift: 25.5835788577
frozenset([44]) --> frozenset([2508]) conf: 0.352791878173  lift: 25.5835788577
frozenset([78]) --> frozenset([104]) conf: 0.304597701149  lift: 27.1131172611
frozenset([104]) --> frozenset([78]) conf: 0.227467811159  lift: 27.1131172611
frozenset([3055]) --> frozenset([2838]) conf: 0.39336492891  lift: 55.8793741479
frozenset([2838]) --> frozenset([3055]) conf: 0.284246575342  lift: 55.8793741479
frozenset([11]) --> frozenset([41]) conf: 0.296875  lift: 36.9801051051
frozenset([41]) --> frozenset([11]) conf: 0.399399399399  lift: 36.9801051051
frozenset([80]) --> frozenset([2840]) conf: 0.261278195489  lift: 23.1083572471
frozenset([2840]) --> frozenset([80]) conf: 0.296375266525  lift: 23.1083572471
frozenset([2018]) --> frozenset([104]) conf: 0.231647634584  lift: 20.6196220655
frozenset([104]) --> frozenset([2018]) conf: 0.304721030043  lift: 20.6196220655
frozenset([635]) --> frozenset([2866]) conf: 0.268361581921  lift: 47.9812000779
frozenset([2866]) --> frozenset([635]) conf: 0.409482758621  lift: 47.9812000779
frozenset([2508]) --> frozenset([2018]) conf: 0.342657342657  lift: 23.1866665146
frozenset([2018]) --> frozenset([2508]) conf: 0.319738988581  lift: 23.1866665146
frozenset([1892]) --> frozenset([632]) conf: 0.265957446809  lift: 34.8009933553
frozenset([632]) --> frozenset([1892]) conf: 0.315457413249  lift: 34.8009933553
frozenset([1]) --> frozenset([80]) conf: 0.36170212766  lift: 28.201887698
frozenset([80]) --> frozenset([1]) conf: 0.287593984962  lift: 28.201887698
frozenset([20]) --> frozenset([104]) conf: 0.247706422018  lift: 22.0490609127
frozenset([104]) --> frozenset([20]) conf: 0.347639484979  lift: 22.0490609127
frozenset([18]) --> frozenset([104]) conf: 0.257142857143  lift: 22.889025138
frozenset([104]) --> frozenset([18]) conf: 0.19313304721  lift: 22.889025138
frozenset([1899]) --> frozenset([634]) conf: 0.28  lift: 35.626993865
frozenset([634]) --> frozenset([1899]) conf: 0.300613496933  lift: 35.626993865
frozenset([2508]) --> frozenset([41]) conf: 0.162587412587  lift: 20.2526302526
frozenset([41]) --> frozenset([2508]) conf: 0.279279279279  lift: 20.2526302526
frozenset([2525]) --> frozenset([1938]) conf: 0.299065420561  lift: 48.0823009491
frozenset([1938]) --> frozenset([2525]) conf: 0.372093023256  lift: 48.0823009491
frozenset([2791]) --> frozenset([501]) conf: 0.262536873156  lift: 38.7545533755
frozenset([501]) --> frozenset([2791]) conf: 0.316725978648  lift: 38.7545533755
frozenset([34]) --> frozenset([10]) conf: 0.252225519288  lift: 28.7426223628
frozenset([10]) --> frozenset([34]) conf: 0.233516483516  lift: 28.7426223628
frozenset([39]) --> frozenset([44]) conf: 0.231225296443  lift: 24.3432114123
frozenset([44]) --> frozenset([39]) conf: 0.296954314721  lift: 24.3432114123
frozenset([2878]) --> frozenset([2840]) conf: 0.441913439636  lift: 39.084369885
frozenset([2840]) --> frozenset([2878]) conf: 0.413646055437  lift: 39.084369885
frozenset([3003]) --> frozenset([2792]) conf: 0.357446808511  lift: 53.1429878746
frozenset([2792]) --> frozenset([3003]) conf: 0.301075268817  lift: 53.1429878746
frozenset([29]) --> frozenset([104]) conf: 0.243980738363  lift: 21.7174270972
frozenset([104]) --> frozenset([29]) conf: 0.326180257511  lift: 21.7174270972
frozenset([39]) --> frozenset([11]) conf: 0.284584980237  lift: 26.3495200452
frozenset([11]) --> frozenset([39]) conf: 0.321428571429  lift: 26.3495200452
frozenset([2839]) --> frozenset([2871]) conf: 0.118131868132  lift: 28.8241758242
frozenset([2871]) --> frozenset([2839]) conf: 0.505882352941  lift: 28.8241758242
frozenset([501]) --> frozenset([2788]) conf: 0.313167259786  lift: 45.5795717051
frozenset([2788]) --> frozenset([501]) conf: 0.308771929825  lift: 45.5795717051
frozenset([501]) --> frozenset([634]) conf: 0.345195729537  lift: 43.9224504945
frozenset([634]) --> frozenset([501]) conf: 0.29754601227  lift: 43.9224504945
frozenset([6]) --> frozenset([2512]) conf: 0.175257731959  lift: 34.9504361618
frozenset([2512]) --> frozenset([6]) conf: 0.408653846154  lift: 34.9504361618
frozenset([5]) --> frozenset([2883]) conf: 0.173784977909  lift: 31.2060644314
frozenset([2883]) --> frozenset([5]) conf: 0.510822510823  lift: 31.2060644314
frozenset([47]) --> frozenset([2018]) conf: 0.416666666667  lift: 28.1946710169
frozenset([2018]) --> frozenset([47]) conf: 0.138662316476  lift: 28.1946710169
frozenset([3056]) --> frozenset([2840]) conf: 0.433098591549  lift: 38.3047538965
frozenset([2840]) --> frozenset([3056]) conf: 0.262260127932  lift: 38.3047538965
frozenset([20]) --> frozenset([1]) conf: 0.221712538226  lift: 21.7414564672
frozenset([1]) --> frozenset([20]) conf: 0.342789598109  lift: 21.7414564672
frozenset([20]) --> frozenset([44]) conf: 0.288990825688  lift: 30.4247194151
frozenset([44]) --> frozenset([20]) conf: 0.479695431472  lift: 30.4247194151
frozenset([2781]) --> frozenset([80]) conf: 0.355311355311  lift: 27.7035996585
frozenset([80]) --> frozenset([2781]) conf: 0.364661654135  lift: 27.7035996585
frozenset([635]) --> frozenset([632]) conf: 0.381355932203  lift: 49.9010853874
frozenset([632]) --> frozenset([635]) conf: 0.425867507886  lift: 49.9010853874
frozenset([2878]) --> frozenset([80]) conf: 0.28701594533  lift: 22.3786116773
frozenset([80]) --> frozenset([2878]) conf: 0.236842105263  lift: 22.3786116773
frozenset([1891]) --> frozenset([632]) conf: 0.382608695652  lift: 50.0650116582
frozenset([632]) --> frozenset([1891]) conf: 0.277602523659  lift: 50.0650116582
frozenset([20]) --> frozenset([2512]) conf: 0.166666666667  lift: 33.2371794872
frozenset([2512]) --> frozenset([20]) conf: 0.524038461538  lift: 33.2371794872
frozenset([41]) --> frozenset([104]) conf: 0.345345345345  lift: 30.7401822423
frozenset([104]) --> frozenset([41]) conf: 0.24678111588  lift: 30.7401822423
frozenset([2878]) --> frozenset([2826]) conf: 0.220956719818  lift: 42.2363351983
frozenset([2826]) --> frozenset([2878]) conf: 0.447004608295  lift: 42.2363351983
frozenset([632]) --> frozenset([2792]) conf: 0.321766561514  lift: 47.8382687154
frozenset([2792]) --> frozenset([632]) conf: 0.365591397849  lift: 47.8382687154
frozenset([2790]) --> frozenset([501]) conf: 0.25641025641  lift: 37.850168811
frozenset([501]) --> frozenset([2790]) conf: 0.320284697509  lift: 37.850168811
frozenset([519]) --> frozenset([634]) conf: 0.312727272727  lift: 39.7911879532
frozenset([634]) --> frozenset([519]) conf: 0.263803680982  lift: 39.7911879532
frozenset([2839]) --> frozenset([89]) conf: 0.251373626374  lift: 25.5563186813
frozenset([89]) --> frozenset([2839]) conf: 0.448529411765  lift: 25.5563186813
frozenset([525]) --> frozenset([634]) conf: 0.278145695364  lift: 35.3910535083
frozenset([634]) --> frozenset([525]) conf: 0.257668711656  lift: 35.3910535083
frozenset([3003]) --> frozenset([632]) conf: 0.353191489362  lift: 46.2157191758
frozenset([632]) --> frozenset([3003]) conf: 0.261829652997  lift: 46.2157191758
frozenset([2838]) --> frozenset([189]) conf: 0.308219178082  lift: 53.0495083272
frozenset([189]) --> frozenset([2838]) conf: 0.373443983402  lift: 53.0495083272
frozenset([2790]) --> frozenset([634]) conf: 0.307692307692  lift: 39.1505427088
frozenset([634]) --> frozenset([2790]) conf: 0.331288343558  lift: 39.1505427088
frozenset([39]) --> frozenset([41]) conf: 0.262845849802  lift: 32.7412788282
frozenset([41]) --> frozenset([39]) conf: 0.399399399399  lift: 32.7412788282
frozenset([2883]) --> frozenset([2840]) conf: 0.419913419913  lift: 37.1386112111
frozenset([2840]) --> frozenset([2883]) conf: 0.206823027719  lift: 37.1386112111
frozenset([6]) --> frozenset([80]) conf: 0.420618556701  lift: 32.7955972405
frozenset([80]) --> frozenset([6]) conf: 0.383458646617  lift: 32.7955972405
frozenset([2826]) --> frozenset([2840]) conf: 0.423963133641  lift: 37.4967820542
frozenset([2840]) --> frozenset([2826]) conf: 0.196162046908  lift: 37.4967820542
frozenset([2831]) --> frozenset([2018]) conf: 0.345498783455  lift: 23.378938887
frozenset([2018]) --> frozenset([2831]) conf: 0.231647634584  lift: 23.378938887
frozenset([525]) --> frozenset([501]) conf: 0.284768211921  lift: 42.0362470835
frozenset([501]) --> frozenset([525]) conf: 0.306049822064  lift: 42.0362470835
frozenset([34]) --> frozenset([1]) conf: 0.326409495549  lift: 32.0081935588
frozenset([1]) --> frozenset([34]) conf: 0.260047281324  lift: 32.0081935588
frozenset([519]) --> frozenset([1892]) conf: 0.301818181818  lift: 33.2963249516
frozenset([1892]) --> frozenset([519]) conf: 0.220744680851  lift: 33.2963249516
frozenset([29]) --> frozenset([74]) conf: 0.138041733547  lift: 30.2961434262
frozenset([74]) --> frozenset([29]) conf: 0.455026455026  lift: 30.2961434262
frozenset([2887]) --> frozenset([2034]) conf: 0.318518518519  lift: 37.2173187272
frozenset([2034]) --> frozenset([2887]) conf: 0.242253521127  lift: 37.2173187272
frozenset([1735]) --> frozenset([104]) conf: 0.380753138075  lift: 33.8919316896
frozenset([104]) --> frozenset([1735]) conf: 0.195278969957  lift: 33.8919316896
frozenset([78]) --> frozenset([6]) conf: 0.316091954023  lift: 27.0340087688
frozenset([6]) --> frozenset([78]) conf: 0.226804123711  lift: 27.0340087688
frozenset([29]) --> frozenset([10]) conf: 0.197431781701  lift: 22.4985447939
frozenset([10]) --> frozenset([29]) conf: 0.337912087912  lift: 22.4985447939
frozenset([78]) --> frozenset([10]) conf: 0.244252873563  lift: 27.8340911962
frozenset([10]) --> frozenset([78]) conf: 0.233516483516  lift: 27.8340911962
frozenset([5]) --> frozenset([2840]) conf: 0.338733431517  lift: 29.958769167
frozenset([2840]) --> frozenset([5]) conf: 0.490405117271  lift: 29.958769167
frozenset([2924]) --> frozenset([632]) conf: 0.364016736402  lift: 47.6322215329
frozenset([632]) --> frozenset([2924]) conf: 0.274447949527  lift: 47.6322215329
frozenset([20]) --> frozenset([24]) conf: 0.174311926606  lift: 20.1405535253
frozenset([24]) --> frozenset([20]) conf: 0.317548746518  lift: 20.1405535253
frozenset([20]) --> frozenset([80]) conf: 0.347094801223  lift: 27.062955554
frozenset([80]) --> frozenset([20]) conf: 0.426691729323  lift: 27.062955554
frozenset([2525]) --> frozenset([2792]) conf: 0.320872274143  lift: 47.7053115823
frozenset([2792]) --> frozenset([2525]) conf: 0.36917562724  lift: 47.7053115823
frozenset([5]) --> frozenset([2512]) conf: 0.147275405007  lift: 29.3701144217
frozenset([2512]) --> frozenset([5]) conf: 0.480769230769  lift: 29.3701144217
frozenset([78]) --> frozenset([11]) conf: 0.26724137931  lift: 24.7436884236
frozenset([11]) --> frozenset([78]) conf: 0.207589285714  lift: 24.7436884236
frozenset([6]) --> frozenset([75]) conf: 0.263917525773  lift: 33.3759114911
frozenset([75]) --> frozenset([6]) conf: 0.390243902439  lift: 33.3759114911
frozenset([3018]) --> frozenset([3016]) conf: 0.693548387097  lift: 243.799890651
frozenset([3016]) --> frozenset([3018]) conf: 0.728813559322  lift: 243.799890651
frozenset([2018]) --> frozenset([2825]) conf: 0.225122349103  lift: 32.7651755817
frozenset([2825]) --> frozenset([2018]) conf: 0.484210526316  lift: 32.7651755817
frozenset([5]) --> frozenset([89]) conf: 0.294550810015  lift: 29.9459990182
frozenset([89]) --> frozenset([5]) conf: 0.490196078431  lift: 29.9459990182
frozenset([75]) --> frozenset([18]) conf: 0.274390243902  lift: 32.5191637631
frozenset([18]) --> frozenset([75]) conf: 0.257142857143  lift: 32.5191637631
frozenset([2878]) --> frozenset([3056]) conf: 0.29840546697  lift: 43.5840097533
frozenset([3056]) --> frozenset([2878]) conf: 0.461267605634  lift: 43.5840097533
frozenset([2839]) --> frozenset([80]) conf: 0.303571428571  lift: 23.6694414608
frozenset([80]) --> frozenset([2839]) conf: 0.415413533835  lift: 23.6694414608
frozenset([2029]) --> frozenset([2034]) conf: 0.29702970297  lift: 34.7064565611
frozenset([2034]) --> frozenset([2029]) conf: 0.253521126761  lift: 34.7064565611
frozenset([39]) --> frozenset([2774]) conf: 0.209486166008  lift: 32.4234558433
frozenset([2774]) --> frozenset([39]) conf: 0.39552238806  lift: 32.4234558433
frozenset([5]) --> frozenset([2832]) conf: 0.153166421208  lift: 36.9380415796
frozenset([2832]) --> frozenset([5]) conf: 0.604651162791  lift: 36.9380415796
frozenset([34]) --> frozenset([104]) conf: 0.305637982196  lift: 27.2057156684
frozenset([104]) --> frozenset([34]) conf: 0.221030042918  lift: 27.2057156684
frozenset([2525]) --> frozenset([2793]) conf: 0.308411214953  lift: 46.8604292903
frozenset([2793]) --> frozenset([2525]) conf: 0.362637362637  lift: 46.8604292903
frozenset([196]) --> frozenset([41]) conf: 0.394849785408  lift: 49.1842915877
frozenset([41]) --> frozenset([196]) conf: 0.276276276276  lift: 49.1842915877
frozenset([2791]) --> frozenset([2793]) conf: 0.271386430678  lift: 41.2348320313
frozenset([2793]) --> frozenset([2791]) conf: 0.336996336996  lift: 41.2348320313
frozenset([635]) --> frozenset([2792]) conf: 0.285310734463  lift: 42.4182410951
frozenset([2792]) --> frozenset([635]) conf: 0.362007168459  lift: 42.4182410951
frozenset([11]) --> frozenset([2018]) conf: 0.334821428571  lift: 22.6564320671
frozenset([2018]) --> frozenset([11]) conf: 0.244698205546  lift: 22.6564320671
frozenset([1892]) --> frozenset([634]) conf: 0.287234042553  lift: 36.5474481138
frozenset([634]) --> frozenset([1892]) conf: 0.331288343558  lift: 36.5474481138
frozenset([10]) --> frozenset([2018]) conf: 0.313186813187  lift: 21.1924779951
frozenset([2018]) --> frozenset([10]) conf: 0.185970636215  lift: 21.1924779951
frozenset([2830]) --> frozenset([2840]) conf: 0.38683127572  lift: 34.212710697
frozenset([2840]) --> frozenset([2830]) conf: 0.200426439232  lift: 34.212710697
frozenset([2774]) --> frozenset([44]) conf: 0.421641791045  lift: 44.390105311
frozenset([44]) --> frozenset([2774]) conf: 0.286802030457  lift: 44.390105311
frozenset([5]) --> frozenset([75]) conf: 0.160530191458  lift: 20.3011961637
frozenset([75]) --> frozenset([5]) conf: 0.332317073171  lift: 20.3011961637
frozenset([1892]) --> frozenset([635]) conf: 0.316489361702  lift: 37.0846856593
frozenset([635]) --> frozenset([1892]) conf: 0.33615819209  lift: 37.0846856593
frozenset([2018]) --> frozenset([80]) conf: 0.296900489396  lift: 23.1493088349
frozenset([80]) --> frozenset([2018]) conf: 0.342105263158  lift: 23.1493088349
frozenset([6]) --> frozenset([5]) conf: 0.40618556701  lift: 24.8138104854
frozenset([5]) --> frozenset([6]) conf: 0.290132547865  lift: 24.8138104854
frozenset([635]) --> frozenset([1891]) conf: 0.251412429379  lift: 45.3416850897
frozenset([1891]) --> frozenset([635]) conf: 0.386956521739  lift: 45.3416850897
frozenset([5]) --> frozenset([3056]) conf: 0.187039764359  lift: 27.318343048
frozenset([3056]) --> frozenset([5]) conf: 0.447183098592  lift: 27.318343048
frozenset([2839]) --> frozenset([6]) conf: 0.241758241758  lift: 20.6765605528
frozenset([6]) --> frozenset([2839]) conf: 0.362886597938  lift: 20.6765605528
frozenset([2790]) --> frozenset([2788]) conf: 0.296296296296  lift: 43.1241065627
frozenset([2788]) --> frozenset([2790]) conf: 0.364912280702  lift: 43.1241065627
frozenset([44]) --> frozenset([10]) conf: 0.210659898477  lift: 24.0059686506
frozenset([10]) --> frozenset([44]) conf: 0.228021978022  lift: 24.0059686506
frozenset([78]) --> frozenset([20]) conf: 0.362068965517  lift: 22.964251819
frozenset([20]) --> frozenset([78]) conf: 0.192660550459  lift: 22.964251819
frozenset([2793]) --> frozenset([2792]) conf: 0.347985347985  lift: 51.7363162524
frozenset([2792]) --> frozenset([2793]) conf: 0.340501792115  lift: 51.7363162524
frozenset([2924]) --> frozenset([2866]) conf: 0.347280334728  lift: 62.0913288126
frozenset([2866]) --> frozenset([2924]) conf: 0.35775862069  lift: 62.0913288126
frozenset([2839]) --> frozenset([2781]) conf: 0.379120879121  lift: 28.8020770438
frozenset([2781]) --> frozenset([2839]) conf: 0.505494505495  lift: 28.8020770438
frozenset([1892]) --> frozenset([2795]) conf: 0.223404255319  lift: 37.8237082067
frozenset([2795]) --> frozenset([1892]) conf: 0.342857142857  lift: 37.8237082067
frozenset([75]) --> frozenset([34]) conf: 0.332317073171  lift: 40.9035970182
frozenset([34]) --> frozenset([75]) conf: 0.323442136499  lift: 40.9035970182
frozenset([44]) --> frozenset([11]) conf: 0.329949238579  lift: 30.549764322
frozenset([11]) --> frozenset([44]) conf: 0.290178571429  lift: 30.549764322
frozenset([2831]) --> frozenset([2825]) conf: 0.209245742092  lift: 30.4544329193
frozenset([2825]) --> frozenset([2831]) conf: 0.301754385965  lift: 30.4544329193
frozenset([634]) --> frozenset([632]) conf: 0.29754601227  lift: 38.9344119525
frozenset([632]) --> frozenset([634]) conf: 0.305993690852  lift: 38.9344119525
frozenset([2878]) --> frozenset([89]) conf: 0.334851936219  lift: 34.0432801822
frozenset([89]) --> frozenset([2878]) conf: 0.360294117647  lift: 34.0432801822
frozenset([2781]) --> frozenset([20]) conf: 0.320512820513  lift: 20.3285501451
frozenset([20]) --> frozenset([2781]) conf: 0.267584097859  lift: 20.3285501451
frozenset([2791]) --> frozenset([2788]) conf: 0.271386430678  lift: 39.4986285773
frozenset([2788]) --> frozenset([2791]) conf: 0.322807017544  lift: 39.4986285773
frozenset([1891]) --> frozenset([1938]) conf: 0.386956521739  lift: 62.2130097742
frozenset([1938]) --> frozenset([1891]) conf: 0.34496124031  lift: 62.2130097742
frozenset([1892]) --> frozenset([1899]) conf: 0.265957446809  lift: 31.5197568389
frozenset([1899]) --> frozenset([1892]) conf: 0.285714285714  lift: 31.5197568389
frozenset([18]) --> frozenset([34]) conf: 0.271428571429  lift: 33.4090716405
frozenset([34]) --> frozenset([18]) conf: 0.281899109792  lift: 33.4090716405
frozenset([2839]) --> frozenset([2830]) conf: 0.156593406593  lift: 26.7304300638
frozenset([2830]) --> frozenset([2839]) conf: 0.469135802469  lift: 26.7304300638
frozenset([2839]) --> frozenset([1]) conf: 0.207417582418  lift: 20.3396721482
frozenset([1]) --> frozenset([2839]) conf: 0.356973995272  lift: 20.3396721482
frozenset([2791]) --> frozenset([2866]) conf: 0.268436578171  lift: 47.9946088902
frozenset([2866]) --> frozenset([2791]) conf: 0.39224137931  lift: 47.9946088902
frozenset([78]) --> frozenset([44]) conf: 0.408045977011  lift: 42.9587490519
frozenset([44]) --> frozenset([78]) conf: 0.360406091371  lift: 42.9587490519
frozenset([2791]) --> frozenset([635]) conf: 0.410029498525  lift: 48.0452644034
frozenset([635]) --> frozenset([2791]) conf: 0.392655367232  lift: 48.0452644034
frozenset([5]) --> frozenset([2826]) conf: 0.187039764359  lift: 35.7530388278
frozenset([2826]) --> frozenset([5]) conf: 0.585253456221  lift: 35.7530388278
frozenset([2018]) --> frozenset([41]) conf: 0.181076672104  lift: 22.5557368135
frozenset([41]) --> frozenset([2018]) conf: 0.333333333333  lift: 22.5557368135
frozenset([2034]) --> frozenset([2064]) conf: 0.281690140845  lift: 36.1749444033
frozenset([2064]) --> frozenset([2034]) conf: 0.30959752322  lift: 36.1749444033
frozenset([2791]) --> frozenset([2792]) conf: 0.321533923304  lift: 47.8036815005
frozenset([2792]) --> frozenset([2791]) conf: 0.390681003584  lift: 47.8036815005
frozenset([2525]) --> frozenset([2788]) conf: 0.271028037383  lift: 39.4464666339
frozenset([2788]) --> frozenset([2525]) conf: 0.305263157895  lift: 39.4464666339
frozenset([5]) --> frozenset([80]) conf: 0.350515463918  lift: 27.3296643671
frozenset([80]) --> frozenset([5]) conf: 0.447368421053  lift: 27.3296643671
frozenset([2788]) --> frozenset([634]) conf: 0.350877192982  lift: 44.6453557206
frozenset([634]) --> frozenset([2788]) conf: 0.306748466258  lift: 44.6453557206
frozenset([1938]) --> frozenset([2793]) conf: 0.321705426357  lift: 48.8803702757
frozenset([2793]) --> frozenset([1938]) conf: 0.304029304029  lift: 48.8803702757
frozenset([2839]) --> frozenset([2832]) conf: 0.146978021978  lift: 35.4456299514
frozenset([2832]) --> frozenset([2839]) conf: 0.622093023256  lift: 35.4456299514
frozenset([635]) --> frozenset([1899]) conf: 0.290960451977  lift: 34.4829701372
frozenset([1899]) --> frozenset([635]) conf: 0.294285714286  lift: 34.4829701372
frozenset([29]) --> frozenset([41]) conf: 0.208667736758  lift: 25.9926057679
frozenset([41]) --> frozenset([29]) conf: 0.39039039039  lift: 25.9926057679
frozenset([29]) --> frozenset([196]) conf: 0.170144462279  lift: 30.2900956882
frozenset([196]) --> frozenset([29]) conf: 0.454935622318  lift: 30.2900956882
frozenset([39]) --> frozenset([10]) conf: 0.274703557312  lift: 31.304130652
frozenset([10]) --> frozenset([39]) conf: 0.381868131868  lift: 31.304130652
frozenset([2839]) --> frozenset([3056]) conf: 0.173076923077  lift: 25.2789815818
frozenset([3056]) --> frozenset([2839]) conf: 0.443661971831  lift: 25.2789815818
frozenset([635]) --> frozenset([1938]) conf: 0.290960451977  lift: 46.7792230544
frozenset([1938]) --> frozenset([635]) conf: 0.399224806202  lift: 46.7792230544
frozenset([44]) --> frozenset([41]) conf: 0.230964467005  lift: 28.7699882624
frozenset([41]) --> frozenset([44]) conf: 0.273273273273  lift: 28.7699882624
frozenset([20]) --> frozenset([75]) conf: 0.214067278287  lift: 27.0716789737
frozenset([75]) --> frozenset([20]) conf: 0.426829268293  lift: 27.0716789737
frozenset([2866]) --> frozenset([632]) conf: 0.370689655172  lift: 48.5053845317
frozenset([632]) --> frozenset([2866]) conf: 0.271293375394  lift: 48.5053845317
frozenset([477]) --> frozenset([2525]) conf: 0.281879194631  lift: 36.424763219
frozenset([2525]) --> frozenset([477]) conf: 0.261682242991  lift: 36.424763219
frozenset([20]) --> frozenset([41]) conf: 0.162079510703  lift: 20.1893636756
frozenset([41]) --> frozenset([20]) conf: 0.318318318318  lift: 20.1893636756
frozenset([75]) --> frozenset([80]) conf: 0.44512195122  lift: 34.7061250688
frozenset([80]) --> frozenset([75]) conf: 0.274436090226  lift: 34.7061250688
frozenset([164]) --> frozenset([80]) conf: 0.470319634703  lift: 36.6707865554
frozenset([80]) --> frozenset([164]) conf: 0.193609022556  lift: 36.6707865554
frozenset([2788]) --> frozenset([635]) conf: 0.301754385965  lift: 35.3581127961
frozenset([635]) --> frozenset([2788]) conf: 0.242937853107  lift: 35.3581127961
frozenset([11]) --> frozenset([104]) conf: 0.350446428571  lift: 31.1942443286
frozenset([104]) --> frozenset([11]) conf: 0.336909871245  lift: 31.1942443286
frozenset([2791]) --> frozenset([2795]) conf: 0.262536873156  lift: 44.449099994
frozenset([2795]) --> frozenset([2791]) conf: 0.363265306122  lift: 44.449099994
frozenset([29]) --> frozenset([11]) conf: 0.23113964687  lift: 21.4010548039
frozenset([11]) --> frozenset([29]) conf: 0.321428571429  lift: 21.4010548039
frozenset([2830]) --> frozenset([89]) conf: 0.349794238683  lift: 35.5624142661
frozenset([89]) --> frozenset([2830]) conf: 0.208333333333  lift: 35.5624142661
frozenset([11]) --> frozenset([34]) conf: 0.209821428571  lift: 25.8260915642
frozenset([34]) --> frozenset([11]) conf: 0.278931750742  lift: 25.8260915642
frozenset([5]) --> frozenset([164]) conf: 0.148748159057  lift: 28.173852227
frozenset([164]) --> frozenset([5]) conf: 0.461187214612  lift: 28.173852227
frozenset([1735]) --> frozenset([39]) conf: 0.376569037657  lift: 30.8697305969
frozenset([39]) --> frozenset([1735]) conf: 0.177865612648  lift: 30.8697305969
frozenset([525]) --> frozenset([1899]) conf: 0.298013245033  lift: 35.3188268685
frozenset([1899]) --> frozenset([525]) conf: 0.257142857143  lift: 35.3188268685
frozenset([2839]) --> frozenset([164]) conf: 0.135989010989  lift: 25.7571880175
frozenset([164]) --> frozenset([2839]) conf: 0.452054794521  lift: 25.7571880175
frozenset([2831]) --> frozenset([2774]) conf: 0.248175182482  lift: 38.4115916767
frozenset([2774]) --> frozenset([2831]) conf: 0.380597014925  lift: 38.4115916767
frozenset([2791]) --> frozenset([2789]) conf: 0.244837758112  lift: 54.0205862047
frozenset([2789]) --> frozenset([2791]) conf: 0.441489361702  lift: 54.0205862047
frozenset([2790]) --> frozenset([635]) conf: 0.376068376068  lift: 44.0658650828
frozenset([635]) --> frozenset([2790]) conf: 0.372881355932  lift: 44.0658650828
frozenset([44]) --> frozenset([2018, 11]) conf: 0.223350253807  lift: 61.7637901861
frozenset([11]) --> frozenset([2018, 44]) conf: 0.196428571429  lift: 41.1507936508
frozenset([2018]) --> frozenset([11, 44]) conf: 0.143556280587  lift: 45.8054962982
frozenset([20]) --> frozenset([2018, 44]) conf: 0.203363914373  lift: 42.6037129707
frozenset([2018]) --> frozenset([20, 44]) conf: 0.216965742251  lift: 47.6176666062
frozenset([44]) --> frozenset([2018, 20]) conf: 0.337563451777  lift: 56.2334617658
frozenset([6]) --> frozenset([80, 1]) conf: 0.171134020619  lift: 46.3963344788
frozenset([1]) --> frozenset([80, 6]) conf: 0.19621749409  lift: 39.8975571316
frozenset([80]) --> frozenset([1, 6]) conf: 0.156015037594  lift: 46.5575810029
frozenset([6]) --> frozenset([80, 20]) conf: 0.243298969072  lift: 44.458331441
frozenset([20]) --> frozenset([80, 6]) conf: 0.180428134557  lift: 36.6870540265
frozenset([80]) --> frozenset([20, 6]) conf: 0.221804511278  lift: 47.6707312322
frozenset([2839]) --> frozenset([80, 89]) conf: 0.115384615385  lift: 40.5606258149
frozenset([89]) --> frozenset([80, 2839]) conf: 0.205882352941  lift: 38.6425339367
frozenset([80]) --> frozenset([89, 2839]) conf: 0.157894736842  lift: 35.7894736842
frozenset([2839]) --> frozenset([2018, 5]) conf: 0.179945054945  lift: 41.2382369012
frozenset([5]) --> frozenset([2018, 2839]) conf: 0.19293078056  lift: 45.7301073007
frozenset([2018]) --> frozenset([5, 2839]) conf: 0.213703099511  lift: 25.545834489
frozenset([5]) --> frozenset([80, 2781]) conf: 0.20765832106  lift: 44.4003461731
frozenset([2781]) --> frozenset([80, 5]) conf: 0.258241758242  lift: 45.0078492936
frozenset([80]) --> frozenset([2781, 5]) conf: 0.265037593985  lift: 42.2836899942
frozenset([2878]) --> frozenset([89, 2781]) conf: 0.216400911162  lift: 54.7335963109
frozenset([2781]) --> frozenset([89, 2878]) conf: 0.173992673993  lift: 49.0967082804
frozenset([89]) --> frozenset([2781, 2878]) conf: 0.232843137255  lift: 53.95716946
frozenset([6]) --> frozenset([18, 20]) conf: 0.173195876289  lift: 48.2158721373
frozenset([20]) --> frozenset([18, 6]) conf: 0.128440366972  lift: 41.622706422
frozenset([18]) --> frozenset([20, 6]) conf: 0.24  lift: 51.5813471503
frozenset([2839]) --> frozenset([2781, 6]) conf: 0.14010989011  lift: 35.8750508751
frozenset([6]) --> frozenset([2781, 2839]) conf: 0.210309278351  lift: 31.6073509637
frozenset([2781]) --> frozenset([6, 2839]) conf: 0.186813186813  lift: 44.0284715285
frozenset([78]) --> frozenset([2018, 44]) conf: 0.247126436782  lift: 51.7717403924
frozenset([44]) --> frozenset([2018, 78]) conf: 0.218274111675  lift: 66.5736040609
frozenset([2018]) --> frozenset([44, 78]) conf: 0.140293637847  lift: 40.9815499851
frozenset([2839]) --> frozenset([44, 5]) conf: 0.153846153846  lift: 44.0106100796
frozenset([5]) --> frozenset([44, 2839]) conf: 0.164948453608  lift: 50.6819396716
frozenset([44]) --> frozenset([5, 2839]) conf: 0.284263959391  lift: 33.9806024079
frozenset([44]) --> frozenset([104, 20]) conf: 0.218274111675  lift: 55.8889515573
frozenset([20]) --> frozenset([104, 44]) conf: 0.131498470948  lift: 50.9771642516
frozenset([104]) --> frozenset([44, 20]) conf: 0.184549356223  lift: 40.5032132071
frozenset([2839]) --> frozenset([2825, 5]) conf: 0.127747252747  lift: 45.2902225979
frozenset([5]) --> frozenset([2825, 2839]) conf: 0.136966126657  lift: 51.6486812157
frozenset([2825]) --> frozenset([5, 2839]) conf: 0.326315789474  lift: 39.007432125
frozenset([39]) --> frozenset([2018, 44]) conf: 0.167984189723  lift: 35.191839342
frozenset([44]) --> frozenset([2018, 39]) conf: 0.215736040609  lift: 56.9982863979
frozenset([2018]) --> frozenset([44, 39]) conf: 0.138662316476  lift: 49.1599392089
frozenset([2839]) --> frozenset([2840, 80]) conf: 0.134615384615  lift: 40.1715550636
frozenset([80]) --> frozenset([2840, 2839]) conf: 0.184210526316  lift: 31.8377192982
frozenset([2840]) --> frozenset([80, 2839]) conf: 0.208955223881  lift: 39.2192881745
frozenset([2774]) --> frozenset([2018, 20]) conf: 0.339552238806  lift: 56.5647665288
frozenset([20]) --> frozenset([2018, 2774]) conf: 0.139143730887  lift: 41.8237822985
frozenset([2018]) --> frozenset([20, 2774]) conf: 0.148450244698  lift: 52.1840351702
frozenset([2839]) --> frozenset([89, 2878]) conf: 0.142857142857  lift: 40.3109815355
frozenset([2878]) --> frozenset([89, 2839]) conf: 0.236902050114  lift: 53.6977980258
frozenset([89]) --> frozenset([2878, 2839]) conf: 0.254901960784  lift: 47.4140508221
frozenset([20]) --> frozenset([11, 44]) conf: 0.136085626911  lift: 43.4217831099
frozenset([11]) --> frozenset([20, 44]) conf: 0.198660714286  lift: 43.6002456538
frozenset([44]) --> frozenset([11, 20]) conf: 0.225888324873  lift: 62.8848839982
frozenset([6]) --> frozenset([2018, 20]) conf: 0.181443298969  lift: 30.2259760692
frozenset([20]) --> frozenset([2018, 6]) conf: 0.134556574924  lift: 41.965464119
frozenset([2018]) --> frozenset([20, 6]) conf: 0.143556280587  lift: 30.8534431024
frozenset([2839]) --> frozenset([80, 20]) conf: 0.152472527473  lift: 27.8614997337
frozenset([20]) --> frozenset([80, 2839]) conf: 0.169724770642  lift: 31.8560338744
frozenset([80]) --> frozenset([20, 2839]) conf: 0.208646616541  lift: 43.4907620811
frozenset([2839]) --> frozenset([5, 78]) conf: 0.119505494505  lift: 42.7335164835
frozenset([78]) --> frozenset([5, 2839]) conf: 0.25  lift: 29.8847262248
frozenset([5]) --> frozenset([78, 2839]) conf: 0.128129602356  lift: 49.6711766892
frozenset([2878]) --> frozenset([89, 5]) conf: 0.259681093394  lift: 53.8578587699
frozenset([5]) --> frozenset([89, 2878]) conf: 0.167893961708  lift: 47.3757927324
frozenset([89]) --> frozenset([5, 2878]) conf: 0.279411764706  lift: 49.3191489362
frozenset([5]) --> frozenset([2840, 3056]) conf: 0.134020618557  lift: 45.1965468108
frozenset([3056]) --> frozenset([2840, 5]) conf: 0.320422535211  lift: 57.7875076546
frozenset([2840]) --> frozenset([3056, 5]) conf: 0.194029850746  lift: 63.3728992831
frozenset([6]) --> frozenset([80, 2781]) conf: 0.20206185567  lift: 43.2037410989
frozenset([2781]) --> frozenset([80, 6]) conf: 0.179487179487  lift: 36.4957264957
frozenset([80]) --> frozenset([2781, 6]) conf: 0.184210526316  lift: 47.166991553
frozenset([6]) --> frozenset([80, 18]) conf: 0.181443298969  lift: 50.5118660486
frozenset([18]) --> frozenset([80, 6]) conf: 0.251428571429  lift: 51.1238095238
frozenset([80]) --> frozenset([18, 6]) conf: 0.165413533835  lift: 53.6043233083
frozenset([39]) --> frozenset([2018, 20]) conf: 0.205533596838  lift: 34.2390907504
frozenset([20]) --> frozenset([2018, 39]) conf: 0.159021406728  lift: 42.0140633826
frozenset([2018]) --> frozenset([20, 39]) conf: 0.169657422512  lift: 50.9955788827
frozenset([2839]) --> frozenset([2018, 20]) conf: 0.138736263736  lift: 23.1115671477
frozenset([20]) --> frozenset([2018, 2839]) conf: 0.154434250765  lift: 36.6053298384
frozenset([2018]) --> frozenset([20, 2839]) conf: 0.164763458401  lift: 34.3436595703
frozenset([5]) --> frozenset([2840, 2018]) conf: 0.123711340206  lift: 44.2374688944
frozenset([2018]) --> frozenset([2840, 5]) conf: 0.137030995106  lift: 24.7132420739
frozenset([2840]) --> frozenset([2018, 5]) conf: 0.179104477612  lift: 41.0456007257
frozenset([2781]) --> frozenset([80, 2018]) conf: 0.201465201465  lift: 45.9163547076
frozenset([2018]) --> frozenset([80, 2781]) conf: 0.179445350734  lift: 38.3680059198
frozenset([80]) --> frozenset([2018, 2781]) conf: 0.206766917293  lift: 57.5616894585
frozenset([20]) --> frozenset([80, 75]) conf: 0.142201834862  lift: 40.4009048636
frozenset([75]) --> frozenset([80, 20]) conf: 0.283536585366  lift: 51.8110024713
frozenset([80]) --> frozenset([75, 20]) conf: 0.174812030075  lift: 51.7943071966
frozenset([2781]) --> frozenset([5, 6]) conf: 0.201465201465  lift: 42.4201855674
frozenset([6]) --> frozenset([5, 2781]) conf: 0.226804123711  lift: 36.1839809675
frozenset([5]) --> frozenset([2781, 6]) conf: 0.162002945508  lift: 41.4807541955
frozenset([5]) --> frozenset([44, 20]) conf: 0.123711340206  lift: 27.1510391098
frozenset([44]) --> frozenset([20, 5]) conf: 0.213197969543  lift: 46.544483035
frozenset([20]) --> frozenset([44, 5]) conf: 0.128440366972  lift: 36.7428029105
frozenset([5]) --> frozenset([2840, 89]) conf: 0.144329896907  lift: 47.5143184422
frozenset([89]) --> frozenset([2840, 5]) conf: 0.240196078431  lift: 43.3188405797
frozenset([2840]) --> frozenset([89, 5]) conf: 0.208955223881  lift: 43.3373134328
frozenset([5]) --> frozenset([80, 89]) conf: 0.128129602356  lift: 45.0408127605
frozenset([89]) --> frozenset([80, 5]) conf: 0.213235294118  lift: 37.1638655462
frozenset([80]) --> frozenset([89, 5]) conf: 0.163533834586  lift: 33.9169172932
frozenset([2831]) --> frozenset([2018, 20]) conf: 0.228710462287  lift: 38.1000400629
frozenset([20]) --> frozenset([2018, 2831]) conf: 0.14373088685  lift: 41.9856139897
frozenset([2018]) --> frozenset([20, 2831]) conf: 0.153344208809  lift: 55.3105894035
frozenset([2878]) --> frozenset([2840, 3056]) conf: 0.20728929385  lift: 69.9053651129
frozenset([3056]) --> frozenset([2840, 2878]) conf: 0.320422535211  lift: 68.5109626833
frozenset([2840]) --> frozenset([3056, 2878]) conf: 0.194029850746  lift: 61.4378489233
frozenset([2839]) --> frozenset([2840, 3056]) conf: 0.120879120879  lift: 40.7647636916
frozenset([3056]) --> frozenset([2840, 2839]) conf: 0.30985915493  lift: 53.5539906103
frozenset([2840]) --> frozenset([3056, 2839]) conf: 0.18763326226  lift: 61.7700612583
frozenset([2791]) --> frozenset([635, 2790]) conf: 0.247787610619  lift: 77.8653794583
frozenset([2790]) --> frozenset([635, 2791]) conf: 0.239316239316  lift: 71.4160978909
frozenset([635]) --> frozenset([2790, 2791]) conf: 0.237288135593  lift: 71.3239990174
frozenset([2831]) --> frozenset([2018, 2508]) conf: 0.214111922141  lift: 45.3130741348
frozenset([2508]) --> frozenset([2018, 2831]) conf: 0.153846153846  lift: 44.940411701
frozenset([2018]) --> frozenset([2508, 2831]) conf: 0.143556280587  lift: 55.1362455441
frozenset([2839]) --> frozenset([2781, 2878]) conf: 0.178571428571  lift: 41.3806863528
frozenset([2878]) --> frozenset([2781, 2839]) conf: 0.296127562642  lift: 44.5049684725
frozenset([2781]) --> frozenset([2878, 2839]) conf: 0.238095238095  lift: 44.287849669
frozenset([2839]) --> frozenset([80, 5]) conf: 0.212912087912  lift: 37.1075353218
frozenset([5]) --> frozenset([80, 2839]) conf: 0.228276877761  lift: 42.8458139798
frozenset([80]) --> frozenset([5, 2839]) conf: 0.291353383459  lift: 34.8280643973
frozenset([2878]) --> frozenset([2840, 5]) conf: 0.318906605923  lift: 57.5141131029
frozenset([5]) --> frozenset([2840, 2878]) conf: 0.20618556701  lift: 44.085450101
frozenset([2840]) --> frozenset([5, 2878]) conf: 0.298507462687  lift: 52.6897427755
frozenset([2839]) --> frozenset([2840, 89]) conf: 0.122252747253  lift: 40.2463806035
frozenset([89]) --> frozenset([2840, 2839]) conf: 0.218137254902  lift: 37.7013888889
frozenset([2840]) --> frozenset([89, 2839]) conf: 0.189765458422  lift: 43.013503909
frozenset([5]) --> frozenset([2018, 44]) conf: 0.132547864507  lift: 27.7681081805
frozenset([44]) --> frozenset([2018, 5]) conf: 0.228426395939  lift: 52.3487674229
frozenset([2018]) --> frozenset([44, 5]) conf: 0.146818923328  lift: 42.0003375148
frozenset([5]) --> frozenset([2840, 2781]) conf: 0.189985272459  lift: 41.6962386329
frozenset([2781]) --> frozenset([2840, 5]) conf: 0.236263736264  lift: 42.6096512183
frozenset([2840]) --> frozenset([2781, 5]) conf: 0.275053304904  lift: 43.8815811055
frozenset([2839]) --> frozenset([80, 2878]) conf: 0.135989010989  lift: 44.7684458399
frozenset([2878]) --> frozenset([80, 2839]) conf: 0.225512528474  lift: 42.3269668828
frozenset([80]) --> frozenset([2878, 2839]) conf: 0.186090225564  lift: 34.6144509255
frozenset([2839]) --> frozenset([2832, 5]) conf: 0.116758241758  lift: 46.5685756551
frozenset([5]) --> frozenset([2832, 2839]) conf: 0.125184094256  lift: 48.5293105584
frozenset([2832]) --> frozenset([5, 2839]) conf: 0.494186046512  lift: 59.0744588164
frozenset([20]) --> frozenset([2018, 2508]) conf: 0.175840978593  lift: 37.2136928166
frozenset([2018]) --> frozenset([20, 2508]) conf: 0.187601957586  lift: 54.8009098638
frozenset([2508]) --> frozenset([2018, 20]) conf: 0.201048951049  lift: 33.492009998
frozenset([5]) --> frozenset([80, 44]) conf: 0.131075110457  lift: 41.8230429364
frozenset([44]) --> frozenset([80, 5]) conf: 0.225888324873  lift: 39.3691080493
frozenset([80]) --> frozenset([44, 5]) conf: 0.167293233083  lift: 47.857402126
frozenset([20]) --> frozenset([104, 2018]) conf: 0.146788990826  lift: 42.8789249257
frozenset([2018]) --> frozenset([104, 20]) conf: 0.15660685155  lift: 40.0990876684
frozenset([104]) --> frozenset([2018, 20]) conf: 0.206008583691  lift: 34.3182170743
frozenset([2839]) --> frozenset([80, 2781]) conf: 0.197802197802  lift: 42.2929647672
frozenset([2781]) --> frozenset([80, 2839]) conf: 0.263736263736  lift: 49.5012679628
frozenset([80]) --> frozenset([2781, 2839]) conf: 0.270676691729  lift: 40.6799607715
frozenset([2839]) --> frozenset([1, 5]) conf: 0.123626373626  lift: 34.6487971488
frozenset([5]) --> frozenset([1, 2839]) conf: 0.132547864507  lift: 36.4111617201
frozenset([1]) --> frozenset([5, 2839]) conf: 0.212765957447  lift: 25.433809553
frozenset([20]) --> frozenset([80, 2018]) conf: 0.192660550459  lift: 43.9096683133
frozenset([2018]) --> frozenset([80, 20]) conf: 0.205546492659  lift: 37.559773196
frozenset([80]) --> frozenset([2018, 20]) conf: 0.236842105263  lift: 39.4546607483
frozenset([39]) --> frozenset([10, 11]) conf: 0.166007905138  lift: 49.8986080082
frozenset([11]) --> frozenset([10, 39]) conf: 0.1875  lift: 55.9532374101
frozenset([10]) --> frozenset([11, 39]) conf: 0.230769230769  lift: 66.4743589744
frozenset([2781]) --> frozenset([2840, 80]) conf: 0.163003663004  lift: 48.643107492
frozenset([80]) --> frozenset([2840, 2781]) conf: 0.167293233083  lift: 36.7159963401
frozenset([2840]) --> frozenset([80, 2781]) conf: 0.189765458422  lift: 40.5745938936
frozenset([6]) --> frozenset([20, 2781]) conf: 0.177319587629  lift: 42.029808542
frozenset([2781]) --> frozenset([20, 6]) conf: 0.157509157509  lift: 33.8522272201
frozenset([20]) --> frozenset([2781, 6]) conf: 0.131498470948  lift: 33.6701023143
frozenset([2839]) --> frozenset([2840, 5]) conf: 0.215659340659  lift: 38.8936932633
frozenset([5]) --> frozenset([2840, 2839]) conf: 0.231222385862  lift: 39.9629356897
frozenset([2840]) --> frozenset([5, 2839]) conf: 0.334754797441  lift: 40.0162218959
frozenset([29]) --> frozenset([104, 11]) conf: 0.138041733547  lift: 36.4711535512
frozenset([11]) --> frozenset([104, 29]) conf: 0.191964285714  lift: 52.3860432331
frozenset([104]) --> frozenset([11, 29]) conf: 0.184549356223  lift: 53.1604673343
frozenset([2839]) --> frozenset([20, 2781]) conf: 0.157967032967  lift: 37.442700157
frozenset([2781]) --> frozenset([20, 2839]) conf: 0.210622710623  lift: 43.9026635007
frozenset([20]) --> frozenset([2781, 2839]) conf: 0.175840978593  lift: 26.4271151886
frozenset([2839]) --> frozenset([5, 6]) conf: 0.17032967033  lift: 35.864338707
frozenset([6]) --> frozenset([5, 2839]) conf: 0.255670103093  lift: 30.5625241392
frozenset([5]) --> frozenset([6, 2839]) conf: 0.182621502209  lift: 43.0405676797
frozenset([6]) --> frozenset([2018, 5]) conf: 0.171134020619  lift: 39.2190009683
frozenset([5]) --> frozenset([2018, 6]) conf: 0.122238586156  lift: 38.1237334869
frozenset([2018]) --> frozenset([5, 6]) conf: 0.135399673736  lift: 28.5095353632
frozenset([2839]) --> frozenset([2018, 2781]) conf: 0.151098901099  lift: 42.0643115274
frozenset([2781]) --> frozenset([2018, 2839]) conf: 0.201465201465  lift: 47.7530088959
frozenset([2018]) --> frozenset([2781, 2839]) conf: 0.179445350734  lift: 26.9688157553
frozenset([2839]) --> frozenset([89, 5]) conf: 0.181318681319  lift: 37.6054945055
frozenset([5]) --> frozenset([89, 2839]) conf: 0.19440353461  lift: 44.0648011782
frozenset([89]) --> frozenset([5, 2839]) conf: 0.323529411765  lift: 38.674351585
frozenset([6]) --> frozenset([20, 5]) conf: 0.20824742268  lift: 45.4637004883
frozenset([5]) --> frozenset([20, 6]) conf: 0.148748159057  lift: 31.9692934596
frozenset([20]) --> frozenset([5, 6]) conf: 0.154434250765  lift: 32.5174249833
frozenset([2839]) --> frozenset([5, 2878]) conf: 0.225274725275  lift: 39.7633855506
frozenset([2878]) --> frozenset([5, 2839]) conf: 0.373576309795  lift: 44.6569029692
frozenset([5]) --> frozenset([2878, 2839]) conf: 0.241531664212  lift: 44.9270557467
frozenset([5]) --> frozenset([80, 20]) conf: 0.182621502209  lift: 33.3706604037
frozenset([20]) --> frozenset([80, 5]) conf: 0.189602446483  lift: 33.0449978156
frozenset([80]) --> frozenset([20, 5]) conf: 0.233082706767  lift: 50.8856351405
frozenset([2774]) --> frozenset([2018, 2508]) conf: 0.35447761194  lift: 75.0190374657
frozenset([2508]) --> frozenset([2018, 2774]) conf: 0.166083916084  lift: 49.9214553562
frozenset([2018]) --> frozenset([2508, 2774]) conf: 0.154975530179  lift: 50.6172046602
frozenset([2839]) --> frozenset([3056, 5]) conf: 0.133241758242  lift: 43.5186467076
frozenset([5]) --> frozenset([3056, 2839]) conf: 0.142857142857  lift: 47.029478458
frozenset([3056]) --> frozenset([5, 2839]) conf: 0.341549295775  lift: 40.828428786
frozenset([2781]) --> frozenset([2018, 5]) conf: 0.203296703297  lift: 46.5897638273
frozenset([5]) --> frozenset([2018, 2781]) conf: 0.163475699558  lift: 45.5098793132
frozenset([2018]) --> frozenset([5, 2781]) conf: 0.181076672104  lift: 28.888693688
frozenset([44]) --> frozenset([80, 20]) conf: 0.233502538071  lift: 42.6682170889
frozenset([20]) --> frozenset([80, 44]) conf: 0.140672782875  lift: 44.8854387203
frozenset([80]) --> frozenset([44, 20]) conf: 0.172932330827  lift: 37.9536141942
frozenset([2781]) --> frozenset([5, 2878]) conf: 0.245421245421  lift: 43.3194606812
frozenset([2878]) --> frozenset([5, 2781]) conf: 0.305239179954  lift: 48.6973891712
frozenset([5]) --> frozenset([2781, 2878]) conf: 0.19734904271  lift: 45.732057495
frozenset([2839]) --> frozenset([80, 6]) conf: 0.14010989011  lift: 28.489010989
frozenset([6]) --> frozenset([80, 2839]) conf: 0.210309278351  lift: 39.4734337827
frozenset([80]) --> frozenset([6, 2839]) conf: 0.191729323308  lift: 45.1871155161
frozenset([2839]) --> frozenset([2840, 2878]) conf: 0.188186813187  lift: 40.2370567577
frozenset([2878]) --> frozenset([2840, 2839]) conf: 0.312072892938  lift: 53.9365983295
frozenset([2840]) --> frozenset([2878, 2839]) conf: 0.2921108742  lift: 54.3352424297
frozenset([2839]) --> frozenset([2018, 44]) conf: 0.118131868132  lift: 24.748029748
frozenset([44]) --> frozenset([2018, 2839]) conf: 0.218274111675  lift: 51.7372008702
frozenset([2018]) --> frozenset([44, 2839]) conf: 0.140293637847  lift: 43.1065192436
frozenset([39]) --> frozenset([2018, 2774]) conf: 0.166007905138  lift: 49.8986080082
frozenset([2774]) --> frozenset([2018, 39]) conf: 0.313432835821  lift: 82.8101530564
frozenset([2018]) --> frozenset([2774, 39]) conf: 0.137030995106  lift: 53.6230724245
frozenset([20]) --> frozenset([44, 2508]) conf: 0.12996941896  lift: 38.785118694
frozenset([44]) --> frozenset([20, 2508]) conf: 0.215736040609  lift: 63.0192321441
frozenset([2508]) --> frozenset([20, 44]) conf: 0.148601398601  lift: 32.6136826137
frozenset([20]) --> frozenset([2018, 11]) conf: 0.162079510703  lift: 44.8203873598
frozenset([11]) --> frozenset([2018, 20]) conf: 0.236607142857  lift: 39.4155192197
frozenset([2018]) --> frozenset([11, 20]) conf: 0.172920065253  lift: 48.1390893066
frozenset([39]) --> frozenset([2018, 2508]) conf: 0.193675889328  lift: 40.9881422925
frozenset([2508]) --> frozenset([2018, 39]) conf: 0.171328671329  lift: 45.2656897243
frozenset([2018]) --> frozenset([2508, 39]) conf: 0.15986949429  lift: 51.8077079935
frozenset([5]) --> frozenset([80, 2018]) conf: 0.176730486009  lift: 40.279014064
frozenset([2018]) --> frozenset([80, 5]) conf: 0.195758564437  lift: 34.1179212305
frozenset([80]) --> frozenset([2018, 5]) conf: 0.225563909774  lift: 51.6927678312
frozenset([2781]) --> frozenset([80, 20]) conf: 0.201465201465  lift: 36.8139936422
frozenset([20]) --> frozenset([80, 2781]) conf: 0.168195718654  lift: 35.9626722154
frozenset([80]) --> frozenset([20, 2781]) conf: 0.206766917293  lift: 49.0096670247
frozenset([2839]) --> frozenset([89, 2781]) conf: 0.163461538462  lift: 41.3438086304
frozenset([2781]) --> frozenset([89, 2839]) conf: 0.217948717949  lift: 49.4017094017
frozenset([89]) --> frozenset([2781, 2839]) conf: 0.291666666667  lift: 43.8345410628
frozenset([2781]) --> frozenset([5, 2839]) conf: 0.338827838828  lift: 40.5031088028
frozenset([5]) --> frozenset([2781, 2839]) conf: 0.272459499264  lift: 40.9478986574
frozenset([2839]) --> frozenset([5, 2781]) conf: 0.254120879121  lift: 40.5420540997
frozenset([44]) --> frozenset([2825, 2018]) conf: 0.218274111675  lift: 65.6087692195
frozenset([2018]) --> frozenset([2825, 44]) conf: 0.140293637847  lift: 45.111473627
frozenset([2825]) --> frozenset([2018, 44]) conf: 0.301754385965  lift: 63.2160198476
frozenset([2781]) --> frozenset([2018, 20]) conf: 0.179487179487  lift: 29.9001132736
frozenset([20]) --> frozenset([2018, 2781]) conf: 0.149847094801  lift: 41.7158220963
frozenset([2018]) --> frozenset([20, 2781]) conf: 0.15986949429  lift: 37.8936378467
frozenset([2878]) --> frozenset([2018, 5]) conf: 0.189066059226  lift: 43.3285090424
frozenset([5]) --> frozenset([2018, 2878]) conf: 0.122238586156  lift: 48.75438994
frozenset([2018]) --> frozenset([5, 2878]) conf: 0.135399673736  lift: 23.8994828364
frozenset([5]) --> frozenset([89, 2781]) conf: 0.170839469809  lift: 43.2098854126
frozenset([2781]) --> frozenset([89, 5]) conf: 0.212454212454  lift: 44.063003663
frozenset([89]) --> frozenset([2781, 5]) conf: 0.28431372549  lift: 45.358974359
frozenset([2839]) --> frozenset([80, 2018]) conf: 0.159340659341  lift: 36.3156623596
frozenset([2018]) --> frozenset([80, 2839]) conf: 0.189233278956  lift: 35.5176308194
frozenset([80]) --> frozenset([2018, 2839]) conf: 0.218045112782  lift: 51.6829215897
frozenset([44]) --> frozenset([80, 2018]) conf: 0.230964467005  lift: 52.6395939086
frozenset([2018]) --> frozenset([80, 44]) conf: 0.148450244698  lift: 47.3670473083
frozenset([80]) --> frozenset([2018, 44]) conf: 0.171052631579  lift: 35.8346624136
frozenset([2839]) --> frozenset([20, 6]) conf: 0.127747252747  lift: 27.4557307977
frozenset([6]) --> frozenset([20, 2839]) conf: 0.19175257732  lift: 39.969331192
frozenset([20]) --> frozenset([6, 2839]) conf: 0.142201834862  lift: 33.5143869892
frozenset([2878]) --> frozenset([3056, 5]) conf: 0.205011389522  lift: 66.959625491
frozenset([5]) --> frozenset([3056, 2878]) conf: 0.132547864507  lift: 41.9701177079
frozenset([3056]) --> frozenset([5, 2878]) conf: 0.316901408451  lift: 55.9364698831
frozenset([6]) --> frozenset([80, 5]) conf: 0.259793814433  lift: 45.2783505155
frozenset([5]) --> frozenset([80, 6]) conf: 0.185567010309  lift: 37.7319587629
frozenset([80]) --> frozenset([5, 6]) conf: 0.236842105263  lift: 49.8690889661
frozenset([5]) --> frozenset([2018, 20]) conf: 0.153166421208  lift: 25.5154343442
frozenset([20]) --> frozenset([2018, 5]) conf: 0.159021406728  lift: 36.4431378512
frozenset([2018]) --> frozenset([20, 5]) conf: 0.169657422512  lift: 37.0388941358
frozenset([6]) --> frozenset([80, 2018]) conf: 0.183505154639  lift: 41.8230429364
frozenset([2018]) --> frozenset([80, 6]) conf: 0.145187601958  lift: 29.5214790647
frozenset([80]) --> frozenset([2018, 6]) conf: 0.167293233083  lift: 52.1753632201
frozenset([2878]) --> frozenset([2883, 5]) conf: 0.191343963554  lift: 67.2622678661
frozenset([5]) --> frozenset([2883, 2878]) conf: 0.123711340206  lift: 42.0618556701
frozenset([2883]) --> frozenset([5, 2878]) conf: 0.363636363636  lift: 64.1856866538
frozenset([2839]) --> frozenset([2840, 2781]) conf: 0.184065934066  lift: 40.3971161114
frozenset([2781]) --> frozenset([2840, 2839]) conf: 0.245421245421  lift: 42.416971917
frozenset([2840]) --> frozenset([2781, 2839]) conf: 0.285714285714  lift: 42.9399585921
frozenset([5]) --> frozenset([20, 2781]) conf: 0.166421207658  lift: 39.4465811067
frozenset([2781]) --> frozenset([20, 5]) conf: 0.20695970696  lift: 45.1825718142
frozenset([20]) --> frozenset([2781, 5]) conf: 0.172782874618  lift: 27.5655139967
frozenset([29]) --> frozenset([41, 11]) conf: 0.134831460674  lift: 42.0511954042
frozenset([11]) --> frozenset([41, 29]) conf: 0.1875  lift: 59.8269230769
frozenset([41]) --> frozenset([11, 29]) conf: 0.252252252252  lift: 72.6626626627
frozenset([2878]) --> frozenset([2840, 2781]) conf: 0.234624145786  lift: 51.4931723132
frozenset([2781]) --> frozenset([2840, 2878]) conf: 0.188644688645  lift: 40.3349571391
frozenset([2840]) --> frozenset([2781, 2878]) conf: 0.219616204691  lift: 50.892067992
frozenset([5]) --> frozenset([2840, 80]) conf: 0.144329896907  lift: 43.0705332641
frozenset([80]) --> frozenset([2840, 5]) conf: 0.184210526316  lift: 33.2219679634
frozenset([2840]) --> frozenset([80, 5]) conf: 0.208955223881  lift: 36.4179104478
frozenset([2839]) --> frozenset([3056, 2878]) conf: 0.116758241758  lift: 36.9704722758
frozenset([2878]) --> frozenset([3056, 2839]) conf: 0.193621867882  lift: 63.7415482518
frozenset([3056]) --> frozenset([2878, 2839]) conf: 0.299295774648  lift: 55.6716983515
frozenset([20]) --> frozenset([80, 18]) conf: 0.145259938838  lift: 40.4388071342
frozenset([18]) --> frozenset([80, 20]) conf: 0.271428571429  lift: 49.5984896161
frozenset([80]) --> frozenset([18, 20]) conf: 0.178571428571  lift: 49.7123681687
frozenset([44]) --> frozenset([2018, 2508]) conf: 0.263959390863  lift: 55.8624261887
frozenset([2018]) --> frozenset([44, 2508]) conf: 0.169657422512  lift: 50.6287042144
frozenset([2508]) --> frozenset([2018, 44]) conf: 0.181818181818  lift: 38.0899908173
frozenset([2878]) --> frozenset([80, 5]) conf: 0.21867881549  lift: 38.1125935568
frozenset([5]) --> frozenset([80, 2878]) conf: 0.141384388807  lift: 46.5446384739
frozenset([80]) --> frozenset([5, 2878]) conf: 0.18045112782  lift: 31.851543753
frozenset([2839]) --> frozenset([5, 2830]) conf: 0.120879120879  lift: 42.1350078493
frozenset([2830]) --> frozenset([5, 2839]) conf: 0.362139917695  lift: 43.2898091816
frozenset([5]) --> frozenset([2830, 2839]) conf: 0.129602356406  lift: 47.1570679276
frozenset([6]) --> frozenset([80, 75]) conf: 0.185567010309  lift: 52.7213670386
frozenset([75]) --> frozenset([80, 6]) conf: 0.274390243902  lift: 55.7926829268
frozenset([80]) --> frozenset([75, 6]) conf: 0.169172932331  lift: 54.8226033835
frozenset([2839]) --> frozenset([1, 2781]) conf: 0.116758241758  lift: 38.437554509
frozenset([2781]) --> frozenset([1, 2839]) conf: 0.155677655678  lift: 42.764961308
frozenset([1]) --> frozenset([2781, 2839]) conf: 0.200945626478  lift: 30.2000890808
frozenset([2839]) --> frozenset([20, 5]) conf: 0.168956043956  lift: 36.8857721226
frozenset([5]) --> frozenset([20, 2839]) conf: 0.181148748159  lift: 37.7590455962
frozenset([20]) --> frozenset([5, 2839]) conf: 0.188073394495  lift: 22.4820876186
frozenset([2839]) --> frozenset([2826, 5]) conf: 0.138736263736  lift: 45.313230077
frozenset([5]) --> frozenset([2826, 2839]) conf: 0.148748159057  lift: 46.0453256545
frozenset([2826]) --> frozenset([5, 2839]) conf: 0.465437788018  lift: 55.6379234784
frozenset([5, 2781]) --> frozenset([80, 20]) conf: 0.319230769231  lift: 58.3334462894
frozenset([20, 2781]) --> frozenset([80, 5]) conf: 0.474285714286  lift: 82.6612244898
frozenset([20, 5]) --> frozenset([80, 2781]) conf: 0.436842105263  lift: 93.4031470429
frozenset([80, 2781]) --> frozenset([20, 5]) conf: 0.427835051546  lift: 93.4031470429
frozenset([80, 5]) --> frozenset([20, 2781]) conf: 0.348739495798  lift: 82.6612244898
frozenset([80, 20]) --> frozenset([5, 2781]) conf: 0.36563876652  lift: 58.3334462894
frozenset([2781]) --> frozenset([80, 20, 5]) conf: 0.152014652015  lift: 50.8513529481
frozenset([5]) --> frozenset([80, 20, 2781]) conf: 0.122238586156  lift: 46.0950595796
frozenset([20]) --> frozenset([80, 5, 2781]) conf: 0.126911314985  lift: 37.335328692
frozenset([80]) --> frozenset([20, 5, 2781]) conf: 0.156015037594  lift: 57.2699447734
frozenset([2781, 2878]) --> frozenset([2840, 5]) conf: 0.486033519553  lift: 87.6550886568
frozenset([2840, 2878]) --> frozenset([5, 2781]) conf: 0.448453608247  lift: 71.5455987312
frozenset([2840, 2781]) --> frozenset([5, 2878]) conf: 0.460317460317  lift: 81.2509287403
frozenset([5, 2878]) --> frozenset([2840, 2781]) conf: 0.370212765957  lift: 81.2509287403
frozenset([5, 2781]) --> frozenset([2840, 2878]) conf: 0.334615384615  lift: 71.5455987312
frozenset([2840, 5]) --> frozenset([2781, 2878]) conf: 0.378260869565  lift: 87.6550886568
frozenset([2878]) --> frozenset([2840, 5, 2781]) conf: 0.198177676538  lift: 63.7241087037
frozenset([2781]) --> frozenset([2840, 5, 2878]) conf: 0.159340659341  lift: 47.2103610675
frozenset([2840]) --> frozenset([5, 2878, 2781]) conf: 0.185501066098  lift: 57.4222703116
frozenset([5]) --> frozenset([2840, 2781, 2878]) conf: 0.128129602356  lift: 51.6001544247
frozenset([2781, 2839]) --> frozenset([80, 5]) conf: 0.427536231884  lift: 74.5134575569
frozenset([5, 2781]) --> frozenset([80, 2839]) conf: 0.453846153846  lift: 85.1834319527
frozenset([5, 2839]) --> frozenset([80, 2781]) conf: 0.340057636888  lift: 72.7092308149
frozenset([80, 2781]) --> frozenset([5, 2839]) conf: 0.60824742268  lift: 72.7092308149
frozenset([80, 2839]) --> frozenset([5, 2781]) conf: 0.533936651584  lift: 85.1834319527
frozenset([80, 5]) --> frozenset([2781, 2839]) conf: 0.495798319328  lift: 74.5134575569
frozenset([2781]) --> frozenset([80, 5, 2839]) conf: 0.216117216117  lift: 57.8357556422
frozenset([2839]) --> frozenset([80, 5, 2781]) conf: 0.162087912088  lift: 47.683734705
frozenset([5]) --> frozenset([80, 2781, 2839]) conf: 0.173784977909  lift: 50.0597283587
frozenset([80]) --> frozenset([2781, 5, 2839]) conf: 0.221804511278  lift: 49.7321682585
frozenset([2840, 2878]) --> frozenset([5, 2839]) conf: 0.567010309278  lift: 67.7797914377
frozenset([2878, 2839]) --> frozenset([2840, 5]) conf: 0.493273542601  lift: 88.9608110743
frozenset([2840, 2839]) --> frozenset([5, 2878]) conf: 0.458333333333  lift: 80.9007092199
frozenset([5, 2878]) --> frozenset([2840, 2839]) conf: 0.468085106383  lift: 80.9007092199
frozenset([2840, 5]) --> frozenset([2878, 2839]) conf: 0.478260869565  lift: 88.9608110743
frozenset([5, 2839]) --> frozenset([2840, 2878]) conf: 0.317002881844  lift: 67.7797914377
frozenset([2840]) --> frozenset([5, 2878, 2839]) conf: 0.234541577825  lift: 59.3218576109
frozenset([2878]) --> frozenset([2840, 5, 2839]) conf: 0.250569476082  lift: 66.2014131712
frozenset([2839]) --> frozenset([2840, 5, 2878]) conf: 0.151098901099  lift: 44.7684458399
frozenset([5]) --> frozenset([2840, 2878, 2839]) conf: 0.162002945508  lift: 49.0502348881
frozenset([2781, 2878]) --> frozenset([5, 2839]) conf: 0.597765363128  lift: 71.456216895
frozenset([2878, 2839]) --> frozenset([5, 2781]) conf: 0.479820627803  lift: 76.5498447741
frozenset([2781, 2839]) --> frozenset([5, 2878]) conf: 0.38768115942  lift: 68.4298489053
frozenset([5, 2878]) --> frozenset([2781, 2839]) conf: 0.455319148936  lift: 68.4298489053
frozenset([5, 2781]) --> frozenset([2878, 2839]) conf: 0.411538461538  lift: 76.5498447741
frozenset([5, 2839]) --> frozenset([2781, 2878]) conf: 0.308357348703  lift: 71.456216895
frozenset([2878]) --> frozenset([2781, 5, 2839]) conf: 0.243735763098  lift: 54.6495105584
frozenset([2781]) --> frozenset([5, 2878, 2839]) conf: 0.195970695971  lift: 49.5662467614
frozenset([2839]) --> frozenset([5, 2878, 2781]) conf: 0.146978021978  lift: 45.4973757586
frozenset([5]) --> frozenset([2781, 2878, 2839]) conf: 0.157584683358  lift: 50.2816358899
frozenset([2840, 2839]) --> frozenset([80, 5]) conf: 0.345833333333  lift: 60.2738095238
frozenset([2840, 5]) --> frozenset([80, 2839]) conf: 0.360869565217  lift: 67.7324414716
frozenset([5, 2839]) --> frozenset([80, 2840]) conf: 0.239193083573  lift: 71.3793460909
frozenset([80, 2840]) --> frozenset([5, 2839]) conf: 0.597122302158  lift: 71.3793460909
frozenset([80, 2839]) --> frozenset([2840, 5]) conf: 0.37556561086  lift: 67.7324414716
frozenset([80, 5]) --> frozenset([2840, 2839]) conf: 0.348739495798  lift: 60.2738095238
frozenset([2840]) --> frozenset([80, 5, 2839]) conf: 0.17697228145  lift: 47.3600660293
frozenset([2839]) --> frozenset([80, 2840, 5]) conf: 0.114010989011  lift: 48.2568961651
frozenset([5]) --> frozenset([80, 2840, 2839]) conf: 0.122238586156  lift: 51.7393525893
frozenset([80]) --> frozenset([2840, 5, 2839]) conf: 0.156015037594  lift: 41.2197691681
frozenset([5, 2839]) --> frozenset([80, 20]) conf: 0.247838616715  lift: 45.2878670543
frozenset([20, 2839]) --> frozenset([80, 5]) conf: 0.43216080402  lift: 75.3194544149
frozenset([20, 5]) --> frozenset([80, 2839]) conf: 0.452631578947  lift: 84.955465587
frozenset([80, 2839]) --> frozenset([20, 5]) conf: 0.389140271493  lift: 84.955465587
frozenset([80, 5]) --> frozenset([20, 2839]) conf: 0.361344537815  lift: 75.3194544149
frozenset([80, 20]) --> frozenset([5, 2839]) conf: 0.378854625551  lift: 45.2878670543
frozenset([2839]) --> frozenset([80, 20, 5]) conf: 0.118131868132  lift: 39.5170152428
frozenset([5]) --> frozenset([80, 20, 2839]) conf: 0.126656848306  lift: 47.3308654752
frozenset([20]) --> frozenset([80, 5, 2839]) conf: 0.131498470948  lift: 35.1906875802
frozenset([80]) --> frozenset([20, 5, 2839]) conf: 0.161654135338  lift: 54.5155571856
frozenset([89, 2781]) --> frozenset([5, 2839]) conf: 0.567073170732  lift: 67.7873058269
frozenset([2781, 2839]) --> frozenset([89, 5]) conf: 0.336956521739  lift: 69.8847826087
frozenset([89, 2839]) --> frozenset([5, 2781]) conf: 0.508196721311  lift: 81.0769230769
frozenset([5, 2781]) --> frozenset([89, 2839]) conf: 0.357692307692  lift: 81.0769230769
frozenset([89, 5]) --> frozenset([2781, 2839]) conf: 0.465  lift: 69.8847826087
frozenset([5, 2839]) --> frozenset([89, 2781]) conf: 0.268011527378  lift: 67.7873058269
frozenset([89]) --> frozenset([2781, 5, 2839]) conf: 0.227941176471  lift: 51.1081081081
frozenset([2781]) --> frozenset([89, 5, 2839]) conf: 0.17032967033  lift: 53.5248085248
frozenset([2839]) --> frozenset([89, 5, 2781]) conf: 0.127747252747  lift: 45.6806555513
frozenset([5]) --> frozenset([89, 2781, 2839]) conf: 0.136966126657  lift: 47.7424784347
frozenset([2781, 2878]) --> frozenset([2840, 2839]) conf: 0.491620111732  lift: 84.9683426443
frozenset([2840, 2878]) --> frozenset([2781, 2839]) conf: 0.453608247423  lift: 68.1727177648
frozenset([2840, 2781]) --> frozenset([2878, 2839]) conf: 0.465608465608  lift: 86.6073504639
frozenset([2878, 2839]) --> frozenset([2840, 2781]) conf: 0.394618834081  lift: 86.6073504639
frozenset([2781, 2839]) --> frozenset([2840, 2878]) conf: 0.31884057971  lift: 68.1727177648
frozenset([2840, 2839]) --> frozenset([2781, 2878]) conf: 0.366666666667  lift: 84.9683426443
frozenset([2878]) --> frozenset([2840, 2781, 2839]) conf: 0.200455580866  lift: 62.0514738381
frozenset([2781]) --> frozenset([2840, 2878, 2839]) conf: 0.161172161172  lift: 48.7986952221
frozenset([2840]) --> frozenset([2781, 2878, 2839]) conf: 0.18763326226  lift: 59.8694439888
frozenset([2839]) --> frozenset([2840, 2781, 2878]) conf: 0.120879120879  lift: 48.680251787
frozenset([2781, 2839]) --> frozenset([5, 6]) conf: 0.315217391304  lift: 66.3716618848
frozenset([2781, 6]) --> frozenset([5, 2839]) conf: 0.537037037037  lift: 64.1968192977
frozenset([6, 2839]) --> frozenset([5, 2781]) conf: 0.494318181818  lift: 78.8627622378
frozenset([5, 2781]) --> frozenset([6, 2839]) conf: 0.334615384615  lift: 78.8627622378
frozenset([5, 2839]) --> frozenset([2781, 6]) conf: 0.250720461095  lift: 64.1968192977
frozenset([5, 6]) --> frozenset([2781, 2839]) conf: 0.441624365482  lift: 66.3716618848
frozenset([2781]) --> frozenset([5, 6, 2839]) conf: 0.159340659341  lift: 53.3020205601
frozenset([2839]) --> frozenset([5, 6, 2781]) conf: 0.119505494505  lift: 45.0644355644
frozenset([6]) --> frozenset([2781, 5, 2839]) conf: 0.179381443299  lift: 40.2202284759
frozenset([5]) --> frozenset([2781, 6, 2839]) conf: 0.128129602356  lift: 52.1060382916
frozenset([5, 2839]) --> frozenset([80, 2018]) conf: 0.273775216138  lift: 62.3966811287
frozenset([2018, 2839]) --> frozenset([80, 5]) conf: 0.542857142857  lift: 94.612244898
frozenset([2018, 5]) --> frozenset([80, 2839]) conf: 0.524861878453  lift: 98.5125371866
frozenset([80, 2839]) --> frozenset([2018, 5]) conf: 0.429864253394  lift: 98.5125371866
frozenset([80, 5]) --> frozenset([2018, 2839]) conf: 0.399159663866  lift: 94.612244898
frozenset([80, 2018]) --> frozenset([5, 2839]) conf: 0.521978021978  lift: 62.3966811287
frozenset([2839]) --> frozenset([80, 2018, 5]) conf: 0.130494505495  lift: 45.1076007326
frozenset([5]) --> frozenset([80, 2018, 2839]) conf: 0.139911634757  lift: 50.0304707734
frozenset([2018]) --> frozenset([80, 5, 2839]) conf: 0.154975530179  lift: 41.4734515603
frozenset([80]) --> frozenset([2018, 5, 2839]) conf: 0.178571428571  lift: 56.5430752454
frozenset([2840, 2781]) --> frozenset([5, 2839]) conf: 0.544973544974  lift: 65.1455407651
frozenset([2781, 2839]) --> frozenset([2840, 5]) conf: 0.373188405797  lift: 67.3037177064
frozenset([2840, 2839]) --> frozenset([5, 2781]) conf: 0.429166666667  lift: 68.4685897436
frozenset([5, 2781]) --> frozenset([2840, 2839]) conf: 0.396153846154  lift: 68.4685897436
frozenset([2840, 5]) --> frozenset([2781, 2839]) conf: 0.447826086957  lift: 67.3037177064
frozenset([5, 2839]) --> frozenset([2840, 2781]) conf: 0.296829971182  lift: 65.1455407651
frozenset([2840]) --> frozenset([2781, 5, 2839]) conf: 0.219616204691  lift: 49.2415144355
frozenset([2781]) --> frozenset([2840, 5, 2839]) conf: 0.188644688645  lift: 49.840647675
frozenset([2839]) --> frozenset([2840, 5, 2781]) conf: 0.141483516484  lift: 45.4940795638
frozenset([5]) --> frozenset([2840, 2781, 2839]) conf: 0.151693667158  lift: 46.9571142813
frozenset([2781, 2839]) --> frozenset([20, 5]) conf: 0.31884057971  lift: 69.6079328757
frozenset([5, 2781]) --> frozenset([20, 2839]) conf: 0.338461538462  lift: 70.5496714341
frozenset([5, 2839]) --> frozenset([20, 2781]) conf: 0.253602305476  lift: 60.1109921779
frozenset([20, 2781]) --> frozenset([5, 2839]) conf: 0.502857142857  lift: 60.1109921779
frozenset([20, 2839]) --> frozenset([5, 2781]) conf: 0.442211055276  lift: 70.5496714341
frozenset([20, 5]) --> frozenset([2781, 2839]) conf: 0.463157894737  lift: 69.6079328757
frozenset([2781]) --> frozenset([20, 5, 2839]) conf: 0.161172161172  lift: 54.3530182555
frozenset([2839]) --> frozenset([20, 5, 2781]) conf: 0.120879120879  lift: 44.3722649032
frozenset([5]) --> frozenset([20, 2781, 2839]) conf: 0.129602356406  lift: 46.7470064673
frozenset([20]) --> frozenset([2781, 5, 2839]) conf: 0.134556574924  lift: 30.1697660964
frozenset([2781, 2839]) --> frozenset([2018, 5]) conf: 0.333333333333  lift: 76.3904235727
frozenset([5, 2781]) --> frozenset([2018, 2839]) conf: 0.353846153846  lift: 83.8716483516
frozenset([5, 2839]) --> frozenset([2018, 2781]) conf: 0.265129682997  lift: 73.8092567162
frozenset([2018, 2781]) --> frozenset([5, 2839]) conf: 0.61744966443  lift: 73.8092567162
frozenset([2018, 2839]) --> frozenset([5, 2781]) conf: 0.525714285714  lift: 83.8716483516
frozenset([2018, 5]) --> frozenset([2781, 2839]) conf: 0.508287292818  lift: 76.3904235727
frozenset([2781]) --> frozenset([2018, 5, 2839]) conf: 0.168498168498  lift: 53.3534658725
frozenset([2839]) --> frozenset([2018, 5, 2781]) conf: 0.126373626374  lift: 47.225027225
frozenset([5]) --> frozenset([2018, 2781, 2839]) conf: 0.135493372607  lift: 51.0933190521
frozenset([2018]) --> frozenset([2781, 5, 2839]) conf: 0.150081566069  lift: 33.6507208677
frozenset([6, 2839]) --> frozenset([80, 5]) conf: 0.5  lift: 87.1428571429
frozenset([5, 2839]) --> frozenset([80, 6]) conf: 0.253602305476  lift: 51.5658021134
frozenset([5, 6]) --> frozenset([80, 2839]) conf: 0.446700507614  lift: 83.8422491214
frozenset([80, 2839]) --> frozenset([5, 6]) conf: 0.398190045249  lift: 83.8422491214
frozenset([80, 6]) --> frozenset([5, 2839]) conf: 0.43137254902  lift: 51.5658021134
frozenset([80, 5]) --> frozenset([6, 2839]) conf: 0.36974789916  lift: 87.1428571429
frozenset([2839]) --> frozenset([80, 5, 6]) conf: 0.120879120879  lift: 39.7941740799
frozenset([6]) --> frozenset([80, 5, 2839]) conf: 0.181443298969  lift: 48.556568008
frozenset([5]) --> frozenset([80, 6, 2839]) conf: 0.129602356406  lift: 52.704958272
frozenset([80]) --> frozenset([5, 6, 2839]) conf: 0.165413533835  lift: 55.3334950279
frozenset([89, 2878]) --> frozenset([5, 2839]) conf: 0.612244897959  lift: 73.1870846321
frozenset([2878, 2839]) --> frozenset([89, 5]) conf: 0.403587443946  lift: 83.7040358744
frozenset([89, 2839]) --> frozenset([5, 2878]) conf: 0.491803278689  lift: 86.8085106383
frozenset([5, 2878]) --> frozenset([89, 2839]) conf: 0.382978723404  lift: 86.8085106383
frozenset([89, 5]) --> frozenset([2878, 2839]) conf: 0.45  lift: 83.7040358744
frozenset([5, 2839]) --> frozenset([89, 2878]) conf: 0.259365994236  lift: 73.1870846321
frozenset([89]) --> frozenset([5, 2878, 2839]) conf: 0.220588235294  lift: 55.7926829268
frozenset([2878]) --> frozenset([89, 5, 2839]) conf: 0.205011389522  lift: 64.4232760406
frozenset([2839]) --> frozenset([89, 5, 2878]) conf: 0.123626373626  lift: 44.98264893
frozenset([5]) --> frozenset([89, 2878, 2839]) conf: 0.132547864507  lift: 52.866205959
frozenset([2878, 2839]) --> frozenset([80, 5]) conf: 0.37668161435  lift: 65.6502242152
frozenset([5, 2878]) --> frozenset([80, 2839]) conf: 0.357446808511  lift: 67.0900163666
frozenset([5, 2839]) --> frozenset([80, 2878]) conf: 0.242074927954  lift: 79.6926032661
frozenset([80, 2878]) --> frozenset([5, 2839]) conf: 0.666666666667  lift: 79.6926032661
frozenset([80, 2839]) --> frozenset([5, 2878]) conf: 0.380090497738  lift: 67.0900163666
frozenset([80, 5]) --> frozenset([2878, 2839]) conf: 0.352941176471  lift: 65.6502242152
frozenset([2878]) --> frozenset([80, 5, 2839]) conf: 0.191343963554  lift: 51.2061136013
frozenset([2839]) --> frozenset([80, 5, 2878]) conf: 0.115384615385  lift: 49.8557692308
frozenset([5]) --> frozenset([80, 2878, 2839]) conf: 0.123711340206  lift: 51.8338019369
frozenset([80]) --> frozenset([5, 2878, 2839]) conf: 0.157894736842  lift: 39.9358151476
frozenset([2781, 2878]) --> frozenset([89, 5]) conf: 0.474860335196  lift: 98.4860335196
frozenset([89, 2878]) --> frozenset([5, 2781]) conf: 0.578231292517  lift: 92.2501308216
frozenset([89, 2781]) --> frozenset([5, 2878]) conf: 0.518292682927  lift: 91.4841722885
frozenset([5, 2878]) --> frozenset([89, 2781]) conf: 0.36170212766  lift: 91.4841722885
frozenset([5, 2781]) --> frozenset([89, 2878]) conf: 0.326923076923  lift: 92.2501308216
frozenset([89, 5]) --> frozenset([2781, 2878]) conf: 0.425  lift: 98.4860335196
frozenset([2878]) --> frozenset([89, 5, 2781]) conf: 0.193621867882  lift: 69.236509308
frozenset([2781]) --> frozenset([89, 5, 2878]) conf: 0.155677655678  lift: 56.6448171711
frozenset([89]) --> frozenset([5, 2878, 2781]) conf: 0.208333333333  lift: 64.4900497512
frozenset([5]) --> frozenset([89, 2781, 2878]) conf: 0.125184094256  lift: 54.6593287342
frozenset([2781, 2839]) --> frozenset([80, 20]) conf: 0.307971014493  lift: 56.2759369214
frozenset([20, 2781]) --> frozenset([80, 2839]) conf: 0.485714285714  lift: 91.1648351648
frozenset([20, 2839]) --> frozenset([80, 2781]) conf: 0.427135678392  lift: 91.327772885
frozenset([80, 2781]) --> frozenset([20, 2839]) conf: 0.438144329897  lift: 91.327772885
frozenset([80, 2839]) --> frozenset([20, 2781]) conf: 0.384615384615  lift: 91.1648351648
frozenset([80, 20]) --> frozenset([2781, 2839]) conf: 0.374449339207  lift: 56.2759369214
frozenset([2781]) --> frozenset([80, 20, 2839]) conf: 0.155677655678  lift: 58.1757581758
frozenset([2839]) --> frozenset([80, 20, 2781]) conf: 0.116758241758  lift: 44.0284715285
frozenset([20]) --> frozenset([80, 2781, 2839]) conf: 0.12996941896  lift: 37.4384131838
frozenset([80]) --> frozenset([20, 2781, 2839]) conf: 0.15977443609  lift: 57.6299444263
frozenset([2781, 2839]) --> frozenset([80, 2018]) conf: 0.336956521739  lift: 76.7964644052
frozenset([2018, 2781]) --> frozenset([80, 2839]) conf: 0.624161073826  lift: 117.150232318
frozenset([2018, 2839]) --> frozenset([80, 2781]) conf: 0.531428571429  lift: 113.627098675
frozenset([80, 2781]) --> frozenset([2018, 2839]) conf: 0.479381443299  lift: 113.627098675
frozenset([80, 2839]) --> frozenset([2018, 2781]) conf: 0.420814479638  lift: 117.150232318
frozenset([80, 2018]) --> frozenset([2781, 2839]) conf: 0.510989010989  lift: 76.7964644052
frozenset([2781]) --> frozenset([80, 2018, 2839]) conf: 0.17032967033  lift: 60.9075407351
frozenset([2839]) --> frozenset([80, 2018, 2781]) conf: 0.127747252747  lift: 48.1723276723
frozenset([2018]) --> frozenset([80, 2781, 2839]) conf: 0.151712887439  lift: 43.7017400761
frozenset([80]) --> frozenset([2018, 2781, 2839]) conf: 0.174812030075  lift: 65.9200273411
frozenset([20, 5]) --> frozenset([80, 2018]) conf: 0.442105263158  lift: 100.761133603
frozenset([2018, 5]) --> frozenset([80, 20]) conf: 0.46408839779  lift: 84.8034658164
frozenset([2018, 20]) --> frozenset([80, 5]) conf: 0.33734939759  lift: 58.7951807229
frozenset([80, 5]) --> frozenset([2018, 20]) conf: 0.352941176471  lift: 58.7951807229
frozenset([80, 20]) --> frozenset([2018, 5]) conf: 0.370044052863  lift: 84.8034658164
frozenset([80, 2018]) --> frozenset([20, 5]) conf: 0.461538461538  lift: 100.761133603
frozenset([5]) --> frozenset([80, 2018, 20]) conf: 0.123711340206  lift: 40.7265586647
frozenset([20]) --> frozenset([80, 2018, 5]) conf: 0.128440366972  lift: 44.3975535168
frozenset([2018]) --> frozenset([80, 20, 5]) conf: 0.137030995106  lift: 45.8390780403
frozenset([80]) --> frozenset([2018, 20, 5]) conf: 0.157894736842  lift: 62.975708502
frozenset([5, 2781]) --> frozenset([80, 2018]) conf: 0.342307692308  lift: 78.0160608622
frozenset([2018, 2781]) --> frozenset([80, 5]) conf: 0.597315436242  lift: 104.103547459
frozenset([2018, 5]) --> frozenset([80, 2781]) conf: 0.491712707182  lift: 105.13527368
frozenset([80, 2781]) --> frozenset([2018, 5]) conf: 0.458762886598  lift: 105.13527368
frozenset([80, 5]) --> frozenset([2018, 2781]) conf: 0.373949579832  lift: 104.103547459
frozenset([80, 2018]) --> frozenset([5, 2781]) conf: 0.489010989011  lift: 78.0160608622
frozenset([2781]) --> frozenset([80, 2018, 5]) conf: 0.163003663004  lift: 56.3449328449
frozenset([5]) --> frozenset([80, 2018, 2781]) conf: 0.131075110457  lift: 49.4272325613
frozenset([2018]) --> frozenset([80, 5, 2781]) conf: 0.145187601958  lift: 42.7119271575
frozenset([80]) --> frozenset([2018, 5, 2781]) conf: 0.167293233083  lift: 62.5164262006

know much about music?

In [ ]:
 

To get comprenhensive rules do:
pntRules(rules_confident, songs)
pntRules(rules_lift,songs)


The following two rules are extracted from confidence metric:

The rule show below is interesting since the first Artist New Boyz is not as famous as Nicki Minaj. But still the rule says that if a playlist has Back seat implies  Moment 4 life would also be in it. Is like referencing one artis to another. 
['New-Boyz', 'Back-Seat']
           -------->
['Nicki-Minaj', 'Moment-4-Life']
[confidence: 0.617512, lift: 35.184585]

Te second rule has been found by both metircs. Is interesting, I would not imagine that a song from Bruno Mars and Lil Wayne, that are maybe similar Artist would imply a song from Waka Flocka Flame. I do see the relation to Nicki Minaj.  
['Bruno-Mars', 'Grenade']
['Lil-Wayne', '6-Foot-7-Foot']
           -------->
['Waka-Flocka-Flame', 'No-Hands']
['Nicki-Minaj', 'Moment-4-Life']
[confidence: 0.624161, lift: 117.150232]

The next rule is from lift and is  interesting since is in direct relation to the previous one. I think that all these songs are strongly related to eachother.  
['Waka-Flocka-Flame', 'No-Hands']
['Lil-Wayne', '6-Foot-7-Foot']
           -------->
['Bruno-Mars', 'Grenade']
['Nicki-Minaj', 'Moment-4-Life']
[confidence: 0.479381, lift: 113.627099]



Item-Based Joke Recommendation

In [2]:
# item-based recommender algorithm. 


from numpy import *
from numpy import linalg as la
import numpy as np

def ecludSim(inA,inB):
    return 1.0 / (1.0 + la.norm(inA - inB))

def pearsSim(inA,inB):
    if len(inA) < 3 : return 1.0
    return 0.5 + 0.5 * corrcoef(inA, inB, rowvar = 0)[0][1]

def cosSim(inA,inB):
    num = float(inA.T * inB)
    denom = la.norm(inA)*la.norm(inB)
    return 0.5 + 0.5 * (num / denom)

def standEst(dataMat, user, simMeas, item):
    n = shape(dataMat)[1]
    simTotal = 0.0; ratSimTotal = 0.0
    for j in range(n):
        #j=2
        userRating = dataMat[user,j] ; userRating
        if userRating == 0: 
            continue
        overLap = nonzero(logical_and(dataMat[:,item]>0, \
                                      dataMat[:,j]>0))[0]
        if len(overLap) == 0: similarity = 0
        else: similarity = simMeas(dataMat[overLap,item], \
                                   dataMat[overLap,j])
        #print 'the %d and %d similarity is: %f' % (item, j, similarity)
        simTotal += similarity
        ratSimTotal += similarity * userRating
    if simTotal == 0: 
        return 0
    else: 
        return ratSimTotal/simTotal
    
def svdEst(dataMat, user, simMeas, item):
    n = shape(dataMat)[1]
    simTotal = 0.0; ratSimTotal = 0.0
    data=mat(dataMat)
    U,Sigma,VT = la.svd(data)
    Sig4 = mat(eye(4)*Sigma[:4]) #arrange Sig4 into a diagonal matrix
    xformedItems = data.T * U[:,:4] * Sig4.I  #create transformed items
    for j in range(n):
        userRating = data[user,j]
        if userRating == 0 or j==item: continue
        similarity = simMeas(xformedItems[item,:].T,\
                             xformedItems[j,:].T)
        #print 'the %d and %d similarity is: %f' % (item, j, similarity)
        simTotal += similarity
        ratSimTotal += similarity * userRating
    if simTotal == 0: return 0
    else: return ratSimTotal/simTotal

# This function is not needed for Assignment 4, but may be useful for experimentation
def recommend(dataMat, user, N=3, simMeas=cosSim, estMethod=standEst):
    unratedItems = nonzero(dataMat[user,:].A==0)[1] #find unrated items 
    if len(unratedItems) == 0: return 'you rated everything'
    itemScores = []
    for item in unratedItems:
        estimatedScore = estMethod(dataMat, user, simMeas, item)
        itemScores.append((item, estimatedScore))
    return sorted(itemScores, key=lambda jj: jj[1], reverse=True)[:N]

# This function performs cross-validation on a single user based on the test_ratio
# For example, with test_ratio = 0.2, 5-fold x-validation is performed where in each fold, 
# 20 percent of rated items are withheld and the rest are used to estimate the withheld ratings

def cross_validate_user(dataMat, user, test_ratio, estMethod=standEst, simMeas=pearsSim):
    number_of_items = np.shape(dataMat)[1]
    rated_items_by_user = np.array([i for i in range(number_of_items) if dataMat[user,i]>0])
    test_size = int(test_ratio * len(rated_items_by_user))
    test_indices = np.random.randint(0, len(rated_items_by_user), test_size)
    withheld_items = rated_items_by_user[test_indices]
    original_user_profile = np.copy(dataMat[user])[0] # len(original_user_profile[0])
    dataMat[user, withheld_items] = 0 # So that the withheld test items is not used in the rating estimation below
    error_u = 0.0
    count_u = len(withheld_items)
    # Compute absolute error for user u over all test items
    for item in withheld_items:
        # item = withheld_items[0];item
        # Estimate rating on the withheld item
        estimatedScore = estMethod(dataMat, user, simMeas, item) #pearsSim()
        error_u = error_u + abs(estimatedScore - original_user_profile[item])	
    # Now restore ratings of the withheld items to the user profile
    for item in withheld_items:
        dataMat[user, item] = original_user_profile[item]
    # Return sum of absolute errors and the count of test cases for this user
    # Note that these will have to be accumulated for each user to compute MAE
    return error_u, count_u
	

def load_jokes(file):
    jokes = genfromtxt(file, delimiter=',', dtype=str)
    jokes = np.array(jokes[:,1])
    return jokes

def get_joke_text(jokes, id):
	return jokes[id]

Loading data

In [3]:
# jokes data
jokes = load_jokes('jokes.csv')

# users ratings data
users = pan.read_csv('modified_jester_data.csv')
dataMat= np.matrix(users)

Impleenting the test function

In [5]:
def test(dataMat, test_ratio= 0.2, estMethod='standEst'):
    # Write this function to iterate over all users and for each perform cross-validation on items by calling
    # the above cross-validation function on each user.
    mae = []
    for i in range(len(dataMat)):
        # user = 0; user ; test_ratio = 0.2 ; estMethod=standEst
        mae.append(cross_validate_user(dataMat, i, test_ratio))
    # MAE will be the ratio of total error across all test cases to the total number of test cases, for all users
    MAE = 0.0
    for i in mae:
        MAE += i[0] *i[1] 
    MAE = MAE / sum(mae)
    print 'Mean Absoloute Error for ',estMethod,' : ', MAE

test(dataMat, test_ratio= 0.2, estMethod='standEst')
Mean Absoloute Error for  standEst  :  12.19

Most similar jokes

In [8]:
def print_most_similar_jokes(dataMat, queryJoke=1, k=3, metric=pearsSim):
    # reading jokes files
    jokes = load_jokes('jokes.csv')
    
    # number of jokes
    njokes = shape(dataMat)[1] 
    # distance dict 
    distances = {}
    for i in range(njokes):
        # i=0
        # computing distances
        overLap = nonzero(logical_and(dataMat[:,queryJoke]>0, dataMat[:,i]>0))[0] # len(dataMat[:,queryJoke])
        distances[i] = metric(dataMat[overLap,i], dataMat[overLap,i])
    # soting distances
    sortedD = sorted(distances.items(), key=operator.itemgetter(1))
    
    # printig query
    print 'Selected joke:\n' , jokes[queryJoke] , '\n'
    
    # printing k neightbors
    for j in range(k):
        print 'Joke %i: ' % (j+1), '\n' ,jokes[sortedD[j][0]] , '\n'
    
    
# calling function with k = 5
print_most_similar_jokes(dataMat, queryJoke=99, k=5, metric=pearsSim)
Selected joke:
Q: What's the difference between greeting a Queen and greeting thePresident of the United  States?A: You only have to get on one knee to greet the queen. 

Joke 1:  
A man visits the doctor. The doctor says "I have bad news for you.You have cancer and Alzheimer's disease". The man replies "Well thank God I don't have cancer!" 

Joke 2:  
This couple had an excellent relationship going until one day he came home from work to find his girlfriend packing. He asked her why she was leaving him and she told him that she had heard awful things about him. "What could they possibly have said to make you move out?" "They told me that you were a pedophile." He replied "That's an awfully big word for a ten year old." 

Joke 3:  
Q. What's 200 feet long and has 4 teeth? A. The front row at a Willie Nelson Concert. 

Joke 4:  
Q. What's the difference between a man and a toilet? A. A toilet doesn't follow you around after you use it. 

Joke 5:  
Q. What's O. J. Simpson's Internet address? A.	Slash slash backslash slash slash escape. 

In [10]:
# calling function with k = 3
print_most_similar_jokes(dataMat, queryJoke=37, k=3, metric=pearsSim)
Selected joke:
"May I take your order?" the waiter asked. "Yes how do you prepare your chickens?" "Nothing special sir" he replied. "We just tell them straight out that they're going to die." 

Joke 1:  
A man visits the doctor. The doctor says "I have bad news for you.You have cancer and Alzheimer's disease". The man replies "Well thank God I don't have cancer!" 

Joke 2:  
This couple had an excellent relationship going until one day he came home from work to find his girlfriend packing. He asked her why she was leaving him and she told him that she had heard awful things about him. "What could they possibly have said to make you move out?" "They told me that you were a pedophile." He replied "That's an awfully big word for a ten year old." 

Joke 3:  
Q. What's 200 feet long and has 4 teeth? A. The front row at a Willie Nelson Concert.