Skip to content

Instantly share code, notes, and snippets.

@Aditii7
Created April 6, 2021 16:04
Show Gist options
  • Save Aditii7/6b32f893b6c0aaefc749c1a746373b77 to your computer and use it in GitHub Desktop.
Save Aditii7/6b32f893b6c0aaefc749c1a746373b77 to your computer and use it in GitHub Desktop.
association rule assigment.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"scrolled": true,
"trusted": true
},
"cell_type": "code",
"source": "# association rules assigment\nfrom mlxtend.frequent_patterns import apriori,association_rules\nfrom mlxtend.preprocessing import TransactionEncoder\nimport pandas as pd",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "\nconda install -c conda-forge mlxtend\n",
"execution_count": 2,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Collecting package metadata (current_repodata.json): ...working... done\nNote: you may need to restart the kernel to use updated packages.\nSolving environment: ...working... done\n\n## Package Plan ##\n\n environment location: C:\\Users\\91966\\anaconda3\n\n added / updated specs:\n - mlxtend\n\n\nThe following packages will be downloaded:\n\n package | build\n ---------------------------|-----------------\n conda-4.10.0 | py38haa244fe_1 3.1 MB conda-forge\n mlxtend-0.18.0 | pyhd3deb0d_0 1.2 MB conda-forge\n python_abi-3.8 | 1_cp38 4 KB conda-forge\n ------------------------------------------------------------\n Total: 4.3 MB\n\nThe following NEW packages will be INSTALLED:\n\n mlxtend conda-forge/noarch::mlxtend-0.18.0-pyhd3deb0d_0\n python_abi conda-forge/win-64::python_abi-3.8-1_cp38\n\nThe following packages will be UPDATED:\n\n conda pkgs/main::conda-4.9.2-py38haa95532_0 --> conda-forge::conda-4.10.0-py38haa244fe_1\n\n\n\nDownloading and Extracting Packages\n\nconda-4.10.0 | 3.1 MB | | 0% \n\nconda-4.10.0 | 3.1 MB | | 1% \nconda-4.10.0 | 3.1 MB | 2 | 3% \nconda-4.10.0 | 3.1 MB | 6 | 6% \nconda-4.10.0 | 3.1 MB | #1 | 11% \nconda-4.10.0 | 3.1 MB | #4 | 14% \nconda-4.10.0 | 3.1 MB | #7 | 17% \nconda-4.10.0 | 3.1 MB | #9 | 20% \nconda-4.10.0 | 3.1 MB | ##2 | 22% \nconda-4.10.0 | 3.1 MB | ##5 | 26% \nconda-4.10.0 | 3.1 MB | ###2 | 32% \nconda-4.10.0 | 3.1 MB | #### | 41% \nconda-4.10.0 | 3.1 MB | ####6 | 47% \nconda-4.10.0 | 3.1 MB | #####2 | 53% \nconda-4.10.0 | 3.1 MB | #####9 | 59% \nconda-4.10.0 | 3.1 MB | ######5 | 65% \nconda-4.10.0 | 3.1 MB | ####### | 71% \nconda-4.10.0 | 3.1 MB | #######6 | 76% \nconda-4.10.0 | 3.1 MB | ########2 | 83% \nconda-4.10.0 | 3.1 MB | ########8 | 89% \nconda-4.10.0 | 3.1 MB | #########6 | 96% \nconda-4.10.0 | 3.1 MB | ########## | 100% \n\nmlxtend-0.18.0 | 1.2 MB | | 0% \nmlxtend-0.18.0 | 1.2 MB | 1 | 1% \nmlxtend-0.18.0 | 1.2 MB | ## | 21% \nmlxtend-0.18.0 | 1.2 MB | ###9 | 40% \nmlxtend-0.18.0 | 1.2 MB | #####3 | 54% \nmlxtend-0.18.0 | 1.2 MB | ####### | 71% \nmlxtend-0.18.0 | 1.2 MB | ########4 | 85% \nmlxtend-0.18.0 | 1.2 MB | #########8 | 99% \nmlxtend-0.18.0 | 1.2 MB | ########## | 100% \n\npython_abi-3.8 | 4 KB | | 0% \npython_abi-3.8 | 4 KB | ########## | 100% \npython_abi-3.8 | 4 KB | ########## | 100% \nPreparing transaction: ...working... done\nVerifying transaction: ...working... done\nExecuting transaction: ...working... done\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df=pd.read_csv(\"book.csv\")",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df",
"execution_count": 5,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 5,
"data": {
"text/plain": " ChildBks YouthBks CookBks DoItYBks RefBks ArtBks GeogBks \\\n0 0 1 0 1 0 0 1 \n1 1 0 0 0 0 0 0 \n2 0 0 0 0 0 0 0 \n3 1 1 1 0 1 0 1 \n4 0 0 1 0 0 0 1 \n... ... ... ... ... ... ... ... \n1995 0 0 1 0 0 1 1 \n1996 0 0 0 0 0 0 0 \n1997 0 0 0 0 0 0 0 \n1998 0 0 1 0 0 0 0 \n1999 0 0 0 0 0 0 0 \n\n ItalCook ItalAtlas ItalArt Florence \n0 0 0 0 0 \n1 0 0 0 0 \n2 0 0 0 0 \n3 0 0 0 0 \n4 0 0 0 0 \n... ... ... ... ... \n1995 1 0 1 1 \n1996 0 0 0 0 \n1997 0 0 0 0 \n1998 0 0 0 0 \n1999 0 0 0 0 \n\n[2000 rows x 11 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>ChildBks</th>\n <th>YouthBks</th>\n <th>CookBks</th>\n <th>DoItYBks</th>\n <th>RefBks</th>\n <th>ArtBks</th>\n <th>GeogBks</th>\n <th>ItalCook</th>\n <th>ItalAtlas</th>\n <th>ItalArt</th>\n <th>Florence</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>1995</th>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>1996</th>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1997</th>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1998</th>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1999</th>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n </tbody>\n</table>\n<p>2000 rows × 11 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "#apply ariori algoritham",
"execution_count": 6,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "frequent_itemsets = apriori(df, min_support=0.1, use_colnames=True)\nfrequent_itemsets",
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 7,
"data": {
"text/plain": " support itemsets\n0 0.4230 (ChildBks)\n1 0.2475 (YouthBks)\n2 0.4310 (CookBks)\n3 0.2820 (DoItYBks)\n4 0.2145 (RefBks)\n5 0.2410 (ArtBks)\n6 0.2760 (GeogBks)\n7 0.1135 (ItalCook)\n8 0.1085 (Florence)\n9 0.1650 (ChildBks, YouthBks)\n10 0.2560 (ChildBks, CookBks)\n11 0.1840 (ChildBks, DoItYBks)\n12 0.1515 (ChildBks, RefBks)\n13 0.1625 (ChildBks, ArtBks)\n14 0.1950 (ChildBks, GeogBks)\n15 0.1620 (CookBks, YouthBks)\n16 0.1155 (DoItYBks, YouthBks)\n17 0.1010 (ArtBks, YouthBks)\n18 0.1205 (GeogBks, YouthBks)\n19 0.1875 (CookBks, DoItYBks)\n20 0.1525 (CookBks, RefBks)\n21 0.1670 (CookBks, ArtBks)\n22 0.1925 (CookBks, GeogBks)\n23 0.1135 (CookBks, ItalCook)\n24 0.1055 (RefBks, DoItYBks)\n25 0.1235 (ArtBks, DoItYBks)\n26 0.1325 (DoItYBks, GeogBks)\n27 0.1105 (RefBks, GeogBks)\n28 0.1275 (ArtBks, GeogBks)\n29 0.1290 (ChildBks, CookBks, YouthBks)\n30 0.1460 (ChildBks, DoItYBks, CookBks)\n31 0.1225 (ChildBks, RefBks, CookBks)\n32 0.1265 (ChildBks, ArtBks, CookBks)\n33 0.1495 (ChildBks, CookBks, GeogBks)\n34 0.1045 (ChildBks, DoItYBks, GeogBks)\n35 0.1020 (ChildBks, ArtBks, GeogBks)\n36 0.1015 (CookBks, ArtBks, DoItYBks)\n37 0.1085 (CookBks, DoItYBks, GeogBks)\n38 0.1035 (CookBks, ArtBks, GeogBks)",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>support</th>\n <th>itemsets</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0.4230</td>\n <td>(ChildBks)</td>\n </tr>\n <tr>\n <th>1</th>\n <td>0.2475</td>\n <td>(YouthBks)</td>\n </tr>\n <tr>\n <th>2</th>\n <td>0.4310</td>\n <td>(CookBks)</td>\n </tr>\n <tr>\n <th>3</th>\n <td>0.2820</td>\n <td>(DoItYBks)</td>\n </tr>\n <tr>\n <th>4</th>\n <td>0.2145</td>\n <td>(RefBks)</td>\n </tr>\n <tr>\n <th>5</th>\n <td>0.2410</td>\n <td>(ArtBks)</td>\n </tr>\n <tr>\n <th>6</th>\n <td>0.2760</td>\n <td>(GeogBks)</td>\n </tr>\n <tr>\n <th>7</th>\n <td>0.1135</td>\n <td>(ItalCook)</td>\n </tr>\n <tr>\n <th>8</th>\n <td>0.1085</td>\n <td>(Florence)</td>\n </tr>\n <tr>\n <th>9</th>\n <td>0.1650</td>\n <td>(ChildBks, YouthBks)</td>\n </tr>\n <tr>\n <th>10</th>\n <td>0.2560</td>\n <td>(ChildBks, CookBks)</td>\n </tr>\n <tr>\n <th>11</th>\n <td>0.1840</td>\n <td>(ChildBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>12</th>\n <td>0.1515</td>\n <td>(ChildBks, RefBks)</td>\n </tr>\n <tr>\n <th>13</th>\n <td>0.1625</td>\n <td>(ChildBks, ArtBks)</td>\n </tr>\n <tr>\n <th>14</th>\n <td>0.1950</td>\n <td>(ChildBks, GeogBks)</td>\n </tr>\n <tr>\n <th>15</th>\n <td>0.1620</td>\n <td>(CookBks, YouthBks)</td>\n </tr>\n <tr>\n <th>16</th>\n <td>0.1155</td>\n <td>(DoItYBks, YouthBks)</td>\n </tr>\n <tr>\n <th>17</th>\n <td>0.1010</td>\n <td>(ArtBks, YouthBks)</td>\n </tr>\n <tr>\n <th>18</th>\n <td>0.1205</td>\n <td>(GeogBks, YouthBks)</td>\n </tr>\n <tr>\n <th>19</th>\n <td>0.1875</td>\n <td>(CookBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>20</th>\n <td>0.1525</td>\n <td>(CookBks, RefBks)</td>\n </tr>\n <tr>\n <th>21</th>\n <td>0.1670</td>\n <td>(CookBks, ArtBks)</td>\n </tr>\n <tr>\n <th>22</th>\n <td>0.1925</td>\n <td>(CookBks, GeogBks)</td>\n </tr>\n <tr>\n <th>23</th>\n <td>0.1135</td>\n <td>(CookBks, ItalCook)</td>\n </tr>\n <tr>\n <th>24</th>\n <td>0.1055</td>\n <td>(RefBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>25</th>\n <td>0.1235</td>\n <td>(ArtBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>26</th>\n <td>0.1325</td>\n <td>(DoItYBks, GeogBks)</td>\n </tr>\n <tr>\n <th>27</th>\n <td>0.1105</td>\n <td>(RefBks, GeogBks)</td>\n </tr>\n <tr>\n <th>28</th>\n <td>0.1275</td>\n <td>(ArtBks, GeogBks)</td>\n </tr>\n <tr>\n <th>29</th>\n <td>0.1290</td>\n <td>(ChildBks, CookBks, YouthBks)</td>\n </tr>\n <tr>\n <th>30</th>\n <td>0.1460</td>\n <td>(ChildBks, DoItYBks, CookBks)</td>\n </tr>\n <tr>\n <th>31</th>\n <td>0.1225</td>\n <td>(ChildBks, RefBks, CookBks)</td>\n </tr>\n <tr>\n <th>32</th>\n <td>0.1265</td>\n <td>(ChildBks, ArtBks, CookBks)</td>\n </tr>\n <tr>\n <th>33</th>\n <td>0.1495</td>\n <td>(ChildBks, CookBks, GeogBks)</td>\n </tr>\n <tr>\n <th>34</th>\n <td>0.1045</td>\n <td>(ChildBks, DoItYBks, GeogBks)</td>\n </tr>\n <tr>\n <th>35</th>\n <td>0.1020</td>\n <td>(ChildBks, ArtBks, GeogBks)</td>\n </tr>\n <tr>\n <th>36</th>\n <td>0.1015</td>\n <td>(CookBks, ArtBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>37</th>\n <td>0.1085</td>\n <td>(CookBks, DoItYBks, GeogBks)</td>\n </tr>\n <tr>\n <th>38</th>\n <td>0.1035</td>\n <td>(CookBks, ArtBks, GeogBks)</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rules = association_rules(frequent_itemsets, metric=\"lift\", min_threshold=0.7)\nrules",
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 8,
"data": {
"text/plain": " antecedents consequents antecedent support \\\n0 (ChildBks) (YouthBks) 0.4230 \n1 (YouthBks) (ChildBks) 0.2475 \n2 (ChildBks) (CookBks) 0.4230 \n3 (CookBks) (ChildBks) 0.4310 \n4 (ChildBks) (DoItYBks) 0.4230 \n.. ... ... ... \n95 (CookBks, GeogBks) (ArtBks) 0.1925 \n96 (ArtBks, GeogBks) (CookBks) 0.1275 \n97 (CookBks) (ArtBks, GeogBks) 0.4310 \n98 (ArtBks) (CookBks, GeogBks) 0.2410 \n99 (GeogBks) (CookBks, ArtBks) 0.2760 \n\n consequent support support confidence lift leverage conviction \n0 0.2475 0.1650 0.390071 1.576044 0.060308 1.233750 \n1 0.4230 0.1650 0.666667 1.576044 0.060308 1.731000 \n2 0.4310 0.2560 0.605201 1.404179 0.073687 1.441240 \n3 0.4230 0.2560 0.593968 1.404179 0.073687 1.421069 \n4 0.2820 0.1840 0.434988 1.542511 0.064714 1.270770 \n.. ... ... ... ... ... ... \n95 0.2410 0.1035 0.537662 2.230964 0.057107 1.641657 \n96 0.4310 0.1035 0.811765 1.883445 0.048547 3.022812 \n97 0.1275 0.1035 0.240139 1.883445 0.048547 1.148237 \n98 0.1925 0.1035 0.429461 2.230964 0.057107 1.415327 \n99 0.1670 0.1035 0.375000 2.245509 0.057408 1.332800 \n\n[100 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>antecedents</th>\n <th>consequents</th>\n <th>antecedent support</th>\n <th>consequent support</th>\n <th>support</th>\n <th>confidence</th>\n <th>lift</th>\n <th>leverage</th>\n <th>conviction</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>(ChildBks)</td>\n <td>(YouthBks)</td>\n <td>0.4230</td>\n <td>0.2475</td>\n <td>0.1650</td>\n <td>0.390071</td>\n <td>1.576044</td>\n <td>0.060308</td>\n <td>1.233750</td>\n </tr>\n <tr>\n <th>1</th>\n <td>(YouthBks)</td>\n <td>(ChildBks)</td>\n <td>0.2475</td>\n <td>0.4230</td>\n <td>0.1650</td>\n <td>0.666667</td>\n <td>1.576044</td>\n <td>0.060308</td>\n <td>1.731000</td>\n </tr>\n <tr>\n <th>2</th>\n <td>(ChildBks)</td>\n <td>(CookBks)</td>\n <td>0.4230</td>\n <td>0.4310</td>\n <td>0.2560</td>\n <td>0.605201</td>\n <td>1.404179</td>\n <td>0.073687</td>\n <td>1.441240</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(CookBks)</td>\n <td>(ChildBks)</td>\n <td>0.4310</td>\n <td>0.4230</td>\n <td>0.2560</td>\n <td>0.593968</td>\n <td>1.404179</td>\n <td>0.073687</td>\n <td>1.421069</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(ChildBks)</td>\n <td>(DoItYBks)</td>\n <td>0.4230</td>\n <td>0.2820</td>\n <td>0.1840</td>\n <td>0.434988</td>\n <td>1.542511</td>\n <td>0.064714</td>\n <td>1.270770</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>95</th>\n <td>(CookBks, GeogBks)</td>\n <td>(ArtBks)</td>\n <td>0.1925</td>\n <td>0.2410</td>\n <td>0.1035</td>\n <td>0.537662</td>\n <td>2.230964</td>\n <td>0.057107</td>\n <td>1.641657</td>\n </tr>\n <tr>\n <th>96</th>\n <td>(ArtBks, GeogBks)</td>\n <td>(CookBks)</td>\n <td>0.1275</td>\n <td>0.4310</td>\n <td>0.1035</td>\n <td>0.811765</td>\n <td>1.883445</td>\n <td>0.048547</td>\n <td>3.022812</td>\n </tr>\n <tr>\n <th>97</th>\n <td>(CookBks)</td>\n <td>(ArtBks, GeogBks)</td>\n <td>0.4310</td>\n <td>0.1275</td>\n <td>0.1035</td>\n <td>0.240139</td>\n <td>1.883445</td>\n <td>0.048547</td>\n <td>1.148237</td>\n </tr>\n <tr>\n <th>98</th>\n <td>(ArtBks)</td>\n <td>(CookBks, GeogBks)</td>\n <td>0.2410</td>\n <td>0.1925</td>\n <td>0.1035</td>\n <td>0.429461</td>\n <td>2.230964</td>\n <td>0.057107</td>\n <td>1.415327</td>\n </tr>\n <tr>\n <th>99</th>\n <td>(GeogBks)</td>\n <td>(CookBks, ArtBks)</td>\n <td>0.2760</td>\n <td>0.1670</td>\n <td>0.1035</td>\n <td>0.375000</td>\n <td>2.245509</td>\n <td>0.057408</td>\n <td>1.332800</td>\n </tr>\n </tbody>\n</table>\n<p>100 rows × 9 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rules.sort_values('lift',ascending = False)[0:20]",
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 9,
"data": {
"text/plain": " antecedents consequents antecedent support \\\n28 (CookBks) (ItalCook) 0.4310 \n29 (ItalCook) (CookBks) 0.1135 \n76 (ChildBks, ArtBks) (GeogBks) 0.1625 \n81 (GeogBks) (ChildBks, ArtBks) 0.2760 \n86 (ArtBks) (CookBks, DoItYBks) 0.2410 \n83 (CookBks, DoItYBks) (ArtBks) 0.1875 \n99 (GeogBks) (CookBks, ArtBks) 0.2760 \n94 (CookBks, ArtBks) (GeogBks) 0.1670 \n98 (ArtBks) (CookBks, GeogBks) 0.2410 \n95 (CookBks, GeogBks) (ArtBks) 0.1925 \n53 (ChildBks, CookBks) (RefBks) 0.2560 \n56 (RefBks) (ChildBks, CookBks) 0.2145 \n77 (ChildBks, GeogBks) (ArtBks) 0.1950 \n80 (ArtBks) (ChildBks, GeogBks) 0.2410 \n87 (DoItYBks) (CookBks, ArtBks) 0.2820 \n82 (CookBks, ArtBks) (DoItYBks) 0.1670 \n64 (ChildBks, CookBks) (GeogBks) 0.2560 \n69 (GeogBks) (ChildBks, CookBks) 0.2760 \n88 (CookBks, DoItYBks) (GeogBks) 0.1875 \n93 (GeogBks) (CookBks, DoItYBks) 0.2760 \n\n consequent support support confidence lift leverage conviction \n28 0.1135 0.1135 0.263341 2.320186 0.064582 1.203406 \n29 0.4310 0.1135 1.000000 2.320186 0.064582 inf \n76 0.2760 0.1020 0.627692 2.274247 0.057150 1.944628 \n81 0.1625 0.1020 0.369565 2.274247 0.057150 1.328448 \n86 0.1875 0.1015 0.421162 2.246196 0.056313 1.403674 \n83 0.2410 0.1015 0.541333 2.246196 0.056313 1.654797 \n99 0.1670 0.1035 0.375000 2.245509 0.057408 1.332800 \n94 0.2760 0.1035 0.619760 2.245509 0.057408 1.904063 \n98 0.1925 0.1035 0.429461 2.230964 0.057107 1.415327 \n95 0.2410 0.1035 0.537662 2.230964 0.057107 1.641657 \n53 0.2145 0.1225 0.478516 2.230842 0.067588 1.506277 \n56 0.2560 0.1225 0.571096 2.230842 0.067588 1.734652 \n77 0.2410 0.1020 0.523077 2.170444 0.055005 1.591452 \n80 0.1950 0.1020 0.423237 2.170444 0.055005 1.395719 \n87 0.1670 0.1015 0.359929 2.155264 0.054406 1.301418 \n82 0.2820 0.1015 0.607784 2.155264 0.054406 1.830626 \n64 0.2760 0.1495 0.583984 2.115885 0.078844 1.740319 \n69 0.2560 0.1495 0.541667 2.115885 0.078844 1.623273 \n88 0.2760 0.1085 0.578667 2.096618 0.056750 1.718354 \n93 0.1875 0.1085 0.393116 2.096618 0.056750 1.338806 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>antecedents</th>\n <th>consequents</th>\n <th>antecedent support</th>\n <th>consequent support</th>\n <th>support</th>\n <th>confidence</th>\n <th>lift</th>\n <th>leverage</th>\n <th>conviction</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>28</th>\n <td>(CookBks)</td>\n <td>(ItalCook)</td>\n <td>0.4310</td>\n <td>0.1135</td>\n <td>0.1135</td>\n <td>0.263341</td>\n <td>2.320186</td>\n <td>0.064582</td>\n <td>1.203406</td>\n </tr>\n <tr>\n <th>29</th>\n <td>(ItalCook)</td>\n <td>(CookBks)</td>\n <td>0.1135</td>\n <td>0.4310</td>\n <td>0.1135</td>\n <td>1.000000</td>\n <td>2.320186</td>\n <td>0.064582</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>76</th>\n <td>(ChildBks, ArtBks)</td>\n <td>(GeogBks)</td>\n <td>0.1625</td>\n <td>0.2760</td>\n <td>0.1020</td>\n <td>0.627692</td>\n <td>2.274247</td>\n <td>0.057150</td>\n <td>1.944628</td>\n </tr>\n <tr>\n <th>81</th>\n <td>(GeogBks)</td>\n <td>(ChildBks, ArtBks)</td>\n <td>0.2760</td>\n <td>0.1625</td>\n <td>0.1020</td>\n <td>0.369565</td>\n <td>2.274247</td>\n <td>0.057150</td>\n <td>1.328448</td>\n </tr>\n <tr>\n <th>86</th>\n <td>(ArtBks)</td>\n <td>(CookBks, DoItYBks)</td>\n <td>0.2410</td>\n <td>0.1875</td>\n <td>0.1015</td>\n <td>0.421162</td>\n <td>2.246196</td>\n <td>0.056313</td>\n <td>1.403674</td>\n </tr>\n <tr>\n <th>83</th>\n <td>(CookBks, DoItYBks)</td>\n <td>(ArtBks)</td>\n <td>0.1875</td>\n <td>0.2410</td>\n <td>0.1015</td>\n <td>0.541333</td>\n <td>2.246196</td>\n <td>0.056313</td>\n <td>1.654797</td>\n </tr>\n <tr>\n <th>99</th>\n <td>(GeogBks)</td>\n <td>(CookBks, ArtBks)</td>\n <td>0.2760</td>\n <td>0.1670</td>\n <td>0.1035</td>\n <td>0.375000</td>\n <td>2.245509</td>\n <td>0.057408</td>\n <td>1.332800</td>\n </tr>\n <tr>\n <th>94</th>\n <td>(CookBks, ArtBks)</td>\n <td>(GeogBks)</td>\n <td>0.1670</td>\n <td>0.2760</td>\n <td>0.1035</td>\n <td>0.619760</td>\n <td>2.245509</td>\n <td>0.057408</td>\n <td>1.904063</td>\n </tr>\n <tr>\n <th>98</th>\n <td>(ArtBks)</td>\n <td>(CookBks, GeogBks)</td>\n <td>0.2410</td>\n <td>0.1925</td>\n <td>0.1035</td>\n <td>0.429461</td>\n <td>2.230964</td>\n <td>0.057107</td>\n <td>1.415327</td>\n </tr>\n <tr>\n <th>95</th>\n <td>(CookBks, GeogBks)</td>\n <td>(ArtBks)</td>\n <td>0.1925</td>\n <td>0.2410</td>\n <td>0.1035</td>\n <td>0.537662</td>\n <td>2.230964</td>\n <td>0.057107</td>\n <td>1.641657</td>\n </tr>\n <tr>\n <th>53</th>\n <td>(ChildBks, CookBks)</td>\n <td>(RefBks)</td>\n <td>0.2560</td>\n <td>0.2145</td>\n <td>0.1225</td>\n <td>0.478516</td>\n <td>2.230842</td>\n <td>0.067588</td>\n <td>1.506277</td>\n </tr>\n <tr>\n <th>56</th>\n <td>(RefBks)</td>\n <td>(ChildBks, CookBks)</td>\n <td>0.2145</td>\n <td>0.2560</td>\n <td>0.1225</td>\n <td>0.571096</td>\n <td>2.230842</td>\n <td>0.067588</td>\n <td>1.734652</td>\n </tr>\n <tr>\n <th>77</th>\n <td>(ChildBks, GeogBks)</td>\n <td>(ArtBks)</td>\n <td>0.1950</td>\n <td>0.2410</td>\n <td>0.1020</td>\n <td>0.523077</td>\n <td>2.170444</td>\n <td>0.055005</td>\n <td>1.591452</td>\n </tr>\n <tr>\n <th>80</th>\n <td>(ArtBks)</td>\n <td>(ChildBks, GeogBks)</td>\n <td>0.2410</td>\n <td>0.1950</td>\n <td>0.1020</td>\n <td>0.423237</td>\n <td>2.170444</td>\n <td>0.055005</td>\n <td>1.395719</td>\n </tr>\n <tr>\n <th>87</th>\n <td>(DoItYBks)</td>\n <td>(CookBks, ArtBks)</td>\n <td>0.2820</td>\n <td>0.1670</td>\n <td>0.1015</td>\n <td>0.359929</td>\n <td>2.155264</td>\n <td>0.054406</td>\n <td>1.301418</td>\n </tr>\n <tr>\n <th>82</th>\n <td>(CookBks, ArtBks)</td>\n <td>(DoItYBks)</td>\n <td>0.1670</td>\n <td>0.2820</td>\n <td>0.1015</td>\n <td>0.607784</td>\n <td>2.155264</td>\n <td>0.054406</td>\n <td>1.830626</td>\n </tr>\n <tr>\n <th>64</th>\n <td>(ChildBks, CookBks)</td>\n <td>(GeogBks)</td>\n <td>0.2560</td>\n <td>0.2760</td>\n <td>0.1495</td>\n <td>0.583984</td>\n <td>2.115885</td>\n <td>0.078844</td>\n <td>1.740319</td>\n </tr>\n <tr>\n <th>69</th>\n <td>(GeogBks)</td>\n <td>(ChildBks, CookBks)</td>\n <td>0.2760</td>\n <td>0.2560</td>\n <td>0.1495</td>\n <td>0.541667</td>\n <td>2.115885</td>\n <td>0.078844</td>\n <td>1.623273</td>\n </tr>\n <tr>\n <th>88</th>\n <td>(CookBks, DoItYBks)</td>\n <td>(GeogBks)</td>\n <td>0.1875</td>\n <td>0.2760</td>\n <td>0.1085</td>\n <td>0.578667</td>\n <td>2.096618</td>\n <td>0.056750</td>\n <td>1.718354</td>\n </tr>\n <tr>\n <th>93</th>\n <td>(GeogBks)</td>\n <td>(CookBks, DoItYBks)</td>\n <td>0.2760</td>\n <td>0.1875</td>\n <td>0.1085</td>\n <td>0.393116</td>\n <td>2.096618</td>\n <td>0.056750</td>\n <td>1.338806</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rules[rules.lift>1]",
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 10,
"data": {
"text/plain": " antecedents consequents antecedent support \\\n0 (ChildBks) (YouthBks) 0.4230 \n1 (YouthBks) (ChildBks) 0.2475 \n2 (ChildBks) (CookBks) 0.4230 \n3 (CookBks) (ChildBks) 0.4310 \n4 (ChildBks) (DoItYBks) 0.4230 \n.. ... ... ... \n95 (CookBks, GeogBks) (ArtBks) 0.1925 \n96 (ArtBks, GeogBks) (CookBks) 0.1275 \n97 (CookBks) (ArtBks, GeogBks) 0.4310 \n98 (ArtBks) (CookBks, GeogBks) 0.2410 \n99 (GeogBks) (CookBks, ArtBks) 0.2760 \n\n consequent support support confidence lift leverage conviction \n0 0.2475 0.1650 0.390071 1.576044 0.060308 1.233750 \n1 0.4230 0.1650 0.666667 1.576044 0.060308 1.731000 \n2 0.4310 0.2560 0.605201 1.404179 0.073687 1.441240 \n3 0.4230 0.2560 0.593968 1.404179 0.073687 1.421069 \n4 0.2820 0.1840 0.434988 1.542511 0.064714 1.270770 \n.. ... ... ... ... ... ... \n95 0.2410 0.1035 0.537662 2.230964 0.057107 1.641657 \n96 0.4310 0.1035 0.811765 1.883445 0.048547 3.022812 \n97 0.1275 0.1035 0.240139 1.883445 0.048547 1.148237 \n98 0.1925 0.1035 0.429461 2.230964 0.057107 1.415327 \n99 0.1670 0.1035 0.375000 2.245509 0.057408 1.332800 \n\n[100 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>antecedents</th>\n <th>consequents</th>\n <th>antecedent support</th>\n <th>consequent support</th>\n <th>support</th>\n <th>confidence</th>\n <th>lift</th>\n <th>leverage</th>\n <th>conviction</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>(ChildBks)</td>\n <td>(YouthBks)</td>\n <td>0.4230</td>\n <td>0.2475</td>\n <td>0.1650</td>\n <td>0.390071</td>\n <td>1.576044</td>\n <td>0.060308</td>\n <td>1.233750</td>\n </tr>\n <tr>\n <th>1</th>\n <td>(YouthBks)</td>\n <td>(ChildBks)</td>\n <td>0.2475</td>\n <td>0.4230</td>\n <td>0.1650</td>\n <td>0.666667</td>\n <td>1.576044</td>\n <td>0.060308</td>\n <td>1.731000</td>\n </tr>\n <tr>\n <th>2</th>\n <td>(ChildBks)</td>\n <td>(CookBks)</td>\n <td>0.4230</td>\n <td>0.4310</td>\n <td>0.2560</td>\n <td>0.605201</td>\n <td>1.404179</td>\n <td>0.073687</td>\n <td>1.441240</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(CookBks)</td>\n <td>(ChildBks)</td>\n <td>0.4310</td>\n <td>0.4230</td>\n <td>0.2560</td>\n <td>0.593968</td>\n <td>1.404179</td>\n <td>0.073687</td>\n <td>1.421069</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(ChildBks)</td>\n <td>(DoItYBks)</td>\n <td>0.4230</td>\n <td>0.2820</td>\n <td>0.1840</td>\n <td>0.434988</td>\n <td>1.542511</td>\n <td>0.064714</td>\n <td>1.270770</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>95</th>\n <td>(CookBks, GeogBks)</td>\n <td>(ArtBks)</td>\n <td>0.1925</td>\n <td>0.2410</td>\n <td>0.1035</td>\n <td>0.537662</td>\n <td>2.230964</td>\n <td>0.057107</td>\n <td>1.641657</td>\n </tr>\n <tr>\n <th>96</th>\n <td>(ArtBks, GeogBks)</td>\n <td>(CookBks)</td>\n <td>0.1275</td>\n <td>0.4310</td>\n <td>0.1035</td>\n <td>0.811765</td>\n <td>1.883445</td>\n <td>0.048547</td>\n <td>3.022812</td>\n </tr>\n <tr>\n <th>97</th>\n <td>(CookBks)</td>\n <td>(ArtBks, GeogBks)</td>\n <td>0.4310</td>\n <td>0.1275</td>\n <td>0.1035</td>\n <td>0.240139</td>\n <td>1.883445</td>\n <td>0.048547</td>\n <td>1.148237</td>\n </tr>\n <tr>\n <th>98</th>\n <td>(ArtBks)</td>\n <td>(CookBks, GeogBks)</td>\n <td>0.2410</td>\n <td>0.1925</td>\n <td>0.1035</td>\n <td>0.429461</td>\n <td>2.230964</td>\n <td>0.057107</td>\n <td>1.415327</td>\n </tr>\n <tr>\n <th>99</th>\n <td>(GeogBks)</td>\n <td>(CookBks, ArtBks)</td>\n <td>0.2760</td>\n <td>0.1670</td>\n <td>0.1035</td>\n <td>0.375000</td>\n <td>2.245509</td>\n <td>0.057408</td>\n <td>1.332800</td>\n </tr>\n </tbody>\n</table>\n<p>100 rows × 9 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "#movies data\ndf1=pd.read_csv(\"my_movies.csv\")",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df1",
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 12,
"data": {
"text/plain": " V1 V2 V3 V4 V5 \\\n0 Sixth Sense LOTR1 Harry Potter1 Green Mile LOTR2 \n1 Gladiator Patriot Braveheart NaN NaN \n2 LOTR1 LOTR2 NaN NaN NaN \n3 Gladiator Patriot Sixth Sense NaN NaN \n4 Gladiator Patriot Sixth Sense NaN NaN \n5 Gladiator Patriot Sixth Sense NaN NaN \n6 Harry Potter1 Harry Potter2 NaN NaN NaN \n7 Gladiator Patriot NaN NaN NaN \n8 Gladiator Patriot Sixth Sense NaN NaN \n9 Sixth Sense LOTR Gladiator Green Mile NaN \n\n Sixth Sense Gladiator LOTR1 Harry Potter1 Patriot LOTR2 \\\n0 1 0 1 1 0 1 \n1 0 1 0 0 1 0 \n2 0 0 1 0 0 1 \n3 1 1 0 0 1 0 \n4 1 1 0 0 1 0 \n5 1 1 0 0 1 0 \n6 0 0 0 1 0 0 \n7 0 1 0 0 1 0 \n8 1 1 0 0 1 0 \n9 1 1 0 0 0 0 \n\n Harry Potter2 LOTR Braveheart Green Mile \n0 0 0 0 1 \n1 0 0 1 0 \n2 0 0 0 0 \n3 0 0 0 0 \n4 0 0 0 0 \n5 0 0 0 0 \n6 1 0 0 0 \n7 0 0 0 0 \n8 0 0 0 0 \n9 0 1 0 1 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>V1</th>\n <th>V2</th>\n <th>V3</th>\n <th>V4</th>\n <th>V5</th>\n <th>Sixth Sense</th>\n <th>Gladiator</th>\n <th>LOTR1</th>\n <th>Harry Potter1</th>\n <th>Patriot</th>\n <th>LOTR2</th>\n <th>Harry Potter2</th>\n <th>LOTR</th>\n <th>Braveheart</th>\n <th>Green Mile</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Sixth Sense</td>\n <td>LOTR1</td>\n <td>Harry Potter1</td>\n <td>Green Mile</td>\n <td>LOTR2</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Gladiator</td>\n <td>Patriot</td>\n <td>Braveheart</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>LOTR1</td>\n <td>LOTR2</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Gladiator</td>\n <td>Patriot</td>\n <td>Sixth Sense</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>Gladiator</td>\n <td>Patriot</td>\n <td>Sixth Sense</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>5</th>\n <td>Gladiator</td>\n <td>Patriot</td>\n <td>Sixth Sense</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>6</th>\n <td>Harry Potter1</td>\n <td>Harry Potter2</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>7</th>\n <td>Gladiator</td>\n <td>Patriot</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>8</th>\n <td>Gladiator</td>\n <td>Patriot</td>\n <td>Sixth Sense</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>9</th>\n <td>Sixth Sense</td>\n <td>LOTR</td>\n <td>Gladiator</td>\n <td>Green Mile</td>\n <td>NaN</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df2=pd.get_dummies(df1)\ndf2.head()",
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 13,
"data": {
"text/plain": " Sixth Sense Gladiator LOTR1 Harry Potter1 Patriot LOTR2 \\\n0 1 0 1 1 0 1 \n1 0 1 0 0 1 0 \n2 0 0 1 0 0 1 \n3 1 1 0 0 1 0 \n4 1 1 0 0 1 0 \n\n Harry Potter2 LOTR Braveheart Green Mile ... V2_LOTR V2_LOTR1 \\\n0 0 0 0 1 ... 0 1 \n1 0 0 1 0 ... 0 0 \n2 0 0 0 0 ... 0 0 \n3 0 0 0 0 ... 0 0 \n4 0 0 0 0 ... 0 0 \n\n V2_LOTR2 V2_Patriot V3_Braveheart V3_Gladiator V3_Harry Potter1 \\\n0 0 0 0 0 1 \n1 0 1 1 0 0 \n2 1 0 0 0 0 \n3 0 1 0 0 0 \n4 0 1 0 0 0 \n\n V3_Sixth Sense V4_Green Mile V5_LOTR2 \n0 0 1 1 \n1 0 0 0 \n2 0 0 0 \n3 1 0 0 \n4 1 0 0 \n\n[5 rows x 25 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Sixth Sense</th>\n <th>Gladiator</th>\n <th>LOTR1</th>\n <th>Harry Potter1</th>\n <th>Patriot</th>\n <th>LOTR2</th>\n <th>Harry Potter2</th>\n <th>LOTR</th>\n <th>Braveheart</th>\n <th>Green Mile</th>\n <th>...</th>\n <th>V2_LOTR</th>\n <th>V2_LOTR1</th>\n <th>V2_LOTR2</th>\n <th>V2_Patriot</th>\n <th>V3_Braveheart</th>\n <th>V3_Gladiator</th>\n <th>V3_Harry Potter1</th>\n <th>V3_Sixth Sense</th>\n <th>V4_Green Mile</th>\n <th>V5_LOTR2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>...</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>1</th>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>...</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>...</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>...</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>1</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>...</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0</td>\n <td>0</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 25 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "frequent_itemsets = apriori(df2, min_support=0.2, use_colnames=True)\nfrequent_itemsets",
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 14,
"data": {
"text/plain": " support itemsets\n0 0.6 (Sixth Sense)\n1 0.7 (Gladiator)\n2 0.2 (LOTR1)\n3 0.2 (Harry Potter1)\n4 0.6 (Patriot)\n.. ... ...\n76 0.4 (V3_Sixth Sense, Patriot, V2_Patriot, Gladiato...\n77 0.4 (V3_Sixth Sense, V2_Patriot, Gladiator, Sixth ...\n78 0.4 (V3_Sixth Sense, Patriot, V2_Patriot, Sixth Se...\n79 0.4 (V3_Sixth Sense, Patriot, V2_Patriot, Gladiato...\n80 0.4 (V3_Sixth Sense, Patriot, V2_Patriot, Gladiato...\n\n[81 rows x 2 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>support</th>\n <th>itemsets</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0.6</td>\n <td>(Sixth Sense)</td>\n </tr>\n <tr>\n <th>1</th>\n <td>0.7</td>\n <td>(Gladiator)</td>\n </tr>\n <tr>\n <th>2</th>\n <td>0.2</td>\n <td>(LOTR1)</td>\n </tr>\n <tr>\n <th>3</th>\n <td>0.2</td>\n <td>(Harry Potter1)</td>\n </tr>\n <tr>\n <th>4</th>\n <td>0.6</td>\n <td>(Patriot)</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>76</th>\n <td>0.4</td>\n <td>(V3_Sixth Sense, Patriot, V2_Patriot, Gladiato...</td>\n </tr>\n <tr>\n <th>77</th>\n <td>0.4</td>\n <td>(V3_Sixth Sense, V2_Patriot, Gladiator, Sixth ...</td>\n </tr>\n <tr>\n <th>78</th>\n <td>0.4</td>\n <td>(V3_Sixth Sense, Patriot, V2_Patriot, Sixth Se...</td>\n </tr>\n <tr>\n <th>79</th>\n <td>0.4</td>\n <td>(V3_Sixth Sense, Patriot, V2_Patriot, Gladiato...</td>\n </tr>\n <tr>\n <th>80</th>\n <td>0.4</td>\n <td>(V3_Sixth Sense, Patriot, V2_Patriot, Gladiato...</td>\n </tr>\n </tbody>\n</table>\n<p>81 rows × 2 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rules = association_rules(frequent_itemsets, metric=\"lift\", min_threshold=0.7)\nrules",
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 15,
"data": {
"text/plain": " antecedents consequents \\\n0 (Sixth Sense) (Gladiator) \n1 (Gladiator) (Sixth Sense) \n2 (Sixth Sense) (Patriot) \n3 (Patriot) (Sixth Sense) \n4 (Sixth Sense) (Green Mile) \n.. ... ... \n649 (Patriot) (V3_Sixth Sense, Gladiator, V2_Patriot, Sixth ... \n650 (V2_Patriot) (V3_Sixth Sense, Patriot, Gladiator, Sixth Sen... \n651 (Gladiator) (V3_Sixth Sense, Patriot, V2_Patriot, Sixth Se... \n652 (Sixth Sense) (V3_Sixth Sense, Patriot, Gladiator, V2_Patrio... \n653 (V1_Gladiator) (V3_Sixth Sense, Patriot, Gladiator, V2_Patrio... \n\n antecedent support consequent support support confidence lift \\\n0 0.6 0.7 0.5 0.833333 1.190476 \n1 0.7 0.6 0.5 0.714286 1.190476 \n2 0.6 0.6 0.4 0.666667 1.111111 \n3 0.6 0.6 0.4 0.666667 1.111111 \n4 0.6 0.2 0.2 0.333333 1.666667 \n.. ... ... ... ... ... \n649 0.6 0.4 0.4 0.666667 1.666667 \n650 0.6 0.4 0.4 0.666667 1.666667 \n651 0.7 0.4 0.4 0.571429 1.428571 \n652 0.6 0.4 0.4 0.666667 1.666667 \n653 0.6 0.4 0.4 0.666667 1.666667 \n\n leverage conviction \n0 0.08 1.8 \n1 0.08 1.4 \n2 0.04 1.2 \n3 0.04 1.2 \n4 0.08 1.2 \n.. ... ... \n649 0.16 1.8 \n650 0.16 1.8 \n651 0.12 1.4 \n652 0.16 1.8 \n653 0.16 1.8 \n\n[654 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>antecedents</th>\n <th>consequents</th>\n <th>antecedent support</th>\n <th>consequent support</th>\n <th>support</th>\n <th>confidence</th>\n <th>lift</th>\n <th>leverage</th>\n <th>conviction</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>(Sixth Sense)</td>\n <td>(Gladiator)</td>\n <td>0.6</td>\n <td>0.7</td>\n <td>0.5</td>\n <td>0.833333</td>\n <td>1.190476</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>1</th>\n <td>(Gladiator)</td>\n <td>(Sixth Sense)</td>\n <td>0.7</td>\n <td>0.6</td>\n <td>0.5</td>\n <td>0.714286</td>\n <td>1.190476</td>\n <td>0.08</td>\n <td>1.4</td>\n </tr>\n <tr>\n <th>2</th>\n <td>(Sixth Sense)</td>\n <td>(Patriot)</td>\n <td>0.6</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.111111</td>\n <td>0.04</td>\n <td>1.2</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(Patriot)</td>\n <td>(Sixth Sense)</td>\n <td>0.6</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.111111</td>\n <td>0.04</td>\n <td>1.2</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(Sixth Sense)</td>\n <td>(Green Mile)</td>\n <td>0.6</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.333333</td>\n <td>1.666667</td>\n <td>0.08</td>\n <td>1.2</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>649</th>\n <td>(Patriot)</td>\n <td>(V3_Sixth Sense, Gladiator, V2_Patriot, Sixth ...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>650</th>\n <td>(V2_Patriot)</td>\n <td>(V3_Sixth Sense, Patriot, Gladiator, Sixth Sen...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>651</th>\n <td>(Gladiator)</td>\n <td>(V3_Sixth Sense, Patriot, V2_Patriot, Sixth Se...</td>\n <td>0.7</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.571429</td>\n <td>1.428571</td>\n <td>0.12</td>\n <td>1.4</td>\n </tr>\n <tr>\n <th>652</th>\n <td>(Sixth Sense)</td>\n <td>(V3_Sixth Sense, Patriot, Gladiator, V2_Patrio...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>653</th>\n <td>(V1_Gladiator)</td>\n <td>(V3_Sixth Sense, Patriot, Gladiator, V2_Patrio...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n </tbody>\n</table>\n<p>654 rows × 9 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rules.sort_values('lift',ascending = False)[0:20]",
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 16,
"data": {
"text/plain": " antecedents \\\n327 (Green Mile) \n176 (V4_Green Mile, V1_Sixth Sense) \n40 (V4_Green Mile) \n41 (V1_Sixth Sense) \n86 (Sixth Sense, V1_Sixth Sense) \n87 (Sixth Sense, Green Mile) \n90 (V1_Sixth Sense) \n91 (Green Mile) \n92 (V4_Green Mile, Sixth Sense) \n94 (Sixth Sense, Green Mile) \n95 (V4_Green Mile) \n97 (Green Mile) \n110 (Sixth Sense, V1_Sixth Sense) \n111 (Sixth Sense, V4_Green Mile) \n114 (V1_Sixth Sense) \n115 (V4_Green Mile) \n177 (V4_Green Mile, Green Mile) \n34 (V4_Green Mile) \n179 (V4_Green Mile) \n180 (V1_Sixth Sense) \n\n consequents antecedent support \\\n327 (V4_Green Mile, Sixth Sense, V1_Sixth Sense) 0.2 \n176 (Green Mile) 0.2 \n40 (V1_Sixth Sense) 0.2 \n41 (V4_Green Mile) 0.2 \n86 (Green Mile) 0.2 \n87 (V1_Sixth Sense) 0.2 \n90 (Sixth Sense, Green Mile) 0.2 \n91 (Sixth Sense, V1_Sixth Sense) 0.2 \n92 (Green Mile) 0.2 \n94 (V4_Green Mile) 0.2 \n95 (Sixth Sense, Green Mile) 0.2 \n97 (V4_Green Mile, Sixth Sense) 0.2 \n110 (V4_Green Mile) 0.2 \n111 (V1_Sixth Sense) 0.2 \n114 (Sixth Sense, V4_Green Mile) 0.2 \n115 (Sixth Sense, V1_Sixth Sense) 0.2 \n177 (V1_Sixth Sense) 0.2 \n34 (Green Mile) 0.2 \n179 (V1_Sixth Sense, Green Mile) 0.2 \n180 (V4_Green Mile, Green Mile) 0.2 \n\n consequent support support confidence lift leverage conviction \n327 0.2 0.2 1.0 5.0 0.16 inf \n176 0.2 0.2 1.0 5.0 0.16 inf \n40 0.2 0.2 1.0 5.0 0.16 inf \n41 0.2 0.2 1.0 5.0 0.16 inf \n86 0.2 0.2 1.0 5.0 0.16 inf \n87 0.2 0.2 1.0 5.0 0.16 inf \n90 0.2 0.2 1.0 5.0 0.16 inf \n91 0.2 0.2 1.0 5.0 0.16 inf \n92 0.2 0.2 1.0 5.0 0.16 inf \n94 0.2 0.2 1.0 5.0 0.16 inf \n95 0.2 0.2 1.0 5.0 0.16 inf \n97 0.2 0.2 1.0 5.0 0.16 inf \n110 0.2 0.2 1.0 5.0 0.16 inf \n111 0.2 0.2 1.0 5.0 0.16 inf \n114 0.2 0.2 1.0 5.0 0.16 inf \n115 0.2 0.2 1.0 5.0 0.16 inf \n177 0.2 0.2 1.0 5.0 0.16 inf \n34 0.2 0.2 1.0 5.0 0.16 inf \n179 0.2 0.2 1.0 5.0 0.16 inf \n180 0.2 0.2 1.0 5.0 0.16 inf ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>antecedents</th>\n <th>consequents</th>\n <th>antecedent support</th>\n <th>consequent support</th>\n <th>support</th>\n <th>confidence</th>\n <th>lift</th>\n <th>leverage</th>\n <th>conviction</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>327</th>\n <td>(Green Mile)</td>\n <td>(V4_Green Mile, Sixth Sense, V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>176</th>\n <td>(V4_Green Mile, V1_Sixth Sense)</td>\n <td>(Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>40</th>\n <td>(V4_Green Mile)</td>\n <td>(V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>41</th>\n <td>(V1_Sixth Sense)</td>\n <td>(V4_Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>86</th>\n <td>(Sixth Sense, V1_Sixth Sense)</td>\n <td>(Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>87</th>\n <td>(Sixth Sense, Green Mile)</td>\n <td>(V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>90</th>\n <td>(V1_Sixth Sense)</td>\n <td>(Sixth Sense, Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>91</th>\n <td>(Green Mile)</td>\n <td>(Sixth Sense, V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>92</th>\n <td>(V4_Green Mile, Sixth Sense)</td>\n <td>(Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>94</th>\n <td>(Sixth Sense, Green Mile)</td>\n <td>(V4_Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>95</th>\n <td>(V4_Green Mile)</td>\n <td>(Sixth Sense, Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>97</th>\n <td>(Green Mile)</td>\n <td>(V4_Green Mile, Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>110</th>\n <td>(Sixth Sense, V1_Sixth Sense)</td>\n <td>(V4_Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>111</th>\n <td>(Sixth Sense, V4_Green Mile)</td>\n <td>(V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>114</th>\n <td>(V1_Sixth Sense)</td>\n <td>(Sixth Sense, V4_Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>115</th>\n <td>(V4_Green Mile)</td>\n <td>(Sixth Sense, V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>177</th>\n <td>(V4_Green Mile, Green Mile)</td>\n <td>(V1_Sixth Sense)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>34</th>\n <td>(V4_Green Mile)</td>\n <td>(Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>179</th>\n <td>(V4_Green Mile)</td>\n <td>(V1_Sixth Sense, Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>180</th>\n <td>(V1_Sixth Sense)</td>\n <td>(V4_Green Mile, Green Mile)</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.16</td>\n <td>inf</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rules[rules.lift>1]",
"execution_count": 17,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 17,
"data": {
"text/plain": " antecedents consequents \\\n0 (Sixth Sense) (Gladiator) \n1 (Gladiator) (Sixth Sense) \n2 (Sixth Sense) (Patriot) \n3 (Patriot) (Sixth Sense) \n4 (Sixth Sense) (Green Mile) \n.. ... ... \n649 (Patriot) (V3_Sixth Sense, Gladiator, V2_Patriot, Sixth ... \n650 (V2_Patriot) (V3_Sixth Sense, Patriot, Gladiator, Sixth Sen... \n651 (Gladiator) (V3_Sixth Sense, Patriot, V2_Patriot, Sixth Se... \n652 (Sixth Sense) (V3_Sixth Sense, Patriot, Gladiator, V2_Patrio... \n653 (V1_Gladiator) (V3_Sixth Sense, Patriot, Gladiator, V2_Patrio... \n\n antecedent support consequent support support confidence lift \\\n0 0.6 0.7 0.5 0.833333 1.190476 \n1 0.7 0.6 0.5 0.714286 1.190476 \n2 0.6 0.6 0.4 0.666667 1.111111 \n3 0.6 0.6 0.4 0.666667 1.111111 \n4 0.6 0.2 0.2 0.333333 1.666667 \n.. ... ... ... ... ... \n649 0.6 0.4 0.4 0.666667 1.666667 \n650 0.6 0.4 0.4 0.666667 1.666667 \n651 0.7 0.4 0.4 0.571429 1.428571 \n652 0.6 0.4 0.4 0.666667 1.666667 \n653 0.6 0.4 0.4 0.666667 1.666667 \n\n leverage conviction \n0 0.08 1.8 \n1 0.08 1.4 \n2 0.04 1.2 \n3 0.04 1.2 \n4 0.08 1.2 \n.. ... ... \n649 0.16 1.8 \n650 0.16 1.8 \n651 0.12 1.4 \n652 0.16 1.8 \n653 0.16 1.8 \n\n[654 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>antecedents</th>\n <th>consequents</th>\n <th>antecedent support</th>\n <th>consequent support</th>\n <th>support</th>\n <th>confidence</th>\n <th>lift</th>\n <th>leverage</th>\n <th>conviction</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>(Sixth Sense)</td>\n <td>(Gladiator)</td>\n <td>0.6</td>\n <td>0.7</td>\n <td>0.5</td>\n <td>0.833333</td>\n <td>1.190476</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>1</th>\n <td>(Gladiator)</td>\n <td>(Sixth Sense)</td>\n <td>0.7</td>\n <td>0.6</td>\n <td>0.5</td>\n <td>0.714286</td>\n <td>1.190476</td>\n <td>0.08</td>\n <td>1.4</td>\n </tr>\n <tr>\n <th>2</th>\n <td>(Sixth Sense)</td>\n <td>(Patriot)</td>\n <td>0.6</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.111111</td>\n <td>0.04</td>\n <td>1.2</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(Patriot)</td>\n <td>(Sixth Sense)</td>\n <td>0.6</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.111111</td>\n <td>0.04</td>\n <td>1.2</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(Sixth Sense)</td>\n <td>(Green Mile)</td>\n <td>0.6</td>\n <td>0.2</td>\n <td>0.2</td>\n <td>0.333333</td>\n <td>1.666667</td>\n <td>0.08</td>\n <td>1.2</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>649</th>\n <td>(Patriot)</td>\n <td>(V3_Sixth Sense, Gladiator, V2_Patriot, Sixth ...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>650</th>\n <td>(V2_Patriot)</td>\n <td>(V3_Sixth Sense, Patriot, Gladiator, Sixth Sen...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>651</th>\n <td>(Gladiator)</td>\n <td>(V3_Sixth Sense, Patriot, V2_Patriot, Sixth Se...</td>\n <td>0.7</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.571429</td>\n <td>1.428571</td>\n <td>0.12</td>\n <td>1.4</td>\n </tr>\n <tr>\n <th>652</th>\n <td>(Sixth Sense)</td>\n <td>(V3_Sixth Sense, Patriot, Gladiator, V2_Patrio...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>653</th>\n <td>(V1_Gladiator)</td>\n <td>(V3_Sixth Sense, Patriot, Gladiator, V2_Patrio...</td>\n <td>0.6</td>\n <td>0.4</td>\n <td>0.4</td>\n <td>0.666667</td>\n <td>1.666667</td>\n <td>0.16</td>\n <td>1.8</td>\n </tr>\n </tbody>\n</table>\n<p>654 rows × 9 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.8.5",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "association rule assigment.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment