mirror of
https://github.com/ltcptgeneral/IdealRMT-DecisionTrees.git
synced 2025-09-06 23:37:23 +00:00
replace classes with class string instead of index
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -38,14 +38,14 @@
|
|||||||
"i = 0\n",
|
"i = 0\n",
|
||||||
"\n",
|
"\n",
|
||||||
"path_ids = set()\n",
|
"path_ids = set()\n",
|
||||||
"path_classes = set()\n",
|
"path_classes = tree[\"classes\"]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"# for each path in the tree\n",
|
"# for each path in the tree\n",
|
||||||
"for path in paths:\n",
|
"for path in paths:\n",
|
||||||
"\t# assign a path id \n",
|
"\t# assign a path id \n",
|
||||||
"\tpath[\"id\"] = i\n",
|
"\tpath[\"id\"] = i\n",
|
||||||
"\tpath_ids.add(i)\n",
|
"\tpath_ids.add(i)\n",
|
||||||
"\tpath_classes.add(path[\"classification\"])\n",
|
"\t#path_classes.add(path[\"classification\"])\n",
|
||||||
"\ti += 1\t\n",
|
"\ti += 1\t\n",
|
||||||
"\t# for each condition\n",
|
"\t# for each condition\n",
|
||||||
"\tconditions = path[\"conditions\"]\n",
|
"\tconditions = path[\"conditions\"]\n",
|
||||||
@@ -86,41 +86,7 @@
|
|||||||
"execution_count": 5,
|
"execution_count": 5,
|
||||||
"id": "98cde024",
|
"id": "98cde024",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"{'dst': {'min': None, 'max': 578}, 'src': {'min': None, 'max': 60}, 'protocl': {'min': None, 'max': 0}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': None, 'max': 60}, 'protocl': {'min': None, 'max': 0}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': None, 'max': 60}, 'protocl': {'min': 0, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': None, 'max': 60}, 'protocl': {'min': 1, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': None, 'max': 67}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 101}, 'src': {'min': 67, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 101}, 'src': {'min': 54978, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 101}, 'src': {'min': 59817, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 101}, 'src': {'min': 60043, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': 67, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': 130, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': None, 'max': 3031}, 'src': {'min': 1223, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 3031, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 3067, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 5110, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 33925, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 46329, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 46331, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 49152, 'max': None}, 'src': {'min': None, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 49157, 'max': None}, 'src': {'min': None, 'max': 283}, 'protocl': {'min': None, 'max': 11}}\n",
|
|
||||||
"{'dst': {'min': 49157, 'max': None}, 'src': {'min': None, 'max': 283}, 'protocl': {'min': 11, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 49157, 'max': None}, 'src': {'min': None, 'max': 4566}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 56320, 'max': None}, 'src': {'min': None, 'max': 4566}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 49157, 'max': None}, 'src': {'min': 4566, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 51848, 'max': None}, 'src': {'min': 4566, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 49157, 'max': None}, 'src': {'min': 5225, 'max': None}, 'protocl': {'min': None, 'max': None}}\n",
|
|
||||||
"{'dst': {'min': 53283, 'max': None}, 'src': {'min': 5225, 'max': None}, 'protocl': {'min': None, 'max': None}}\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"# collapse all paths to ranges for each feature\n",
|
"# collapse all paths to ranges for each feature\n",
|
||||||
"# because of how decision trees work, all conditions on a path must be true to reach the leaf node\n",
|
"# because of how decision trees work, all conditions on a path must be true to reach the leaf node\n",
|
||||||
@@ -152,8 +118,7 @@
|
|||||||
"\t\telif operation == \">\" and value > compressed[feature][\"max\"]:\n",
|
"\t\telif operation == \">\" and value > compressed[feature][\"max\"]:\n",
|
||||||
"\t\t\tcompressed[feature][\"min\"] = value\n",
|
"\t\t\tcompressed[feature][\"min\"] = value\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\tpath[\"compressed\"] = compressed\n",
|
"\tpath[\"compressed\"] = compressed"
|
||||||
"\tprint(compressed)"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user