mirror of
https://github.com/ltcptgeneral/IdealRMT-DecisionTrees.git
synced 2026-10-07 16:28:31 +00:00
First try boundary nudging
This commit is contained in:
1 parent
afc882a569
commit
fda251f051
5 files changed
+146
-24
No files matched your search
+3
-1
@@ -1,3 +1,5 @@
|
||||
data.*
|
||||
__pycache__
|
||||
*.json
|
||||
*.json
|
||||
.DS_Store
|
||||
.ipynb_checkpoints/
|
||||
+131
-11
@@ -17,7 +17,8 @@
|
||||
"from matplotlib import pyplot as plt\n",
|
||||
"from labels import mac_to_label\n",
|
||||
"import json\n",
|
||||
"import math"
|
||||
"import math\n",
|
||||
"import copy"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -30,9 +31,9 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"dataset size: 4735360\n",
|
||||
"train accuracy: 0.879490682862549\n",
|
||||
"test accuracy: 0.879490682862549\n"
|
||||
"dataset size: 1894144\n",
|
||||
"pre-nudge train accuracy: 0.879490682862549\n",
|
||||
"pre-nudge test accuracy: 0.879490682862549\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -64,15 +65,126 @@
|
||||
"dt = DecisionTreeClassifier(max_depth = 5)\n",
|
||||
"dt.fit(X, Y)\n",
|
||||
"Predict_Y = dt.predict(X)\n",
|
||||
"print(f\"train accuracy: {accuracy_score(Y, Predict_Y)}\")\n",
|
||||
"print(f\"pre-nudge train accuracy: {accuracy_score(Y, Predict_Y)}\")\n",
|
||||
"\n",
|
||||
"Predict_Yt = dt.predict(Xt)\n",
|
||||
"print(f\"test accuracy: {accuracy_score(Yt, Predict_Yt)}\")"
|
||||
"print(f\"pre-nudge test accuracy: {accuracy_score(Yt, Predict_Yt)}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "17d2b9de-3e0d-4c52-a3da-aeab436898b4",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def nudge_threshold_power_2(threshold: float):\n",
|
||||
" threshold = math.floor(threshold)\n",
|
||||
" bit_len = threshold.bit_length()\n",
|
||||
" if threshold <= 2:\n",
|
||||
" nudged_value = threshold\n",
|
||||
" elif threshold & (1 << (bit_len - 2)):\n",
|
||||
" nudged_value = 1 << (bit_len)\n",
|
||||
" else:\n",
|
||||
" nudged_value = 1 << (bit_len - 1)\n",
|
||||
" return nudged_value"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "fe251c3a-629d-4db7-b0aa-06bd085e8d60",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def nudge_threshold_n_significant_bits(threshold: float, n_sig_bits: int):\n",
|
||||
" threshold = math.floor(threshold)\n",
|
||||
" \n",
|
||||
" bit_len = threshold.bit_length()\n",
|
||||
" if bit_len - 1 <= n_sig_bits:\n",
|
||||
" nudged_value = threshold\n",
|
||||
" else:\n",
|
||||
" mask = ((1 << n_sig_bits) - 1) << (threshold.bit_length() - n_sig_bits)\n",
|
||||
" nudged_value = threshold & mask\n",
|
||||
" if threshold & (1 << (bit_len - 1 - n_sig_bits)):\n",
|
||||
" nudged_value += (1 << (bit_len - n_sig_bits))\n",
|
||||
" \n",
|
||||
" return nudged_value"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "83fe5426-60a0-4231-bbd6-08970ca2af8e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def nudge_threshold_max_n_bits(threshold: float, n_bits: int):\n",
|
||||
" threshold = math.floor(threshold)\n",
|
||||
" if n_bits == 0:\n",
|
||||
" return threshold\n",
|
||||
" \n",
|
||||
" mask = pow(2, 32) - 1 ^ ((1 << n_bits) - 1)\n",
|
||||
" nudged_value = threshold & mask\n",
|
||||
" if threshold & (1 << (n_bits - 1)):\n",
|
||||
" nudged_value += (1 << (n_bits))\n",
|
||||
" \n",
|
||||
" return nudged_value"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "d2dba2fe-1822-48f0-b0af-9dbed09a31a5",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def crawl_tree(tree: _tree, node):\n",
|
||||
" # postfix traversal on non-leaf nodes\n",
|
||||
" flag = 0\n",
|
||||
" if tree.children_left[node] != -1:\n",
|
||||
" crawl_tree(tree, tree.children_left[node])\n",
|
||||
" flag |= 1\n",
|
||||
" if tree.children_right[node] != -1:\n",
|
||||
" crawl_tree(tree, tree.children_right[node])\n",
|
||||
" flag |= 1\n",
|
||||
"\n",
|
||||
" if flag:\n",
|
||||
" # can choose `nudge_threshold_power_2`, `nudge_threshold_n_significant_bits`, or `nudge_threshold_max_n_bits`\n",
|
||||
" tree.threshold[node] = nudge_threshold_max_n_bits(tree.threshold[node], 2)\n",
|
||||
"\n",
|
||||
"original_tree = dt.tree_\n",
|
||||
"nudged_tree = copy.deepcopy(original_tree)\n",
|
||||
"crawl_tree(nudged_tree, 0)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "5230f85b-6908-46a9-922e-f9815e633931",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"post-nudge train accuracy: 0.8767189822949047\n",
|
||||
"post-nudge test accuracy: 0.8767189822949047\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"dt.tree_ = nudged_tree\n",
|
||||
"Predict_Y = dt.predict(X)\n",
|
||||
"print(f\"post-nudge train accuracy: {accuracy_score(Y, Predict_Y)}\")\n",
|
||||
"\n",
|
||||
"Predict_Yt = dt.predict(Xt)\n",
|
||||
"print(f\"post-nudge test accuracy: {accuracy_score(Yt, Predict_Yt)}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "d336971a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -141,7 +253,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 9,
|
||||
"id": "7f36344d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -163,13 +275,13 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 10,
|
||||
"id": "cf8832b9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAHlkAAB4nCAYAAACvQuxAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3UEBACAQgDC1f+ezhTzcEtCAPTOzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjt1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CeTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQMFkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASJssAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDCZBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiYLAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGGyDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEyWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhMkyAAAAAAAAAAAAAAAAAAAAAAAAAAALine truncated
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAHlkAAB4nCAYAAACvQuxAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3UERACAMwDDAv+dxmKCfxEAldM/MLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgM/O7yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBjsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEibLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwmQZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABImCwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJk2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBhsgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRMlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgITJMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDBZBgAAAAAAAAAAAAAAAAAAAAAAAAALine truncated
|
||||
"text/plain": [
|
||||
"<Figure size 10000x10000 with 1 Axes>"
|
||||
]
|
||||
@@ -182,11 +294,19 @@
|
||||
"fig = plt.figure(figsize=(100,100))\n",
|
||||
"_ = plot_tree(dt, filled=True)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ad2a735b-517f-49c6-80cb-a431f2788133",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "switch",
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -200,7 +320,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.7"
|
||||
"version": "3.12.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "switch",
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -103,7 +103,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.7"
|
||||
"version": "3.12.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
+2
-2
@@ -241,7 +241,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "switch",
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -255,7 +255,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.7"
|
||||
"version": "3.12.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
+8
-8
@@ -117,8 +117,8 @@
|
||||
"[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
|
||||
"id mapping: \n",
|
||||
"[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n",
|
||||
"TCAM bits: 13312\n",
|
||||
"RAM bits: 522\n"
|
||||
"TCAM bits: 13184\n",
|
||||
"RAM bits: 504\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -263,8 +263,8 @@
|
||||
"[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
|
||||
"id mapping: \n",
|
||||
"[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n",
|
||||
"TCAM bits: 3520\n",
|
||||
"RAM bits: 522\n"
|
||||
"TCAM bits: 3320\n",
|
||||
"RAM bits: 504\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -368,8 +368,8 @@
|
||||
"[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
|
||||
"id mapping: \n",
|
||||
"[['dst_range', 'dst_meta'], ['src_range', 'src_meta'], ['protocl_range', 'protocl_meta'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]\n",
|
||||
"TCAM bits: 2120\n",
|
||||
"RAM bits: 522\n"
|
||||
"TCAM bits: 2152\n",
|
||||
"RAM bits: 504\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -382,7 +382,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "switch",
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -396,7 +396,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.7"
|
||||
"version": "3.12.9"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
Reference in new issue
Block a user