{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "|--- ap_hi <= 129.50\n", "| |--- age <= 54.65\n", "| | |--- cholesterol <= 2.50\n", "| | | |--- age <= 43.79\n", "| | | | |--- cholesterol <= 1.50\n", "| | | | | |--- ap_hi <= 114.50\n", "| | | | | | |--- class: 0\n", "| | | | | |--- ap_hi > 114.50\n", "| | | | | | |--- class: 0\n", "| | | | |--- cholesterol > 1.50\n", "| | | | | |--- bmi <= 28.87\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 28.87\n", "| | | | | | |--- class: 0\n", "| | | |--- age > 43.79\n", "| | | | |--- ap_hi <= 119.50\n", "| | | | | |--- bmi <= 22.05\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 22.05\n", "| | | | | | |--- class: 0\n", "| | | | |--- ap_hi > 119.50\n", "| | | | | |--- bmi <= 27.71\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 27.71\n", "| | | | | | |--- class: 0\n", "| | |--- cholesterol > 2.50\n", "| | | |--- bmi <= 29.04\n", "| | | | |--- age <= 41.60\n", "| | | | | |--- ap_hi <= 115.00\n", "| | | | | | |--- class: 0\n", "| | | | | |--- ap_hi > 115.00\n", "| | | | | | |--- class: 0\n", "| | | | |--- age > 41.60\n", "| | | | | |--- age <= 54.17\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 54.17\n", "| | | | | | |--- class: 0\n", "| | | |--- bmi > 29.04\n", "| | | | |--- age <= 54.01\n", "| | | | | |--- age <= 39.75\n", "| | | | | | |--- class: 0\n", "| | | | | |--- age > 39.75\n", "| | | | | | |--- class: 1\n", "| | | | |--- age > 54.01\n", "| | | | | |--- bmi <= 35.02\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 35.02\n", "| | | | | | |--- class: 1\n", "| |--- age > 54.65\n", "| | |--- cholesterol <= 2.50\n", "| | | |--- age <= 60.71\n", "| | | | |--- ap_hi <= 118.50\n", "| | | | | |--- bmi <= 23.33\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 23.33\n", "| | | | | | |--- class: 0\n", "| | | | |--- ap_hi > 118.50\n", "| | | | | |--- bmi <= 32.89\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 32.89\n", "| | | | | | |--- class: 1\n", "| | | |--- age > 60.71\n", "| | | | |--- bmi <= 20.51\n", "| | | | | |--- age <= 64.31\n", "| | | | | | |--- class: 0\n", "| | | | | |--- age > 64.31\n", "| | | | | | |--- class: 1\n", "| | | | |--- bmi > 20.51\n", "| | | | | |--- ap_hi <= 115.50\n", "| | | | | | |--- class: 0\n", "| | | | | |--- ap_hi > 115.50\n", "| | | | | | |--- class: 1\n", "| | |--- cholesterol > 2.50\n", "| | | |--- bmi <= 26.03\n", "| | | | |--- age <= 60.89\n", "| | | | | |--- age <= 60.48\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 60.48\n", "| | | | | | |--- class: 0\n", "| | | | |--- age > 60.89\n", "| | | | | |--- bmi <= 25.91\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 25.91\n", "| | | | | | |--- class: 0\n", "| | | |--- bmi > 26.03\n", "| | | | |--- age <= 59.39\n", "| | | | | |--- bmi <= 35.93\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 35.93\n", "| | | | | | |--- class: 1\n", "| | | | |--- age > 59.39\n", "| | | | | |--- bmi <= 35.12\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 35.12\n", "| | | | | | |--- class: 1\n", "|--- ap_hi > 129.50\n", "| |--- ap_hi <= 138.50\n", "| | |--- cholesterol <= 2.50\n", "| | | |--- age <= 59.54\n", "| | | | |--- bmi <= 21.64\n", "| | | | | |--- bmi <= 17.30\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 17.30\n", "| | | | | | |--- class: 0\n", "| | | | |--- bmi > 21.64\n", "| | | | | |--- age <= 39.99\n", "| | | | | | |--- class: 0\n", "| | | | | |--- age > 39.99\n", "| | | | | | |--- class: 1\n", "| | | |--- age > 59.54\n", "| | | | |--- age <= 62.46\n", "| | | | | |--- bmi <= 20.61\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 20.61\n", "| | | | | | |--- class: 1\n", "| | | | |--- age > 62.46\n", "| | | | | |--- age <= 64.00\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 64.00\n", "| | | | | | |--- class: 1\n", "| | |--- cholesterol > 2.50\n", "| | | |--- bmi <= 30.74\n", "| | | | |--- bmi <= 30.06\n", "| | | | | |--- bmi <= 23.93\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 23.93\n", "| | | | | | |--- class: 1\n", "| | | | |--- bmi > 30.06\n", "| | | | | |--- bmi <= 30.69\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 30.69\n", "| | | | | | |--- class: 0\n", "| | | |--- bmi > 30.74\n", "| | | | |--- bmi <= 32.05\n", "| | | | | |--- age <= 43.63\n", "| | | | | | |--- class: 0\n", "| | | | | |--- age > 43.63\n", "| | | | | | |--- class: 1\n", "| | | | |--- bmi > 32.05\n", "| | | | | |--- bmi <= 32.34\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 32.34\n", "| | | | | | |--- class: 1\n", "| |--- ap_hi > 138.50\n", "| | |--- ap_hi <= 149.50\n", "| | | |--- age <= 39.56\n", "| | | | |--- bmi <= 38.19\n", "| | | | | |--- age <= 39.54\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 39.54\n", "| | | | | | |--- class: 0\n", "| | | | |--- bmi > 38.19\n", "| | | | | |--- bmi <= 50.55\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 50.55\n", "| | | | | | |--- class: 1\n", "| | | |--- age > 39.56\n", "| | | | |--- age <= 47.57\n", "| | | | | |--- bmi <= 19.23\n", "| | | | | | |--- class: 0\n", "| | | | | |--- bmi > 19.23\n", "| | | | | | |--- class: 1\n", "| | | | |--- age > 47.57\n", "| | | | | |--- age <= 61.57\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 61.57\n", "| | | | | | |--- class: 1\n", "| | |--- ap_hi > 149.50\n", "| | | |--- bmi <= 20.48\n", "| | | | |--- age <= 64.27\n", "| | | | | |--- age <= 55.82\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 55.82\n", "| | | | | | |--- class: 1\n", "| | | | |--- age > 64.27\n", "| | | | | |--- class: 0\n", "| | | |--- bmi > 20.48\n", "| | | | |--- age <= 64.35\n", "| | | | | |--- age <= 49.82\n", "| | | | | | |--- class: 1\n", "| | | | | |--- age > 49.82\n", "| | | | | | |--- class: 1\n", "| | | | |--- age > 64.35\n", "| | | | | |--- bmi <= 36.80\n", "| | | | | | |--- class: 1\n", "| | | | | |--- bmi > 36.80\n", "| | | | | | |--- class: 0\n", "\n" ] } ], "source": [ "import pickle\n", "import pandas as pd\n", "from sklearn import tree\n", "\n", "df = pd.read_csv(\"data-cardio/cardio_clear.csv\", index_col=\"id\")\n", "model = pickle.load(open(\"data-cardio//cardio.model.sav\", \"rb\"))\n", "features = (\n", " df\n", " .drop([\"cardio\"], axis=1)\n", " .columns.values.tolist()\n", ")\n", "\n", "rules = tree.export_text(model, feature_names=features)\n", "print(rules)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "63" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age <= 43.792) and (cholesterol <= 1.5) and (ap_hi <= 114.5) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age <= 43.792) and (cholesterol <= 1.5) and (ap_hi > 114.5) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age <= 43.792) and (cholesterol > 1.5) and (bmi <= 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age <= 43.792) and (cholesterol > 1.5) and (bmi > 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age > 43.792) and (ap_hi <= 119.5) and (bmi <= 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age > 43.792) and (ap_hi <= 119.5) and (bmi > 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age > 43.792) and (ap_hi > 119.5) and (bmi <= 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (age > 43.792) and (ap_hi > 119.5) and (bmi > 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) and (age <= 41.599) and (ap_hi <= 115.0) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) and (age <= 41.599) and (ap_hi > 115.0) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) and (age > 41.599) and (age <= 54.167) -> 1,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) and (age > 41.599) and (age > 54.167) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) and (age <= 54.008) and (age <= 39.751) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) and (age <= 54.008) and (age > 39.751) -> 1,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) and (age > 54.008) and (bmi <= 35.021) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) and (age > 54.008) and (bmi > 35.021) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age <= 60.707) and (ap_hi <= 118.5) and (bmi <= 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age <= 60.707) and (ap_hi <= 118.5) and (bmi > 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age <= 60.707) and (ap_hi > 118.5) and (bmi <= 32.886) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age <= 60.707) and (ap_hi > 118.5) and (bmi > 32.886) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age > 60.707) and (bmi <= 20.512) and (age <= 64.308) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age > 60.707) and (bmi <= 20.512) and (age > 64.308) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age > 60.707) and (bmi > 20.512) and (ap_hi <= 115.5) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (age > 60.707) and (bmi > 20.512) and (ap_hi > 115.5) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (age <= 60.891) and (age <= 60.479) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (age <= 60.891) and (age > 60.479) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (age > 60.891) and (bmi <= 25.912) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (age > 60.891) and (bmi > 25.912) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (age <= 59.39) and (bmi <= 35.932) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (age <= 59.39) and (bmi > 35.932) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (age > 59.39) and (bmi <= 35.121) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (age > 59.39) and (bmi > 35.121) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) and (bmi <= 17.3) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) and (bmi > 17.3) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi > 21.637) and (age <= 39.989) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi > 21.637) and (age > 39.989) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi <= 20.614) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi > 20.614) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age > 62.463) and (age <= 63.998) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age > 62.463) and (age > 63.998) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi <= 30.056) and (bmi <= 23.927) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi <= 30.056) and (bmi > 23.927) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 30.056) and (bmi <= 30.69) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 30.056) and (bmi > 30.69) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age <= 43.632) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age > 43.632) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi > 32.049) and (bmi <= 32.337) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi > 32.049) and (bmi > 32.337) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi <= 38.186) and (age <= 39.538) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi <= 38.186) and (age > 39.538) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) and (bmi <= 50.547) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) and (bmi > 50.547) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi <= 19.231) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi > 19.231) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age > 39.558) and (age > 47.569) and (age <= 61.572) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi <= 149.5) and (age > 39.558) and (age > 47.569) and (age > 61.572) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi <= 20.482) and (age <= 64.269) and (age <= 55.817) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi <= 20.482) and (age <= 64.269) and (age > 55.817) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi <= 20.482) and (age > 64.269) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi > 20.482) and (age <= 64.351) and (age <= 49.818) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi > 20.482) and (age <= 64.351) and (age > 49.818) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi > 20.482) and (age > 64.351) and (bmi <= 36.796) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi > 138.5) and (ap_hi > 149.5) and (bmi > 20.482) and (age > 64.351) and (bmi > 36.796) -> 0]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from src.rules import get_rules\n", "\n", "\n", "rules = get_rules(model, features, [0, 1])\n", "display(len(rules))\n", "rules" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "63" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 114.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi <= 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi > 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi > 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 119.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 119.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi > 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 115.0) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 41.599) and (cholesterol > 2.5) and (bmi <= 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 41.599) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 39.751) and (cholesterol > 2.5) and (bmi > 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 54.008) and (cholesterol > 2.5) and (bmi > 29.043) and (bmi <= 35.021) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 54.008) and (cholesterol > 2.5) and (bmi > 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi <= 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi > 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 118.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi <= 32.886) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 118.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi > 32.886) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 64.308) and (cholesterol <= 2.5) and (bmi <= 20.512) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi <= 20.512) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi > 20.512) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 115.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi > 20.512) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.891) and (cholesterol > 2.5) and (bmi <= 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.891) and (cholesterol > 2.5) and (bmi <= 26.032) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (bmi > 25.912) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 59.39) and (cholesterol > 2.5) and (bmi > 26.032) and (bmi <= 35.932) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 59.39) and (cholesterol > 2.5) and (bmi > 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (bmi <= 35.121) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) and (bmi > 17.3) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi > 21.637) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (age > 39.989) and (bmi > 21.637) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi <= 20.614) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi > 20.614) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 63.998) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 23.927) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 30.056) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 30.056) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age <= 43.632) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age > 43.632) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.337) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi <= 38.186) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (age > 39.538) and (bmi <= 38.186) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) and (bmi <= 50.547) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi <= 19.231) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi > 19.231) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 61.572) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age <= 64.269) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age <= 64.269) and (age > 55.817) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age > 64.269) -> 0,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age <= 64.351) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age <= 64.351) and (age > 49.818) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (bmi <= 36.796) and (age > 64.351) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age > 64.351) -> 0]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from src.rules import normalise_rules\n", "\n", "\n", "rules = normalise_rules(rules)\n", "display(len(rules))\n", "rules" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "60" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 114.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi <= 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi > 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi > 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 119.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 119.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi > 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 115.0) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 41.599) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0.5,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 39.751) and (cholesterol > 2.5) and (bmi > 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 54.008) and (cholesterol > 2.5) and (bmi > 29.043) and (bmi <= 35.021) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 54.008) and (cholesterol > 2.5) and (bmi > 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi <= 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi > 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 118.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi <= 32.886) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 118.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi > 32.886) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 64.308) and (cholesterol <= 2.5) and (bmi <= 20.512) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi <= 20.512) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi > 20.512) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 115.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi > 20.512) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.891) and (cholesterol > 2.5) and (bmi <= 26.032) -> 0.5,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (bmi > 25.912) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 59.39) and (cholesterol > 2.5) and (bmi > 26.032) and (bmi <= 35.932) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 59.39) and (cholesterol > 2.5) and (bmi > 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (bmi <= 35.121) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) and (bmi > 17.3) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi > 21.637) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (age > 39.989) and (bmi > 21.637) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi <= 20.614) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi > 20.614) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 63.998) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 23.927) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 30.056) -> 0.5,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age <= 43.632) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age > 43.632) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.337) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi <= 38.186) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (age > 39.538) and (bmi <= 38.186) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) and (bmi <= 50.547) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi <= 19.231) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi > 19.231) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 61.572) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age <= 64.269) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age <= 64.269) and (age > 55.817) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age > 64.269) -> 0,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age <= 64.351) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age <= 64.351) and (age > 49.818) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (bmi <= 36.796) and (age > 64.351) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age > 64.351) -> 0]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from src.rules import delete_same_rules\n", "\n", "\n", "rules = delete_same_rules(rules)\n", "display(len(rules))\n", "rules" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "57" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 114.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi <= 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi > 28.874) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi > 22.045) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 119.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 119.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi > 27.71) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 115.0) and (age <= 54.65) and (cholesterol > 2.5) and (bmi <= 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol > 2.5) and (bmi > 29.043) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 39.751) and (cholesterol > 2.5) and (bmi > 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 54.008) and (cholesterol > 2.5) and (bmi > 29.043) and (bmi <= 35.021) -> 0,\n", " if (ap_hi <= 129.5) and (age <= 54.65) and (age > 54.008) and (cholesterol > 2.5) and (bmi > 29.043) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi <= 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi > 23.329) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 118.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi <= 32.886) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 118.5) and (age > 54.65) and (age <= 60.707) and (cholesterol <= 2.5) and (bmi > 32.886) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 64.308) and (cholesterol <= 2.5) and (bmi <= 20.512) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi <= 20.512) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi > 20.512) -> 0,\n", " if (ap_hi <= 129.5) and (ap_hi > 115.5) and (age > 54.65) and (cholesterol <= 2.5) and (bmi > 20.512) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi <= 26.032) and (bmi > 25.912) -> 0,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 59.39) and (cholesterol > 2.5) and (bmi > 26.032) and (bmi <= 35.932) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (age <= 59.39) and (cholesterol > 2.5) and (bmi > 26.032) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) and (bmi <= 35.121) -> 1,\n", " if (ap_hi <= 129.5) and (age > 54.65) and (cholesterol > 2.5) and (bmi > 26.032) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi <= 21.637) and (bmi > 17.3) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (bmi > 21.637) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age <= 59.536) and (age > 39.989) and (bmi > 21.637) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi <= 20.614) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 62.463) and (bmi > 20.614) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) and (age <= 63.998) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol <= 2.5) and (age > 59.536) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi <= 30.744) and (bmi > 23.927) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age <= 43.632) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.049) and (age > 43.632) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) and (bmi <= 32.337) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 138.5) and (cholesterol > 2.5) and (bmi > 30.744) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi <= 38.186) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (age > 39.538) and (bmi <= 38.186) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) and (bmi <= 50.547) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age <= 39.558) and (bmi > 38.186) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi <= 19.231) -> 0,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 47.569) and (bmi > 19.231) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) and (age <= 61.572) -> 1,\n", " if (ap_hi > 129.5) and (ap_hi <= 149.5) and (age > 39.558) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age <= 64.269) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age <= 64.269) and (age > 55.817) -> 1,\n", " if (ap_hi > 129.5) and (bmi <= 20.482) and (age > 64.269) -> 0,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age <= 64.351) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age <= 64.351) and (age > 49.818) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (bmi <= 36.796) and (age > 64.351) -> 1,\n", " if (ap_hi > 129.5) and (bmi > 20.482) and (age > 64.351) -> 0]" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rules = [\n", " rule for rule in rules if rule.get_consequent() == 0 or rule.get_consequent() == 1\n", "]\n", "display(len(rules))\n", "rules" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['(age <= 39.558)', '(age <= 43.632)', '(age <= 47.569)', '(age <= 54.65)', '(age <= 59.39)', '(age <= 59.536)', '(age <= 60.707)', '(age <= 61.572)', '(age <= 62.463)', '(age <= 63.998)', '(age <= 64.269)', '(age <= 64.308)', '(age <= 64.351)', '(age > 39.538)', '(age > 39.558)', '(age > 39.751)', '(age > 39.989)', '(age > 43.632)', '(age > 43.792)', '(age > 49.818)', '(age > 54.008)', '(age > 54.65)', '(age > 55.817)', '(age > 59.536)', '(age > 64.269)', '(age > 64.351)', '(ap_hi <= 129.5)', '(ap_hi <= 138.5)', '(ap_hi <= 149.5)', '(ap_hi > 114.5)', '(ap_hi > 115.0)', '(ap_hi > 115.5)', '(ap_hi > 118.5)', '(ap_hi > 119.5)', '(ap_hi > 129.5)', '(bmi <= 19.231)', '(bmi <= 20.482)', '(bmi <= 20.512)', '(bmi <= 20.614)', '(bmi <= 21.637)', '(bmi <= 22.045)', '(bmi <= 23.329)', '(bmi <= 26.032)', '(bmi <= 27.71)', '(bmi <= 28.874)', '(bmi <= 29.043)', '(bmi <= 30.744)', '(bmi <= 32.049)', '(bmi <= 32.337)', '(bmi <= 32.886)', '(bmi <= 35.021)', '(bmi <= 35.121)', '(bmi <= 35.932)', '(bmi <= 36.796)', '(bmi <= 38.186)', '(bmi <= 50.547)', '(bmi > 17.3)', '(bmi > 19.231)', '(bmi > 20.482)', '(bmi > 20.512)', '(bmi > 20.614)', '(bmi > 21.637)', '(bmi > 22.045)', '(bmi > 23.329)', '(bmi > 23.927)', '(bmi > 25.912)', '(bmi > 26.032)', '(bmi > 27.71)', '(bmi > 28.874)', '(bmi > 29.043)', '(bmi > 30.744)', '(bmi > 32.886)', '(bmi > 38.186)', '(cholesterol <= 2.5)', '(cholesterol > 1.5)', '(cholesterol > 2.5)']\n" ] }, { "data": { "text/html": [ "
\n", " | (age <= 39.558) | \n", "(age <= 43.632) | \n", "(age <= 47.569) | \n", "(age <= 54.65) | \n", "(age <= 59.39) | \n", "(age <= 59.536) | \n", "(age <= 60.707) | \n", "(age <= 61.572) | \n", "(age <= 62.463) | \n", "(age <= 63.998) | \n", "... | \n", "(bmi > 27.71) | \n", "(bmi > 28.874) | \n", "(bmi > 29.043) | \n", "(bmi > 30.744) | \n", "(bmi > 32.886) | \n", "(bmi > 38.186) | \n", "(cholesterol <= 2.5) | \n", "(cholesterol > 1.5) | \n", "(cholesterol > 2.5) | \n", "consequent | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rule | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "
if (ap_hi <= 129.5) and (ap_hi > 114.5) and (age <= 54.65) and (cholesterol <= 2.5) -> 0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "
if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi <= 28.874) -> 0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "1 | \n", "0 | \n", "0 | \n", "
if (ap_hi <= 129.5) and (age <= 54.65) and (cholesterol <= 2.5) and (cholesterol > 1.5) and (bmi > 28.874) -> 0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "1 | \n", "0 | \n", "0 | \n", "
if (ap_hi <= 129.5) and (age <= 54.65) and (age > 43.792) and (cholesterol <= 2.5) and (bmi <= 22.045) -> 0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "
5 rows × 77 columns
\n", "\n", " | count | \n", "mean | \n", "std | \n", "min | \n", "25% | \n", "50% | \n", "75% | \n", "max | \n", "
---|---|---|---|---|---|---|---|---|
age | \n", "68985.0 | \n", "53.290421 | \n", "6.757633 | \n", "29.564122 | \n", "48.340817 | \n", "53.939875 | \n", "58.380791 | \n", "64.924433 | \n", "
ap_hi | \n", "68985.0 | \n", "126.325027 | \n", "17.698621 | \n", "7.000000 | \n", "120.000000 | \n", "120.000000 | \n", "140.000000 | \n", "240.000000 | \n", "
cholesterol | \n", "68985.0 | \n", "1.364384 | \n", "0.678691 | \n", "1.000000 | \n", "1.000000 | \n", "1.000000 | \n", "1.000000 | \n", "3.000000 | \n", "
cardio | \n", "68985.0 | \n", "0.494905 | \n", "0.499978 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "1.000000 | \n", "1.000000 | \n", "
bmi | \n", "68985.0 | \n", "27.524761 | \n", "6.081130 | \n", "3.471784 | \n", "23.875115 | \n", "26.346494 | \n", "30.119376 | \n", "298.666667 | \n", "
\n", " | age | \n", "ap_hi | \n", "cholesterol | \n", "bmi | \n", "
---|---|---|---|---|
id | \n", "\n", " | \n", " | \n", " | \n", " |
94960 | \n", "62.014018 | \n", "120 | \n", "1 | \n", "26.892323 | \n", "
30807 | \n", "57.745592 | \n", "120 | \n", "1 | \n", "28.393726 | \n", "
26485 | \n", "59.670354 | \n", "120 | \n", "3 | \n", "23.875115 | \n", "
3868 | \n", "49.715256 | \n", "110 | \n", "1 | \n", "20.820940 | \n", "
45890 | \n", "59.785347 | \n", "160 | \n", "1 | \n", "23.529412 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
61975 | \n", "62.558865 | \n", "120 | \n", "1 | \n", "28.196921 | \n", "
32741 | \n", "57.882488 | \n", "120 | \n", "1 | \n", "29.043709 | \n", "
94833 | \n", "51.371701 | \n", "120 | \n", "1 | \n", "29.242109 | \n", "
95660 | \n", "45.767167 | \n", "120 | \n", "1 | \n", "24.977043 | \n", "
81002 | \n", "55.544300 | \n", "150 | \n", "1 | \n", "27.053803 | \n", "
55188 rows × 4 columns
\n", "\n", " | age | \n", "ap_hi | \n", "cholesterol | \n", "bmi | \n", "
---|---|---|---|---|
id | \n", "\n", " | \n", " | \n", " | \n", " |
42270 | \n", "60.078305 | \n", "140 | \n", "1 | \n", "45.918367 | \n", "
10780 | \n", "55.360859 | \n", "120 | \n", "2 | \n", "24.998904 | \n", "
42436 | \n", "48.198445 | \n", "100 | \n", "3 | \n", "21.926126 | \n", "
88647 | \n", "41.517906 | \n", "130 | \n", "2 | \n", "27.764650 | \n", "
62336 | \n", "51.692038 | \n", "110 | \n", "1 | \n", "22.230987 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
30330 | \n", "47.697404 | \n", "100 | \n", "1 | \n", "22.724403 | \n", "
62907 | \n", "58.597087 | \n", "120 | \n", "1 | \n", "23.828125 | \n", "
98612 | \n", "51.404556 | \n", "110 | \n", "1 | \n", "22.589551 | \n", "
5767 | \n", "62.033184 | \n", "120 | \n", "1 | \n", "23.875115 | \n", "
14769 | \n", "41.506954 | \n", "120 | \n", "2 | \n", "22.948116 | \n", "
13797 rows × 4 columns
\n", "\n", " | age | \n", "ap_hi | \n", "cholesterol | \n", "bmi | \n", "Real | \n", "Inferred | \n", "
---|---|---|---|---|---|---|
id | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
42270 | \n", "60.078305 | \n", "140 | \n", "1 | \n", "45.918367 | \n", "1 | \n", "1 | \n", "
10780 | \n", "55.360859 | \n", "120 | \n", "2 | \n", "24.998904 | \n", "0 | \n", "0 | \n", "
42436 | \n", "48.198445 | \n", "100 | \n", "3 | \n", "21.926126 | \n", "1 | \n", "0 | \n", "
88647 | \n", "41.517906 | \n", "130 | \n", "2 | \n", "27.764650 | \n", "1 | \n", "0 | \n", "
62336 | \n", "51.692038 | \n", "110 | \n", "1 | \n", "22.230987 | \n", "0 | \n", "0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
23904 | \n", "53.942613 | \n", "120 | \n", "1 | \n", "35.491690 | \n", "1 | \n", "0 | \n", "
63516 | \n", "40.305005 | \n", "120 | \n", "1 | \n", "21.829952 | \n", "0 | \n", "0 | \n", "
84904 | \n", "42.561056 | \n", "140 | \n", "1 | \n", "32.882414 | \n", "1 | \n", "0 | \n", "
20959 | \n", "45.545395 | \n", "160 | \n", "1 | \n", "43.827160 | \n", "1 | \n", "0 | \n", "
77652 | \n", "54.115102 | \n", "140 | \n", "1 | \n", "37.105751 | \n", "0 | \n", "0 | \n", "
1000 rows × 6 columns
\n", "