Skip to content

Instantly share code, notes, and snippets.

@pree62
Created August 3, 2023 10:10
Show Gist options
  • Save pree62/7fae2ef097d64bf7815142dc899050fa to your computer and use it in GitHub Desktop.
Save pree62/7fae2ef097d64bf7815142dc899050fa to your computer and use it in GitHub Desktop.
!excelR/assignments/Gists/Association_rules(all data sets).ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T15:58:56.304290Z",
"start_time": "2023-02-15T15:58:56.280925Z"
},
"trusted": false
},
"id": "5780d6e8",
"cell_type": "code",
"source": "#!pip install mlxtend\nimport pandas as pd\nfrom mlxtend.frequent_patterns import apriori,association_rules\nfrom mlxtend.preprocessing import TransactionEncoder\n",
"execution_count": 15,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T15:58:56.375819Z",
"start_time": "2023-02-15T15:58:56.309464Z"
},
"trusted": false
},
"id": "444c9aa9",
"cell_type": "code",
"source": "df=pd.read_csv('my_movies.csv')\ndf.head(10)",
"execution_count": 16,
"outputs": [
{
"data": {
"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>",
"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 "
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"id": "4bc9adfd",
"cell_type": "markdown",
"source": " # Pre-processing"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T15:58:56.435465Z",
"start_time": "2023-02-15T15:58:56.376028Z"
},
"trusted": false
},
"id": "31607230",
"cell_type": "code",
"source": "data=pd.get_dummies(df)\ndata.head(10)",
"execution_count": 17,
"outputs": [
{
"data": {
"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 <tr>\n <th>5</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>6</th>\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 <td>...</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>7</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>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>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>8</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>9</th>\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 <td>...</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>0</td>\n <td>1</td>\n <td>0</td>\n </tr>\n </tbody>\n</table>\n<p>10 rows × 25 columns</p>\n</div>",
"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 \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 ... 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 \n5 0 0 0 0 ... 0 0 \n6 1 0 0 0 ... 0 0 \n7 0 0 0 0 ... 0 0 \n8 0 0 0 0 ... 0 0 \n9 0 1 0 1 ... 1 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 \n5 0 1 0 0 0 \n6 0 0 0 0 0 \n7 0 1 0 0 0 \n8 0 1 0 0 0 \n9 0 0 0 1 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 \n5 1 0 0 \n6 0 0 0 \n7 0 0 0 \n8 1 0 0 \n9 0 1 0 \n\n[10 rows x 25 columns]"
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T15:59:16.408494Z",
"start_time": "2023-02-15T15:59:16.369134Z"
},
"trusted": false
},
"id": "28445e5f",
"cell_type": "code",
"source": "df1=data.iloc[:,0:10]\ndf1.head(10)",
"execution_count": 21,
"outputs": [
{
"data": {
"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 </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 </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 </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 </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 </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 </tr>\n <tr>\n <th>5</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 </tr>\n <tr>\n <th>6</th>\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>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>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>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>",
"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 \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 "
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"id": "e7c39768",
"cell_type": "markdown",
"source": "# Apriori Algorithm"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:00:10.689737Z",
"start_time": "2023-02-15T16:00:10.638228Z"
},
"trusted": false
},
"id": "a678ed65",
"cell_type": "code",
"source": "freq_itemsets=apriori(df1,min_support=0.3,use_colnames=True)\nfreq_itemsets",
"execution_count": 25,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "C:\\Users\\preet\\anaconda3\\lib\\site-packages\\mlxtend\\frequent_patterns\\fpcommon.py:111: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type\n warnings.warn(\n"
},
{
"data": {
"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.6</td>\n <td>(Patriot)</td>\n </tr>\n <tr>\n <th>3</th>\n <td>0.5</td>\n <td>(Sixth Sense, Gladiator)</td>\n </tr>\n <tr>\n <th>4</th>\n <td>0.4</td>\n <td>(Sixth Sense, Patriot)</td>\n </tr>\n <tr>\n <th>5</th>\n <td>0.6</td>\n <td>(Patriot, Gladiator)</td>\n </tr>\n <tr>\n <th>6</th>\n <td>0.4</td>\n <td>(Sixth Sense, Patriot, Gladiator)</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " support itemsets\n0 0.6 (Sixth Sense)\n1 0.7 (Gladiator)\n2 0.6 (Patriot)\n3 0.5 (Sixth Sense, Gladiator)\n4 0.4 (Sixth Sense, Patriot)\n5 0.6 (Patriot, Gladiator)\n6 0.4 (Sixth Sense, Patriot, Gladiator)"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:00:14.154021Z",
"start_time": "2023-02-15T16:00:14.094188Z"
},
"trusted": false
},
"id": "194da07a",
"cell_type": "code",
"source": "freq_itemsets=apriori(df1,min_support=0.2,use_colnames=True)\nfreq_itemsets",
"execution_count": 26,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "C:\\Users\\preet\\anaconda3\\lib\\site-packages\\mlxtend\\frequent_patterns\\fpcommon.py:111: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type\n warnings.warn(\n"
},
{
"data": {
"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>5</th>\n <td>0.2</td>\n <td>(LOTR2)</td>\n </tr>\n <tr>\n <th>6</th>\n <td>0.2</td>\n <td>(Green Mile)</td>\n </tr>\n <tr>\n <th>7</th>\n <td>0.5</td>\n <td>(Sixth Sense, Gladiator)</td>\n </tr>\n <tr>\n <th>8</th>\n <td>0.4</td>\n <td>(Sixth Sense, Patriot)</td>\n </tr>\n <tr>\n <th>9</th>\n <td>0.2</td>\n <td>(Sixth Sense, Green Mile)</td>\n </tr>\n <tr>\n <th>10</th>\n <td>0.6</td>\n <td>(Patriot, Gladiator)</td>\n </tr>\n <tr>\n <th>11</th>\n <td>0.2</td>\n <td>(LOTR2, LOTR1)</td>\n </tr>\n <tr>\n <th>12</th>\n <td>0.4</td>\n <td>(Sixth Sense, Patriot, Gladiator)</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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)\n5 0.2 (LOTR2)\n6 0.2 (Green Mile)\n7 0.5 (Sixth Sense, Gladiator)\n8 0.4 (Sixth Sense, Patriot)\n9 0.2 (Sixth Sense, Green Mile)\n10 0.6 (Patriot, Gladiator)\n11 0.2 (LOTR2, LOTR1)\n12 0.4 (Sixth Sense, Patriot, Gladiator)"
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:01:15.698081Z",
"start_time": "2023-02-15T16:01:15.605081Z"
},
"scrolled": true,
"trusted": false
},
"id": "8ac60b40",
"cell_type": "code",
"source": "freq_itemsets=apriori(df1,min_support=0.1,use_colnames=True)\nfreq_itemsets",
"execution_count": 27,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "C:\\Users\\preet\\anaconda3\\lib\\site-packages\\mlxtend\\frequent_patterns\\fpcommon.py:111: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type\n warnings.warn(\n"
},
{
"data": {
"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>5</th>\n <td>0.2</td>\n <td>(LOTR2)</td>\n </tr>\n <tr>\n <th>6</th>\n <td>0.1</td>\n <td>(Harry Potter2)</td>\n </tr>\n <tr>\n <th>7</th>\n <td>0.1</td>\n <td>(LOTR)</td>\n </tr>\n <tr>\n <th>8</th>\n <td>0.1</td>\n <td>(Braveheart)</td>\n </tr>\n <tr>\n <th>9</th>\n <td>0.2</td>\n <td>(Green Mile)</td>\n </tr>\n <tr>\n <th>10</th>\n <td>0.5</td>\n <td>(Sixth Sense, Gladiator)</td>\n </tr>\n <tr>\n <th>11</th>\n <td>0.1</td>\n <td>(Sixth Sense, LOTR1)</td>\n </tr>\n <tr>\n <th>12</th>\n <td>0.1</td>\n <td>(Sixth Sense, Harry Potter1)</td>\n </tr>\n <tr>\n <th>13</th>\n <td>0.4</td>\n <td>(Sixth Sense, Patriot)</td>\n </tr>\n <tr>\n <th>14</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense)</td>\n </tr>\n <tr>\n <th>15</th>\n <td>0.1</td>\n <td>(Sixth Sense, LOTR)</td>\n </tr>\n <tr>\n <th>16</th>\n <td>0.2</td>\n <td>(Sixth Sense, Green Mile)</td>\n </tr>\n <tr>\n <th>17</th>\n <td>0.6</td>\n <td>(Patriot, Gladiator)</td>\n </tr>\n <tr>\n <th>18</th>\n <td>0.1</td>\n <td>(LOTR, Gladiator)</td>\n </tr>\n <tr>\n <th>19</th>\n <td>0.1</td>\n <td>(Braveheart, Gladiator)</td>\n </tr>\n <tr>\n <th>20</th>\n <td>0.1</td>\n <td>(Green Mile, Gladiator)</td>\n </tr>\n <tr>\n <th>21</th>\n <td>0.1</td>\n <td>(Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>22</th>\n <td>0.2</td>\n <td>(LOTR2, LOTR1)</td>\n </tr>\n <tr>\n <th>23</th>\n <td>0.1</td>\n <td>(Green Mile, LOTR1)</td>\n </tr>\n <tr>\n <th>24</th>\n <td>0.1</td>\n <td>(LOTR2, Harry Potter1)</td>\n </tr>\n <tr>\n <th>25</th>\n <td>0.1</td>\n <td>(Harry Potter2, Harry Potter1)</td>\n </tr>\n <tr>\n <th>26</th>\n <td>0.1</td>\n <td>(Green Mile, Harry Potter1)</td>\n </tr>\n <tr>\n <th>27</th>\n <td>0.1</td>\n <td>(Braveheart, Patriot)</td>\n </tr>\n <tr>\n <th>28</th>\n <td>0.1</td>\n <td>(LOTR2, Green Mile)</td>\n </tr>\n <tr>\n <th>29</th>\n <td>0.1</td>\n <td>(LOTR, Green Mile)</td>\n </tr>\n <tr>\n <th>30</th>\n <td>0.4</td>\n <td>(Sixth Sense, Patriot, Gladiator)</td>\n </tr>\n <tr>\n <th>31</th>\n <td>0.1</td>\n <td>(Sixth Sense, LOTR, Gladiator)</td>\n </tr>\n <tr>\n <th>32</th>\n <td>0.1</td>\n <td>(Sixth Sense, Green Mile, Gladiator)</td>\n </tr>\n <tr>\n <th>33</th>\n <td>0.1</td>\n <td>(Sixth Sense, Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>34</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense, LOTR1)</td>\n </tr>\n <tr>\n <th>35</th>\n <td>0.1</td>\n <td>(Sixth Sense, Green Mile, LOTR1)</td>\n </tr>\n <tr>\n <th>36</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense, Harry Potter1)</td>\n </tr>\n <tr>\n <th>37</th>\n <td>0.1</td>\n <td>(Sixth Sense, Green Mile, Harry Potter1)</td>\n </tr>\n <tr>\n <th>38</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense, Green Mile)</td>\n </tr>\n <tr>\n <th>39</th>\n <td>0.1</td>\n <td>(Sixth Sense, LOTR, Green Mile)</td>\n </tr>\n <tr>\n <th>40</th>\n <td>0.1</td>\n <td>(Braveheart, Patriot, Gladiator)</td>\n </tr>\n <tr>\n <th>41</th>\n <td>0.1</td>\n <td>(LOTR, Green Mile, Gladiator)</td>\n </tr>\n <tr>\n <th>42</th>\n <td>0.1</td>\n <td>(LOTR2, Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>43</th>\n <td>0.1</td>\n <td>(Green Mile, Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>44</th>\n <td>0.1</td>\n <td>(LOTR2, Green Mile, LOTR1)</td>\n </tr>\n <tr>\n <th>45</th>\n <td>0.1</td>\n <td>(LOTR2, Green Mile, Harry Potter1)</td>\n </tr>\n <tr>\n <th>46</th>\n <td>0.1</td>\n <td>(Sixth Sense, LOTR, Green Mile, Gladiator)</td>\n </tr>\n <tr>\n <th>47</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense, Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>48</th>\n <td>0.1</td>\n <td>(Sixth Sense, Green Mile, Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>49</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense, Green Mile, LOTR1)</td>\n </tr>\n <tr>\n <th>50</th>\n <td>0.1</td>\n <td>(LOTR2, Sixth Sense, Green Mile, Harry Potter1)</td>\n </tr>\n <tr>\n <th>51</th>\n <td>0.1</td>\n <td>(LOTR2, Green Mile, Harry Potter1, LOTR1)</td>\n </tr>\n <tr>\n <th>52</th>\n <td>0.1</td>\n <td>(LOTR2, Green Mile, LOTR1, Sixth Sense, Harry ...</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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)\n5 0.2 (LOTR2)\n6 0.1 (Harry Potter2)\n7 0.1 (LOTR)\n8 0.1 (Braveheart)\n9 0.2 (Green Mile)\n10 0.5 (Sixth Sense, Gladiator)\n11 0.1 (Sixth Sense, LOTR1)\n12 0.1 (Sixth Sense, Harry Potter1)\n13 0.4 (Sixth Sense, Patriot)\n14 0.1 (LOTR2, Sixth Sense)\n15 0.1 (Sixth Sense, LOTR)\n16 0.2 (Sixth Sense, Green Mile)\n17 0.6 (Patriot, Gladiator)\n18 0.1 (LOTR, Gladiator)\n19 0.1 (Braveheart, Gladiator)\n20 0.1 (Green Mile, Gladiator)\n21 0.1 (Harry Potter1, LOTR1)\n22 0.2 (LOTR2, LOTR1)\n23 0.1 (Green Mile, LOTR1)\n24 0.1 (LOTR2, Harry Potter1)\n25 0.1 (Harry Potter2, Harry Potter1)\n26 0.1 (Green Mile, Harry Potter1)\n27 0.1 (Braveheart, Patriot)\n28 0.1 (LOTR2, Green Mile)\n29 0.1 (LOTR, Green Mile)\n30 0.4 (Sixth Sense, Patriot, Gladiator)\n31 0.1 (Sixth Sense, LOTR, Gladiator)\n32 0.1 (Sixth Sense, Green Mile, Gladiator)\n33 0.1 (Sixth Sense, Harry Potter1, LOTR1)\n34 0.1 (LOTR2, Sixth Sense, LOTR1)\n35 0.1 (Sixth Sense, Green Mile, LOTR1)\n36 0.1 (LOTR2, Sixth Sense, Harry Potter1)\n37 0.1 (Sixth Sense, Green Mile, Harry Potter1)\n38 0.1 (LOTR2, Sixth Sense, Green Mile)\n39 0.1 (Sixth Sense, LOTR, Green Mile)\n40 0.1 (Braveheart, Patriot, Gladiator)\n41 0.1 (LOTR, Green Mile, Gladiator)\n42 0.1 (LOTR2, Harry Potter1, LOTR1)\n43 0.1 (Green Mile, Harry Potter1, LOTR1)\n44 0.1 (LOTR2, Green Mile, LOTR1)\n45 0.1 (LOTR2, Green Mile, Harry Potter1)\n46 0.1 (Sixth Sense, LOTR, Green Mile, Gladiator)\n47 0.1 (LOTR2, Sixth Sense, Harry Potter1, LOTR1)\n48 0.1 (Sixth Sense, Green Mile, Harry Potter1, LOTR1)\n49 0.1 (LOTR2, Sixth Sense, Green Mile, LOTR1)\n50 0.1 (LOTR2, Sixth Sense, Green Mile, Harry Potter1)\n51 0.1 (LOTR2, Green Mile, Harry Potter1, LOTR1)\n52 0.1 (LOTR2, Green Mile, LOTR1, Sixth Sense, Harry ..."
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:02:25.193897Z",
"start_time": "2023-02-15T16:02:25.125208Z"
},
"trusted": false
},
"id": "e38c1462",
"cell_type": "code",
"source": "rules=association_rules(freq_itemsets,metric='lift',min_threshold=0.6)\nrules",
"execution_count": 28,
"outputs": [
{
"data": {
"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.80</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.40</td>\n </tr>\n <tr>\n <th>2</th>\n <td>(Sixth Sense)</td>\n <td>(LOTR1)</td>\n <td>0.6</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.166667</td>\n <td>0.833333</td>\n <td>-0.02</td>\n <td>0.96</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(LOTR1)</td>\n <td>(Sixth Sense)</td>\n <td>0.2</td>\n <td>0.6</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>0.833333</td>\n <td>-0.02</td>\n <td>0.80</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(Sixth Sense)</td>\n <td>(Harry Potter1)</td>\n <td>0.6</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.166667</td>\n <td>0.833333</td>\n <td>-0.02</td>\n <td>0.96</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>245</th>\n <td>(LOTR2)</td>\n <td>(Sixth Sense, Green Mile, Harry Potter1, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n <tr>\n <th>246</th>\n <td>(Green Mile)</td>\n <td>(LOTR2, Sixth Sense, Harry Potter1, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n <tr>\n <th>247</th>\n <td>(LOTR1)</td>\n <td>(LOTR2, Sixth Sense, Green Mile, Harry Potter1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n <tr>\n <th>248</th>\n <td>(Sixth Sense)</td>\n <td>(LOTR2, Green Mile, Harry Potter1, LOTR1)</td>\n <td>0.6</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.166667</td>\n <td>1.666667</td>\n <td>0.04</td>\n <td>1.08</td>\n </tr>\n <tr>\n <th>249</th>\n <td>(Harry Potter1)</td>\n <td>(LOTR2, Sixth Sense, Green Mile, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n </tbody>\n</table>\n<p>250 rows × 9 columns</p>\n</div>",
"text/plain": " antecedents consequents \\\n0 (Sixth Sense) (Gladiator) \n1 (Gladiator) (Sixth Sense) \n2 (Sixth Sense) (LOTR1) \n3 (LOTR1) (Sixth Sense) \n4 (Sixth Sense) (Harry Potter1) \n.. ... ... \n245 (LOTR2) (Sixth Sense, Green Mile, Harry Potter1, LOTR1) \n246 (Green Mile) (LOTR2, Sixth Sense, Harry Potter1, LOTR1) \n247 (LOTR1) (LOTR2, Sixth Sense, Green Mile, Harry Potter1) \n248 (Sixth Sense) (LOTR2, Green Mile, Harry Potter1, LOTR1) \n249 (Harry Potter1) (LOTR2, Sixth Sense, Green Mile, LOTR1) \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.2 0.1 0.166667 0.833333 \n3 0.2 0.6 0.1 0.500000 0.833333 \n4 0.6 0.2 0.1 0.166667 0.833333 \n.. ... ... ... ... ... \n245 0.2 0.1 0.1 0.500000 5.000000 \n246 0.2 0.1 0.1 0.500000 5.000000 \n247 0.2 0.1 0.1 0.500000 5.000000 \n248 0.6 0.1 0.1 0.166667 1.666667 \n249 0.2 0.1 0.1 0.500000 5.000000 \n\n leverage conviction \n0 0.08 1.80 \n1 0.08 1.40 \n2 -0.02 0.96 \n3 -0.02 0.80 \n4 -0.02 0.96 \n.. ... ... \n245 0.08 1.80 \n246 0.08 1.80 \n247 0.08 1.80 \n248 0.04 1.08 \n249 0.08 1.80 \n\n[250 rows x 9 columns]"
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:03:25.891172Z",
"start_time": "2023-02-15T16:03:25.806876Z"
},
"trusted": false
},
"id": "a3186f01",
"cell_type": "code",
"source": "rules=association_rules(freq_itemsets,metric=\"lift\",min_threshold=0.8)\nrules",
"execution_count": 30,
"outputs": [
{
"data": {
"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.80</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.40</td>\n </tr>\n <tr>\n <th>2</th>\n <td>(Sixth Sense)</td>\n <td>(LOTR1)</td>\n <td>0.6</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.166667</td>\n <td>0.833333</td>\n <td>-0.02</td>\n <td>0.96</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(LOTR1)</td>\n <td>(Sixth Sense)</td>\n <td>0.2</td>\n <td>0.6</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>0.833333</td>\n <td>-0.02</td>\n <td>0.80</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(Sixth Sense)</td>\n <td>(Harry Potter1)</td>\n <td>0.6</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.166667</td>\n <td>0.833333</td>\n <td>-0.02</td>\n <td>0.96</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>241</th>\n <td>(LOTR2)</td>\n <td>(Sixth Sense, Green Mile, Harry Potter1, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n <tr>\n <th>242</th>\n <td>(Green Mile)</td>\n <td>(LOTR2, Sixth Sense, Harry Potter1, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n <tr>\n <th>243</th>\n <td>(LOTR1)</td>\n <td>(LOTR2, Sixth Sense, Green Mile, Harry Potter1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n <tr>\n <th>244</th>\n <td>(Sixth Sense)</td>\n <td>(LOTR2, Green Mile, Harry Potter1, LOTR1)</td>\n <td>0.6</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.166667</td>\n <td>1.666667</td>\n <td>0.04</td>\n <td>1.08</td>\n </tr>\n <tr>\n <th>245</th>\n <td>(Harry Potter1)</td>\n <td>(LOTR2, Sixth Sense, Green Mile, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.500000</td>\n <td>5.000000</td>\n <td>0.08</td>\n <td>1.80</td>\n </tr>\n </tbody>\n</table>\n<p>246 rows × 9 columns</p>\n</div>",
"text/plain": " antecedents consequents \\\n0 (Sixth Sense) (Gladiator) \n1 (Gladiator) (Sixth Sense) \n2 (Sixth Sense) (LOTR1) \n3 (LOTR1) (Sixth Sense) \n4 (Sixth Sense) (Harry Potter1) \n.. ... ... \n241 (LOTR2) (Sixth Sense, Green Mile, Harry Potter1, LOTR1) \n242 (Green Mile) (LOTR2, Sixth Sense, Harry Potter1, LOTR1) \n243 (LOTR1) (LOTR2, Sixth Sense, Green Mile, Harry Potter1) \n244 (Sixth Sense) (LOTR2, Green Mile, Harry Potter1, LOTR1) \n245 (Harry Potter1) (LOTR2, Sixth Sense, Green Mile, LOTR1) \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.2 0.1 0.166667 0.833333 \n3 0.2 0.6 0.1 0.500000 0.833333 \n4 0.6 0.2 0.1 0.166667 0.833333 \n.. ... ... ... ... ... \n241 0.2 0.1 0.1 0.500000 5.000000 \n242 0.2 0.1 0.1 0.500000 5.000000 \n243 0.2 0.1 0.1 0.500000 5.000000 \n244 0.6 0.1 0.1 0.166667 1.666667 \n245 0.2 0.1 0.1 0.500000 5.000000 \n\n leverage conviction \n0 0.08 1.80 \n1 0.08 1.40 \n2 -0.02 0.96 \n3 -0.02 0.80 \n4 -0.02 0.96 \n.. ... ... \n241 0.08 1.80 \n242 0.08 1.80 \n243 0.08 1.80 \n244 0.04 1.08 \n245 0.08 1.80 \n\n[246 rows x 9 columns]"
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:06:13.721109Z",
"start_time": "2023-02-15T16:06:13.637380Z"
},
"trusted": false
},
"id": "697e1021",
"cell_type": "code",
"source": "rules=association_rules(freq_itemsets,metric=\"lift\",min_threshold=5)\nrules",
"execution_count": 35,
"outputs": [
{
"data": {
"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>(LOTR2)</td>\n <td>(LOTR1)</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>1</th>\n <td>(LOTR1)</td>\n <td>(LOTR2)</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>2</th>\n <td>(Harry Potter2)</td>\n <td>(Harry Potter1)</td>\n <td>0.1</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>3</th>\n <td>(Harry Potter1)</td>\n <td>(Harry Potter2)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.5</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>4</th>\n <td>(LOTR)</td>\n <td>(Green Mile)</td>\n <td>0.1</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>inf</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>143</th>\n <td>(Sixth Sense, Harry Potter1)</td>\n <td>(LOTR2, Green Mile, LOTR1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>144</th>\n <td>(LOTR2)</td>\n <td>(Sixth Sense, Green Mile, Harry Potter1, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.5</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>145</th>\n <td>(Green Mile)</td>\n <td>(LOTR2, Sixth Sense, Harry Potter1, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.5</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>146</th>\n <td>(LOTR1)</td>\n <td>(LOTR2, Sixth Sense, Green Mile, Harry Potter1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.5</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n <tr>\n <th>147</th>\n <td>(Harry Potter1)</td>\n <td>(LOTR2, Sixth Sense, Green Mile, LOTR1)</td>\n <td>0.2</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.5</td>\n <td>5.0</td>\n <td>0.08</td>\n <td>1.8</td>\n </tr>\n </tbody>\n</table>\n<p>148 rows × 9 columns</p>\n</div>",
"text/plain": " antecedents \\\n0 (LOTR2) \n1 (LOTR1) \n2 (Harry Potter2) \n3 (Harry Potter1) \n4 (LOTR) \n.. ... \n143 (Sixth Sense, Harry Potter1) \n144 (LOTR2) \n145 (Green Mile) \n146 (LOTR1) \n147 (Harry Potter1) \n\n consequents antecedent support \\\n0 (LOTR1) 0.2 \n1 (LOTR2) 0.2 \n2 (Harry Potter1) 0.1 \n3 (Harry Potter2) 0.2 \n4 (Green Mile) 0.1 \n.. ... ... \n143 (LOTR2, Green Mile, LOTR1) 0.1 \n144 (Sixth Sense, Green Mile, Harry Potter1, LOTR1) 0.2 \n145 (LOTR2, Sixth Sense, Harry Potter1, LOTR1) 0.2 \n146 (LOTR2, Sixth Sense, Green Mile, Harry Potter1) 0.2 \n147 (LOTR2, Sixth Sense, Green Mile, LOTR1) 0.2 \n\n consequent support support confidence lift leverage conviction \n0 0.2 0.2 1.0 5.0 0.16 inf \n1 0.2 0.2 1.0 5.0 0.16 inf \n2 0.2 0.1 1.0 5.0 0.08 inf \n3 0.1 0.1 0.5 5.0 0.08 1.8 \n4 0.2 0.1 1.0 5.0 0.08 inf \n.. ... ... ... ... ... ... \n143 0.1 0.1 1.0 10.0 0.09 inf \n144 0.1 0.1 0.5 5.0 0.08 1.8 \n145 0.1 0.1 0.5 5.0 0.08 1.8 \n146 0.1 0.1 0.5 5.0 0.08 1.8 \n147 0.1 0.1 0.5 5.0 0.08 1.8 \n\n[148 rows x 9 columns]"
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:06:29.287882Z",
"start_time": "2023-02-15T16:06:29.201400Z"
},
"trusted": false
},
"id": "e1b3515f",
"cell_type": "code",
"source": "rules.sort_values('lift',ascending=False).head(20)",
"execution_count": 36,
"outputs": [
{
"data": {
"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>110</th>\n <td>(LOTR2, Green Mile)</td>\n <td>(LOTR1, Harry Potter1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>125</th>\n <td>(LOTR2, Sixth Sense, Green Mile)</td>\n <td>(Harry Potter1, LOTR1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>98</th>\n <td>(LOTR2, Green Mile)</td>\n <td>(Sixth Sense, Harry Potter1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>88</th>\n <td>(LOTR2, Green Mile)</td>\n <td>(Sixth Sense, LOTR1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>89</th>\n <td>(Sixth Sense, LOTR1)</td>\n <td>(LOTR2, Green Mile)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>29</th>\n <td>(Green Mile, Gladiator)</td>\n <td>(LOTR)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>30</th>\n <td>(LOTR)</td>\n <td>(Green Mile, Gladiator)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>68</th>\n <td>(LOTR1, Harry Potter1)</td>\n <td>(LOTR2, Sixth Sense)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>67</th>\n <td>(Sixth Sense, LOTR1)</td>\n <td>(LOTR2, Harry Potter1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>90</th>\n <td>(Green Mile, LOTR1)</td>\n <td>(LOTR2, Sixth Sense)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>115</th>\n <td>(LOTR1, Harry Potter1)</td>\n <td>(LOTR2, Green Mile)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>114</th>\n <td>(Green Mile, LOTR1)</td>\n <td>(LOTR2, Harry Potter1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>64</th>\n <td>(LOTR2, Harry Potter1)</td>\n <td>(Sixth Sense, LOTR1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>63</th>\n <td>(LOTR2, Sixth Sense)</td>\n <td>(LOTR1, Harry Potter1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>111</th>\n <td>(LOTR2, Harry Potter1)</td>\n <td>(Green Mile, LOTR1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>58</th>\n <td>(LOTR)</td>\n <td>(Sixth Sense, Green Mile, Gladiator)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>57</th>\n <td>(Green Mile, Gladiator)</td>\n <td>(Sixth Sense, LOTR)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>97</th>\n <td>(LOTR2, Sixth Sense)</td>\n <td>(Green Mile, Harry Potter1)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>102</th>\n <td>(Green Mile, Harry Potter1)</td>\n <td>(LOTR2, Sixth Sense)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>101</th>\n <td>(Sixth Sense, Harry Potter1)</td>\n <td>(LOTR2, Green Mile)</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>0.1</td>\n <td>1.0</td>\n <td>10.0</td>\n <td>0.09</td>\n <td>inf</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " antecedents consequents \\\n110 (LOTR2, Green Mile) (LOTR1, Harry Potter1) \n125 (LOTR2, Sixth Sense, Green Mile) (Harry Potter1, LOTR1) \n98 (LOTR2, Green Mile) (Sixth Sense, Harry Potter1) \n88 (LOTR2, Green Mile) (Sixth Sense, LOTR1) \n89 (Sixth Sense, LOTR1) (LOTR2, Green Mile) \n29 (Green Mile, Gladiator) (LOTR) \n30 (LOTR) (Green Mile, Gladiator) \n68 (LOTR1, Harry Potter1) (LOTR2, Sixth Sense) \n67 (Sixth Sense, LOTR1) (LOTR2, Harry Potter1) \n90 (Green Mile, LOTR1) (LOTR2, Sixth Sense) \n115 (LOTR1, Harry Potter1) (LOTR2, Green Mile) \n114 (Green Mile, LOTR1) (LOTR2, Harry Potter1) \n64 (LOTR2, Harry Potter1) (Sixth Sense, LOTR1) \n63 (LOTR2, Sixth Sense) (LOTR1, Harry Potter1) \n111 (LOTR2, Harry Potter1) (Green Mile, LOTR1) \n58 (LOTR) (Sixth Sense, Green Mile, Gladiator) \n57 (Green Mile, Gladiator) (Sixth Sense, LOTR) \n97 (LOTR2, Sixth Sense) (Green Mile, Harry Potter1) \n102 (Green Mile, Harry Potter1) (LOTR2, Sixth Sense) \n101 (Sixth Sense, Harry Potter1) (LOTR2, Green Mile) \n\n antecedent support consequent support support confidence lift \\\n110 0.1 0.1 0.1 1.0 10.0 \n125 0.1 0.1 0.1 1.0 10.0 \n98 0.1 0.1 0.1 1.0 10.0 \n88 0.1 0.1 0.1 1.0 10.0 \n89 0.1 0.1 0.1 1.0 10.0 \n29 0.1 0.1 0.1 1.0 10.0 \n30 0.1 0.1 0.1 1.0 10.0 \n68 0.1 0.1 0.1 1.0 10.0 \n67 0.1 0.1 0.1 1.0 10.0 \n90 0.1 0.1 0.1 1.0 10.0 \n115 0.1 0.1 0.1 1.0 10.0 \n114 0.1 0.1 0.1 1.0 10.0 \n64 0.1 0.1 0.1 1.0 10.0 \n63 0.1 0.1 0.1 1.0 10.0 \n111 0.1 0.1 0.1 1.0 10.0 \n58 0.1 0.1 0.1 1.0 10.0 \n57 0.1 0.1 0.1 1.0 10.0 \n97 0.1 0.1 0.1 1.0 10.0 \n102 0.1 0.1 0.1 1.0 10.0 \n101 0.1 0.1 0.1 1.0 10.0 \n\n leverage conviction \n110 0.09 inf \n125 0.09 inf \n98 0.09 inf \n88 0.09 inf \n89 0.09 inf \n29 0.09 inf \n30 0.09 inf \n68 0.09 inf \n67 0.09 inf \n90 0.09 inf \n115 0.09 inf \n114 0.09 inf \n64 0.09 inf \n63 0.09 inf \n111 0.09 inf \n58 0.09 inf \n57 0.09 inf \n97 0.09 inf \n102 0.09 inf \n101 0.09 inf "
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"id": "dc6d010d",
"cell_type": "markdown",
"source": "# Book data set"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:08:55.174435Z",
"start_time": "2023-02-15T16:08:55.119929Z"
},
"scrolled": false,
"trusted": false
},
"id": "ef18544c",
"cell_type": "code",
"source": "book=pd.read_csv('book.csv')\nbook.head(10)",
"execution_count": 40,
"outputs": [
{
"data": {
"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>5</th>\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>0</td>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>6</th>\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 <td>0</td>\n </tr>\n <tr>\n <th>7</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>0</td>\n <td>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>8</th>\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>0</td>\n <td>0</td>\n </tr>\n <tr>\n <th>9</th>\n <td>1</td>\n <td>1</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 </tbody>\n</table>\n</div>",
"text/plain": " ChildBks YouthBks CookBks DoItYBks RefBks ArtBks GeogBks ItalCook \\\n0 0 1 0 1 0 0 1 0 \n1 1 0 0 0 0 0 0 0 \n2 0 0 0 0 0 0 0 0 \n3 1 1 1 0 1 0 1 0 \n4 0 0 1 0 0 0 1 0 \n5 1 0 0 0 0 1 0 0 \n6 0 1 0 0 0 0 0 0 \n7 0 1 0 0 1 0 0 0 \n8 1 0 0 1 0 0 0 0 \n9 1 1 1 0 0 0 1 0 \n\n ItalAtlas ItalArt Florence \n0 0 0 0 \n1 0 0 0 \n2 0 0 0 \n3 0 0 0 \n4 0 0 0 \n5 0 0 1 \n6 0 0 0 \n7 0 0 0 \n8 0 0 0 \n9 0 0 0 "
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:09:48.988007Z",
"start_time": "2023-02-15T16:09:48.940698Z"
},
"trusted": false
},
"id": "74db9612",
"cell_type": "code",
"source": "b_freq_itemsets=apriori(book,min_support=0.3,use_colnames=True)\nb_freq_itemsets",
"execution_count": 41,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "C:\\Users\\preet\\anaconda3\\lib\\site-packages\\mlxtend\\frequent_patterns\\fpcommon.py:111: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type\n warnings.warn(\n"
},
{
"data": {
"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.423</td>\n <td>(ChildBks)</td>\n </tr>\n <tr>\n <th>1</th>\n <td>0.431</td>\n <td>(CookBks)</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " support itemsets\n0 0.423 (ChildBks)\n1 0.431 (CookBks)"
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:10:08.505113Z",
"start_time": "2023-02-15T16:10:08.433864Z"
},
"scrolled": true,
"trusted": false
},
"id": "6c2547c9",
"cell_type": "code",
"source": "b_freq_itemsets=apriori(book,min_support=0.1,use_colnames=True)\nb_freq_itemsets",
"execution_count": 42,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "C:\\Users\\preet\\anaconda3\\lib\\site-packages\\mlxtend\\frequent_patterns\\fpcommon.py:111: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type\n warnings.warn(\n"
},
{
"data": {
"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>(YouthBks, ChildBks)</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>(GeogBks, ChildBks)</td>\n </tr>\n <tr>\n <th>15</th>\n <td>0.1620</td>\n <td>(YouthBks, CookBks)</td>\n </tr>\n <tr>\n <th>16</th>\n <td>0.1155</td>\n <td>(YouthBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>17</th>\n <td>0.1010</td>\n <td>(YouthBks, ArtBks)</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>(ArtBks, CookBks)</td>\n </tr>\n <tr>\n <th>22</th>\n <td>0.1925</td>\n <td>(GeogBks, CookBks)</td>\n </tr>\n <tr>\n <th>23</th>\n <td>0.1135</td>\n <td>(ItalCook, CookBks)</td>\n </tr>\n <tr>\n <th>24</th>\n <td>0.1055</td>\n <td>(DoItYBks, RefBks)</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>(GeogBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>27</th>\n <td>0.1105</td>\n <td>(GeogBks, RefBks)</td>\n </tr>\n <tr>\n <th>28</th>\n <td>0.1275</td>\n <td>(GeogBks, ArtBks)</td>\n </tr>\n <tr>\n <th>29</th>\n <td>0.1290</td>\n <td>(YouthBks, ChildBks, CookBks)</td>\n </tr>\n <tr>\n <th>30</th>\n <td>0.1460</td>\n <td>(ChildBks, CookBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>31</th>\n <td>0.1225</td>\n <td>(ChildBks, CookBks, RefBks)</td>\n </tr>\n <tr>\n <th>32</th>\n <td>0.1265</td>\n <td>(ChildBks, CookBks, ArtBks)</td>\n </tr>\n <tr>\n <th>33</th>\n <td>0.1495</td>\n <td>(GeogBks, ChildBks, CookBks)</td>\n </tr>\n <tr>\n <th>34</th>\n <td>0.1045</td>\n <td>(GeogBks, ChildBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>35</th>\n <td>0.1020</td>\n <td>(GeogBks, ChildBks, ArtBks)</td>\n </tr>\n <tr>\n <th>36</th>\n <td>0.1015</td>\n <td>(ArtBks, CookBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>37</th>\n <td>0.1085</td>\n <td>(GeogBks, CookBks, DoItYBks)</td>\n </tr>\n <tr>\n <th>38</th>\n <td>0.1035</td>\n <td>(GeogBks, ArtBks, CookBks)</td>\n </tr>\n </tbody>\n</table>\n</div>",
"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 (YouthBks, ChildBks)\n10 0.2560 (ChildBks, CookBks)\n11 0.1840 (ChildBks, DoItYBks)\n12 0.1515 (ChildBks, RefBks)\n13 0.1625 (ChildBks, ArtBks)\n14 0.1950 (GeogBks, ChildBks)\n15 0.1620 (YouthBks, CookBks)\n16 0.1155 (YouthBks, DoItYBks)\n17 0.1010 (YouthBks, ArtBks)\n18 0.1205 (GeogBks, YouthBks)\n19 0.1875 (CookBks, DoItYBks)\n20 0.1525 (CookBks, RefBks)\n21 0.1670 (ArtBks, CookBks)\n22 0.1925 (GeogBks, CookBks)\n23 0.1135 (ItalCook, CookBks)\n24 0.1055 (DoItYBks, RefBks)\n25 0.1235 (ArtBks, DoItYBks)\n26 0.1325 (GeogBks, DoItYBks)\n27 0.1105 (GeogBks, RefBks)\n28 0.1275 (GeogBks, ArtBks)\n29 0.1290 (YouthBks, ChildBks, CookBks)\n30 0.1460 (ChildBks, CookBks, DoItYBks)\n31 0.1225 (ChildBks, CookBks, RefBks)\n32 0.1265 (ChildBks, CookBks, ArtBks)\n33 0.1495 (GeogBks, ChildBks, CookBks)\n34 0.1045 (GeogBks, ChildBks, DoItYBks)\n35 0.1020 (GeogBks, ChildBks, ArtBks)\n36 0.1015 (ArtBks, CookBks, DoItYBks)\n37 0.1085 (GeogBks, CookBks, DoItYBks)\n38 0.1035 (GeogBks, ArtBks, CookBks)"
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:19:08.232735Z",
"start_time": "2023-02-15T16:19:08.163922Z"
},
"trusted": false
},
"id": "fa0650f1",
"cell_type": "code",
"source": "rules_b=association_rules(b_freq_itemsets,metric=\"lift\",min_threshold=0.7)\nrules_b",
"execution_count": 45,
"outputs": [
{
"data": {
"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>(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>1</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>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>(GeogBks, CookBks)</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, CookBks)</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>97</th>\n <td>(GeogBks)</td>\n <td>(ArtBks, CookBks)</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>98</th>\n <td>(ArtBks)</td>\n <td>(GeogBks, CookBks)</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>(CookBks)</td>\n <td>(GeogBks, ArtBks)</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 </tbody>\n</table>\n<p>100 rows × 9 columns</p>\n</div>",
"text/plain": " antecedents consequents antecedent support \\\n0 (YouthBks) (ChildBks) 0.2475 \n1 (ChildBks) (YouthBks) 0.4230 \n2 (ChildBks) (CookBks) 0.4230 \n3 (CookBks) (ChildBks) 0.4310 \n4 (ChildBks) (DoItYBks) 0.4230 \n.. ... ... ... \n95 (GeogBks, CookBks) (ArtBks) 0.1925 \n96 (ArtBks, CookBks) (GeogBks) 0.1670 \n97 (GeogBks) (ArtBks, CookBks) 0.2760 \n98 (ArtBks) (GeogBks, CookBks) 0.2410 \n99 (CookBks) (GeogBks, ArtBks) 0.4310 \n\n consequent support support confidence lift leverage conviction \n0 0.4230 0.1650 0.666667 1.576044 0.060308 1.731000 \n1 0.2475 0.1650 0.390071 1.576044 0.060308 1.233750 \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.2760 0.1035 0.619760 2.245509 0.057408 1.904063 \n97 0.1670 0.1035 0.375000 2.245509 0.057408 1.332800 \n98 0.1925 0.1035 0.429461 2.230964 0.057107 1.415327 \n99 0.1275 0.1035 0.240139 1.883445 0.048547 1.148237 \n\n[100 rows x 9 columns]"
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:20:18.350998Z",
"start_time": "2023-02-15T16:20:18.283627Z"
},
"scrolled": true,
"trusted": false
},
"id": "0d7e16ee",
"cell_type": "code",
"source": "rules_b.sort_values('lift',ascending=False).head(10)",
"execution_count": 46,
"outputs": [
{
"data": {
"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>29</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>28</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>78</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>79</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>85</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>84</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>97</th>\n <td>(GeogBks)</td>\n <td>(ArtBks, CookBks)</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>96</th>\n <td>(ArtBks, CookBks)</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>(GeogBks, CookBks)</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>(GeogBks, CookBks)</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 </tbody>\n</table>\n</div>",
"text/plain": " antecedents consequents antecedent support \\\n29 (CookBks) (ItalCook) 0.4310 \n28 (ItalCook) (CookBks) 0.1135 \n78 (ChildBks, ArtBks) (GeogBks) 0.1625 \n79 (GeogBks) (ChildBks, ArtBks) 0.2760 \n85 (ArtBks) (CookBks, DoItYBks) 0.2410 \n84 (CookBks, DoItYBks) (ArtBks) 0.1875 \n97 (GeogBks) (ArtBks, CookBks) 0.2760 \n96 (ArtBks, CookBks) (GeogBks) 0.1670 \n98 (ArtBks) (GeogBks, CookBks) 0.2410 \n95 (GeogBks, CookBks) (ArtBks) 0.1925 \n\n consequent support support confidence lift leverage conviction \n29 0.1135 0.1135 0.263341 2.320186 0.064582 1.203406 \n28 0.4310 0.1135 1.000000 2.320186 0.064582 inf \n78 0.2760 0.1020 0.627692 2.274247 0.057150 1.944628 \n79 0.1625 0.1020 0.369565 2.274247 0.057150 1.328448 \n85 0.1875 0.1015 0.421162 2.246196 0.056313 1.403674 \n84 0.2410 0.1015 0.541333 2.246196 0.056313 1.654797 \n97 0.1670 0.1035 0.375000 2.245509 0.057408 1.332800 \n96 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 "
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2023-02-15T16:22:17.566236Z",
"start_time": "2023-02-15T16:22:17.473369Z"
},
"trusted": false
},
"id": "0f7a2cf2",
"cell_type": "code",
"source": "rules_b[rules_b.lift>2]",
"execution_count": 48,
"outputs": [
{
"data": {
"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>(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>29</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>42</th>\n <td>(ChildBks, CookBks)</td>\n <td>(YouthBks)</td>\n <td>0.2560</td>\n <td>0.2475</td>\n <td>0.1290</td>\n <td>0.503906</td>\n <td>2.035985</td>\n <td>0.065640</td>\n <td>1.516850</td>\n </tr>\n <tr>\n <th>43</th>\n <td>(YouthBks)</td>\n <td>(ChildBks, CookBks)</td>\n <td>0.2475</td>\n <td>0.2560</td>\n <td>0.1290</td>\n <td>0.521212</td>\n <td>2.035985</td>\n <td>0.065640</td>\n <td>1.553924</td>\n </tr>\n <tr>\n <th>46</th>\n <td>(ChildBks, CookBks)</td>\n <td>(DoItYBks)</td>\n <td>0.2560</td>\n <td>0.2820</td>\n <td>0.1460</td>\n <td>0.570312</td>\n <td>2.022385</td>\n <td>0.073808</td>\n <td>1.670982</td>\n </tr>\n <tr>\n <th>51</th>\n <td>(DoItYBks)</td>\n <td>(ChildBks, CookBks)</td>\n <td>0.2820</td>\n <td>0.2560</td>\n <td>0.1460</td>\n <td>0.517730</td>\n <td>2.022385</td>\n <td>0.073808</td>\n <td>1.542706</td>\n </tr>\n <tr>\n <th>52</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>57</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>58</th>\n <td>(ChildBks, CookBks)</td>\n <td>(ArtBks)</td>\n <td>0.2560</td>\n <td>0.2410</td>\n <td>0.1265</td>\n <td>0.494141</td>\n <td>2.050376</td>\n <td>0.064804</td>\n <td>1.500417</td>\n </tr>\n <tr>\n <th>63</th>\n <td>(ArtBks)</td>\n <td>(ChildBks, CookBks)</td>\n <td>0.2410</td>\n <td>0.2560</td>\n <td>0.1265</td>\n <td>0.524896</td>\n <td>2.050376</td>\n <td>0.064804</td>\n <td>1.565974</td>\n </tr>\n <tr>\n <th>66</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>67</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>72</th>\n <td>(ChildBks, DoItYBks)</td>\n <td>(GeogBks)</td>\n <td>0.1840</td>\n <td>0.2760</td>\n <td>0.1045</td>\n <td>0.567935</td>\n <td>2.057735</td>\n <td>0.053716</td>\n <td>1.675673</td>\n </tr>\n <tr>\n <th>73</th>\n <td>(GeogBks)</td>\n <td>(ChildBks, DoItYBks)</td>\n <td>0.2760</td>\n <td>0.1840</td>\n <td>0.1045</td>\n <td>0.378623</td>\n <td>2.057735</td>\n <td>0.053716</td>\n <td>1.313213</td>\n </tr>\n <tr>\n <th>76</th>\n <td>(GeogBks, ChildBks)</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>78</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>79</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>81</th>\n <td>(ArtBks)</td>\n <td>(GeogBks, ChildBks)</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>82</th>\n <td>(ArtBks, CookBks)</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>84</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>85</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>87</th>\n <td>(DoItYBks)</td>\n <td>(ArtBks, CookBks)</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>90</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>91</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 <tr>\n <th>95</th>\n <td>(GeogBks, CookBks)</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, CookBks)</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>97</th>\n <td>(GeogBks)</td>\n <td>(ArtBks, CookBks)</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>98</th>\n <td>(ArtBks)</td>\n <td>(GeogBks, CookBks)</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 </tbody>\n</table>\n</div>",
"text/plain": " antecedents consequents antecedent support \\\n28 (ItalCook) (CookBks) 0.1135 \n29 (CookBks) (ItalCook) 0.4310 \n42 (ChildBks, CookBks) (YouthBks) 0.2560 \n43 (YouthBks) (ChildBks, CookBks) 0.2475 \n46 (ChildBks, CookBks) (DoItYBks) 0.2560 \n51 (DoItYBks) (ChildBks, CookBks) 0.2820 \n52 (ChildBks, CookBks) (RefBks) 0.2560 \n57 (RefBks) (ChildBks, CookBks) 0.2145 \n58 (ChildBks, CookBks) (ArtBks) 0.2560 \n63 (ArtBks) (ChildBks, CookBks) 0.2410 \n66 (ChildBks, CookBks) (GeogBks) 0.2560 \n67 (GeogBks) (ChildBks, CookBks) 0.2760 \n72 (ChildBks, DoItYBks) (GeogBks) 0.1840 \n73 (GeogBks) (ChildBks, DoItYBks) 0.2760 \n76 (GeogBks, ChildBks) (ArtBks) 0.1950 \n78 (ChildBks, ArtBks) (GeogBks) 0.1625 \n79 (GeogBks) (ChildBks, ArtBks) 0.2760 \n81 (ArtBks) (GeogBks, ChildBks) 0.2410 \n82 (ArtBks, CookBks) (DoItYBks) 0.1670 \n84 (CookBks, DoItYBks) (ArtBks) 0.1875 \n85 (ArtBks) (CookBks, DoItYBks) 0.2410 \n87 (DoItYBks) (ArtBks, CookBks) 0.2820 \n90 (CookBks, DoItYBks) (GeogBks) 0.1875 \n91 (GeogBks) (CookBks, DoItYBks) 0.2760 \n95 (GeogBks, CookBks) (ArtBks) 0.1925 \n96 (ArtBks, CookBks) (GeogBks) 0.1670 \n97 (GeogBks) (ArtBks, CookBks) 0.2760 \n98 (ArtBks) (GeogBks, CookBks) 0.2410 \n\n consequent support support confidence lift leverage conviction \n28 0.4310 0.1135 1.000000 2.320186 0.064582 inf \n29 0.1135 0.1135 0.263341 2.320186 0.064582 1.203406 \n42 0.2475 0.1290 0.503906 2.035985 0.065640 1.516850 \n43 0.2560 0.1290 0.521212 2.035985 0.065640 1.553924 \n46 0.2820 0.1460 0.570312 2.022385 0.073808 1.670982 \n51 0.2560 0.1460 0.517730 2.022385 0.073808 1.542706 \n52 0.2145 0.1225 0.478516 2.230842 0.067588 1.506277 \n57 0.2560 0.1225 0.571096 2.230842 0.067588 1.734652 \n58 0.2410 0.1265 0.494141 2.050376 0.064804 1.500417 \n63 0.2560 0.1265 0.524896 2.050376 0.064804 1.565974 \n66 0.2760 0.1495 0.583984 2.115885 0.078844 1.740319 \n67 0.2560 0.1495 0.541667 2.115885 0.078844 1.623273 \n72 0.2760 0.1045 0.567935 2.057735 0.053716 1.675673 \n73 0.1840 0.1045 0.378623 2.057735 0.053716 1.313213 \n76 0.2410 0.1020 0.523077 2.170444 0.055005 1.591452 \n78 0.2760 0.1020 0.627692 2.274247 0.057150 1.944628 \n79 0.1625 0.1020 0.369565 2.274247 0.057150 1.328448 \n81 0.1950 0.1020 0.423237 2.170444 0.055005 1.395719 \n82 0.2820 0.1015 0.607784 2.155264 0.054406 1.830626 \n84 0.2410 0.1015 0.541333 2.246196 0.056313 1.654797 \n85 0.1875 0.1015 0.421162 2.246196 0.056313 1.403674 \n87 0.1670 0.1015 0.359929 2.155264 0.054406 1.301418 \n90 0.2760 0.1085 0.578667 2.096618 0.056750 1.718354 \n91 0.1875 0.1085 0.393116 2.096618 0.056750 1.338806 \n95 0.2410 0.1035 0.537662 2.230964 0.057107 1.641657 \n96 0.2760 0.1035 0.619760 2.245509 0.057408 1.904063 \n97 0.1670 0.1035 0.375000 2.245509 0.057408 1.332800 \n98 0.1925 0.1035 0.429461 2.230964 0.057107 1.415327 "
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3 (ipykernel)",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.9.13",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "!excelR/assignments/Gists/Association_rules(all data sets).ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment