{ "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.0" } }, "nbformat": 4, "nbformat_minor": 0, "cells": [ { "cell_type": "markdown", "source": "# Learning of Joint Probability Distributions\n\nThis tutorial introduces the basics of learning joint probability distributions\nwith `jpt.trees.JPT`.\nA JPT is trained on tabular data and learns a compact tree-structured\nrepresentation of the joint distribution $P(\\mathcal{X})$ over all variables\nin the dataset.\n\nWe use the [Iris dataset](https://scikit-learn.org/stable/datasets/toy_dataset.html#iris-plants-dataset)\nthroughout this tutorial as a small, well-understood example with both numeric\nand symbolic variables.", "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Preparing the Data\n", "\n", "JPTs consume plain `pandas.DataFrame` objects.\n", "We load the Iris dataset and add the class label as a string column so that\n", "``pyjpt`` can recognise it as a symbolic variable." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "import sklearn.datasets\n", "import pandas as pd\n", "\n", "dataset = sklearn.datasets.load_iris()\n", "df = pd.DataFrame(columns=dataset.feature_names, data=dataset.data)\n", "\n", "target = dataset.target.astype(object)\n", "for idx, name in enumerate(dataset.target_names):\n", " target[target == idx] = name\n", "\n", "df['plant'] = target\n", "df.head()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:28:33.003554968Z", "start_time": "2026-03-16T20:28:32.154203436Z" } }, "outputs": [ { "data": { "text/plain": [ " sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \\\n", "0 5.1 3.5 1.4 0.2 \n", "1 4.9 3.0 1.4 0.2 \n", "2 4.7 3.2 1.3 0.2 \n", "3 4.6 3.1 1.5 0.2 \n", "4 5.0 3.6 1.4 0.2 \n", "\n", " plant \n", "0 setosa \n", "1 setosa \n", "2 setosa \n", "3 setosa \n", "4 setosa " ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)plant
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa
\n", "
" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 1 }, { "cell_type": "markdown", "source": [ "## Inferring Variables from a DataFrame\n", "\n", "`jpt.variables.infer_from_dataframe`\n", "inspects the column types of a DataFrame and automatically creates the\n", "appropriate variable type for each column:\n", "\n", "| Column dtype | Variable type |\n", "|---|---|\n", "| `float` / `int` (numeric) | `NumericVariable` |\n", "| `object` / `category` (strings) | `SymbolicVariable` |\n", "| `int` (integer domain) | `IntegerVariable` |\n", "\n", "Variables can also be defined manually; see\n", "[tutorial_variables](tutorial_variables.ipynb) for details." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "from jpt.variables import infer_from_dataframe\n", "\n", "variables = infer_from_dataframe(df)\n", "\n", "for v in variables:\n", " print(v, type(v).__name__)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:28:41.563321896Z", "start_time": "2026-03-16T20:28:41.487291245Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sepal length (cm)[SEPAL LENGTH (CM)_TYPE_N] NumericVariable\n", "sepal width (cm)[SEPAL WIDTH (CM)_TYPE_N] NumericVariable\n", "petal length (cm)[PETAL LENGTH (CM)_TYPE_N] NumericVariable\n", "petal width (cm)[PETAL WIDTH (CM)_TYPE_N] NumericVariable\n", "plant[PLANT_TYPE_S] SymbolicVariable\n" ] } ], "execution_count": 2 }, { "cell_type": "markdown", "source": [ "## Creating and Fitting a JPT\n", "\n", "A `jpt.trees.JPT` is created by\n", "passing the variable list to the constructor, and then trained by calling\n", "`fit` with the DataFrame.\n", "\n", "The most important stopping criterion is `min_samples_leaf`, which sets the\n", "minimum number of training samples required in each leaf. Larger values\n", "produce smaller, less overfit trees; smaller values allow finer partitions at\n", "the cost of higher variance. Fractional values between 0 and 1 are\n", "interpreted as a fraction of the training set size." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "from jpt.trees import JPT\n", "\n", "model = JPT(variables, min_samples_leaf=0.1)\n", "model.fit(df)\n", "model" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:28:49.720333680Z", "start_time": "2026-03-16T20:28:49.198965827Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 3 }, { "cell_type": "markdown", "source": [ "The printed tree shows the decision nodes and leaves that make up the\n", "partition. Each leaf stores an independent factorised distribution over all\n", "variables.\n", "\n", "The number of parameters (i.e. the total size of all leaf distributions) can\n", "be queried directly:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "print('Number of leaves:', len(model.leaves))\n", "print('Number of parameters:', model.number_of_parameters())" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:28:56.348193717Z", "start_time": "2026-03-16T20:28:56.275458459Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of leaves: 7\n", "Number of parameters: 206\n" ] } ], "execution_count": 4 }, { "cell_type": "markdown", "source": [ "## Effect of Hyperparameters\n", "\n", "Three hyperparameters control the tree structure:\n", "\n", "| Parameter | Effect |\n", "|---|---|\n", "| `min_samples_leaf` | Minimum samples per leaf (absolute or fraction) |\n", "| `max_depth` | Maximum tree depth |\n", "| `min_impurity_improvement` | Minimum impurity gain required to accept a split |\n", "\n", "The plot below shows how `min_samples_leaf` trades off model complexity\n", "(number of parameters) against data fit (log-likelihood on the training set)." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "min_samples_values = range(1, 51)\n", "log_likelihoods = []\n", "n_params = []\n", "\n", "for msl in min_samples_values:\n", " m = JPT(variables, min_samples_leaf=msl)\n", " m.fit(df)\n", " ll = np.sum(np.log(m.likelihood(df)))\n", " log_likelihoods.append(ll)\n", " n_params.append(m.number_of_parameters())\n", "\n", "fig, ax1 = plt.subplots()\n", "ax2 = ax1.twinx()\n", "ax1.plot(min_samples_values, log_likelihoods, color='tab:blue', label='log-likelihood')\n", "ax2.plot(min_samples_values, n_params, color='tab:orange', label='# parameters')\n", "ax1.set_xlabel('min_samples_leaf')\n", "ax1.set_ylabel('log-likelihood', color='tab:blue')\n", "ax2.set_ylabel('# parameters', color='tab:orange')\n", "fig.legend(loc='upper right', bbox_to_anchor=(0.9, 0.85))\n", "plt.title('Model complexity vs. data fit')\n", "plt.tight_layout()\n", "plt.show()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:29:38.231691042Z", "start_time": "2026-03-16T20:29:01.397765478Z" } }, "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAlYtJREFUeJzs3Xd4U9X/B/B3RpPuBZ1Qyi4bZFpQdgGVoSKgogIqMhw4EMRV8KfiBBT4orKRpQKi7L2EWrGsQqGs0paOlNKdtpnn90dpILalaTrS8X49z+exuffck3NTMB/OPUMCQICIiIiIajyprRtARERERBWDiR0RERFRLcHEjoiIiKiWYGJHREREVEswsSMiIiKqJZjYEREREdUSTOyIiIiIagkmdkRERES1BBM7IiIiolqCiR1RNSeEQGhoaJmvCwwMhBAC48aNq4RW2V6fPn0ghECfPn0q7T0OHTqEQ4cOVVr91VFoaCiEqF4bEslkMnz55ZeIi4uDwWDA77//DsD6vxtEtRkTOyILjBs3DkIICCHQq1evYsvExcVBCIFt27ZVceuoqvj5+SE0NBQdO3a0dVOqpSlTplTKPyRefPFFzJgxA5s2bcK4ceMwf/78YssFBwcjNDQUbm5uFd4GoppCbusGENUkeXl5ePbZZ3H8+HGz43369EFAQADy8/Nt1DKqDIMGDTJ77e/vj9mzZ+PGjRs4e/asjVpVfU2dOhWpqalYvXp1hdbbv39/3Lx5E2+//bbZcXt7e+j1etPrnj17Yvbs2Vi1ahUyMzMrtA1ENQV77IjKYOfOnRg1ahRkMpnZ8WeffRb//vsvkpOTbdQyqgw6nQ46nc7WzajzvL29kZGRUeS4RqOBwWCo+gYRVWNM7IjKYMOGDahXrx5CQkJMx+zs7PDUU09h/fr1xV7j6OiIb775BnFxccjPz8elS5fwzjvvFCmnUCgwb948pKSkICsrC3/88QcaNGhQbJ3+/v5Yvnw5kpOTkZ+fj/Pnz2PChAlW35ebmxvmzZuHmJgY5OfnIz4+HqtXr0a9evVMZby8vLBs2TIkJycjLy8PZ86cwQsvvGBWT+G4vnfeeQdTp07FtWvXoFarsWfPHjRs2BAA8OGHHyI+Ph65ubnYunUrPDw8zOqIiYnBtm3bEBISgtOnTyMvLw8XLlzAE088YdG9dO/eHbt27UJGRgbUajUOHz6Mnj17ms63atUKubm5RXqVevXqBb1ejy+++MJ07N4xdn369MG///4LAFi1apXp0fy4ceMwe/ZsaLVa1K9fv0h7fvzxR6Snp0OpVBbb3nfeeQdCCDRq1KjIuc8//xwajQbu7u4AgObNm2PTpk1ISkpCXl4e4uPjsWHDBri6ulr02fxXr1698M8//yAvLw9Xr17FK6+8Umy58ePH48CBA1CpVMjPz8eFCxcwefJkszIxMTFo164d+vbta/psCj87Dw8PfP311zh37hyys7ORmZmJnTt3okOHDvdtX+Gfp/79+6Ndu3amegvHVd47xi40NBTffPMNAODGjRumsoGBgVZ9NkQ1mWAwGPePcePGCSGE6NKli/jrr7/E6tWrTeeGDx8u9Hq98PPzEzExMWLbtm1m1+7fv18YDAbx008/ialTp4o//vhDCCHEvHnzzMqtWbNGCCHE2rVrxdSpU8WmTZvEmTNnhBBChIaGmsp5e3uLuLg4ERsbKz788EMxadIksXXrViGEENOmTTOVCwwMFEIIMW7cuPvem5OTkzh37pzQ6XTixx9/FJMmTRIffPCBCA8PFx07dhQAhL29vbhw4YLQaDTi22+/Fa+99po4cuSIEEKIN954o8h7njp1Spw/f168+eab4pNPPhH5+fnixIkT4tNPPxV//fWXeO2118SCBQuEwWAQy5cvN2tPTEyMuHTpkkhLSxOff/65ePPNN8XZs2eFXq8XAwcONJXr06ePEEKIPn36mI7169dP5Ofni+PHj4u33npLTJs2TZw5c0bk5+eLbt26mcq98847Qgghhg0bJgAIR0dHceXKFXH+/HmhUChM5Q4dOiQOHTpk+tw//PBDIYQQP/zwgxg7dqwYO3asaNKkiWjWrJkQQohXX33V7F7s7OzE7du3xbJly0r8/AMCAoTBYBDTp08vcu7q1aumP092dnbi2rVr4ubNm+L9998XL774ovjoo49EeHi4aNSoUZn/TLdr106o1Wpx48YNMXPmTPHBBx+IpKQk05+5e8uGh4eLFStWiGnTpolXX31V7N69WwghxNSpU01lRowYIeLi4kRUVJTpsyn8fXXp0kVcuXJFfP7552LixIniww8/FPHx8SI9PV34+fmV2EZHR0cxduxYERUVJeLi4kz1ent7CwBmfzfat28v1q1bZ/p7UFjW0dHR5v//YDCqOGze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" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 5 }, { "cell_type": "markdown", "source": [ "As expected, fewer samples per leaf means more leaves and more parameters,\n", "which increases the log-likelihood on the training data. In practice a value\n", "of 1\u201310 % of the dataset size is a good starting point.\n", "\n", "`min_impurity_improvement` enforces a minimum information-gain threshold\n", "before accepting a split and is a complementary regularisation knob:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "thresholds = [i * 0.05 for i in range(1, 21)]\n", "log_likelihoods_ii = []\n", "n_params_ii = []\n", "\n", "for thresh in thresholds:\n", " m = JPT(variables, min_impurity_improvement=thresh)\n", " m.fit(df)\n", " ll = np.sum(np.log(m.likelihood(df)))\n", " log_likelihoods_ii.append(ll)\n", " n_params_ii.append(m.number_of_parameters())\n", "\n", "fig, ax1 = plt.subplots()\n", "ax2 = ax1.twinx()\n", "ax1.plot(thresholds, log_likelihoods_ii, color='tab:blue', label='log-likelihood')\n", "ax2.plot(thresholds, n_params_ii, color='tab:orange', label='# parameters')\n", "ax1.set_xlabel('min_impurity_improvement')\n", "ax1.set_ylabel('log-likelihood', color='tab:blue')\n", "ax2.set_ylabel('# parameters', color='tab:orange')\n", "fig.legend(loc='upper right', bbox_to_anchor=(0.9, 0.85))\n", "plt.title('Impurity threshold vs. data fit')\n", "plt.tight_layout()\n", "plt.show()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:30:05.227449098Z", "start_time": "2026-03-16T20:29:48.439789162Z" } }, "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnb9JREFUeJzs3Xd4FNX6wPHv9vQKaRBC770akCq9iIqCCl5ARbGiF0ERFbD+1HtBLyA2qqCIgNJ7EUREpIZeDDWNkL5Jtp7fH4HVSIAQApuE9/M870Myc2bmnc2SfXNm5hwNoBBCCCGEEKWe1t0JCCGEEEKI4iGFnRBCCCFEGSGFnRBCCCFEGSGFnRBCCCFEGSGFnRBCCCFEGSGFnRBCCCFEGSGFnRBCCCFEGSGFnRBCCCFEGSGFnRBCCCFEGSGFnRBl0ODBg1FKERUV5bYcNm3aRExMjNuO/0+3Ih+lFOPGjbtuu3HjxqFU6ZrkZ+bMmcTGxro7jXy8vb356quviI+PRynFpEmTiIqKQinF4MGD3Z2eECWCFHZC/MPloqhZs2buTqVYPfPMM8X+4RceHs64ceNo1KhRse5XlG5jxoyhb9++xb7f119/nSFDhjBt2jQGDRrEN998U2C7Hj16FKrgFqIsksJOiDLom2++wcPDg9OnT7uWPfvsswwZMqRYjxMREcH48eNp3Lhxse5XlG6vv/469913X7Hvt1OnTvz222+8/fbbzJs3j927d3P69Gk8PDzyFXk9e/Zk/PjxxX58IUoDKeyEKEO8vLwAcDqdWCwWN2dTdCaTCY1G4+40RAkTEhJCWlraFcstFgtOp/P2JyRECSSFnRCFMHPmTDIzM4mMjGTZsmVkZmZy7tw5nn32WQDq16/Phg0byMrK4tSpUzzyyCP5tr98ebdt27Z8/vnnJCcnk56ezuzZswkICMjX9mr3bcXGxjJz5swr9tmuXTumTp1KYmIi586dy7fu8j12sbGx1K9fnw4dOqCUQinFpk2bqFKlCkopXnrppSuOFx0djVKKhx9+uMDXpH379vzxxx8AzJo1y7Xff17urVOnDhs3bsRsNnPu3DlGjRp1xX6UUgwYMIB33nmHc+fOkZ2djZ+fHwAtW7Zk1apVpKWlYTab2bx5M61bt863Dx8fHyZNmkRsbCy5ubkkJiaydu1amjRpckXe18sHoHz58nz99dckJCSQk5PD3r17+de//lXg6/BPbdq04ffffycnJ4cTJ07w1FNPFWq7yZMnk5mZiaen5xXrvv32W+Lj49Fq835lN2vWjNWrV3PhwgWys7P5888/mT59eqGOU5C+ffsSExNDTk4OMTExV+1tGzlyJNu2bSM5OZns7Gz++OMP+vXrl6+NUgofHx+GDBniek9cft9WqlSJqVOncuTIEbKzs0lOTmbBggXXvRf08nukatWq9O7d27XfqKioK+6xmzlzJs8//7wrl8shxJ1C7+4EhCgtdDodq1atYsuWLYwePZqBAwcydepUzGYz7733HvPmzWPx4sUMHz6cOXPmsH37dk6dOpVvH1OmTCEtLY3x48dTq1YtnnnmGaKioujQoUOR8/rss8+4cOECb7/9Nt7e3gW2eemll5g8eTJZWVm89957ACQmJhIbG8svv/zCwIED+eSTT/JtM3DgQDIyMliyZEmB+zx8+DBvvvkm77zzDl988QVbt24F4Ndff3W1CQwMZPXq1SxevJgFCxbw4IMP8tFHHxETE8Pq1avz7e/NN9/EarXyn//8B5PJhNVqpWPHjqxatYpdu3YxYcIEnE4nQ4cOZePGjbRt25adO3cC8Pnnn/Pggw8yZcoUDh06RHBwMHfffTd16tRhz549N5SPh4cHmzdvpnr16kyZMoXY2FgeeughVxH+v//976o/i/r167N27VouXLjA+PHj0ev1TJgwgcTExKtuc9n333/P888/T69evVi4cKFruaenJ3369GHWrFk4nU7Kly/vOsb//d//kZaWRuXKlXnggQeue4yCdOnShUWLFnHo0CHGjBlDcHAwM2fOdP2R8HcjRoxg6dKlzJs3D6PRyMMPP8zChQvp1asXK1euBGDQoEF8/fXX/P7773z55ZcAnDx5EoAWLVrQunVr5s+fz7lz56hcuTLPPPMMmzdvpm7duuTk5BSY4+HDhxk0aBCTJk3i3Llz/Pe//wXgwoULlC9fPl/bL774goiICLp27cqgQYOK9JoIUdopCQmJv2Lw4MFKKaWaNWvmWjZz5kyllFKvvfaaa5m/v78ym83K4XCo/v37u5bXrFlTKaXUuHHjrtjnzp07lV6vdy1/5ZVXlFJK9enTx7Xsn9tejtjYWDVz5swr9rllyxal1WoLPIeoqCjXspiYGLVp06Yr9jts2DCllFK1atVyLdPr9Sop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w6UpxgY11JO5dxUgl2OFEEKUHFLYCXEDvrk8xVhDI+YDG1B2K6aw6hjDarg5MyFEaTJ06FDuv/9+d6chyiAp7IS4AT8etpFlVVQP0tIq2Iz5SN4wBL5Nero5MyGEEEIKOyFuiNkGiw9f6rVrZCBr70oAvOq0RWvydmdqQgghbkBERATffPMNycnJZGdns3//fpo1a5avzYQJE4iLiyM7O5t169ZRvXr1fOsDAwOZO3cu6enppKam8vXXX+Pt7d7PAinshLhBly/HDqhnQCUcwZoUi9bggXf9Tm7OTIjSRSkFgF4vY+WLm6PX69FoNK731PUEBASwbds2bDYbPXr0oG7duowcOZLU1FRXm9GjR/Piiy8yfPhwWrVqhdlsZs2aNZhMJlebefPmUa9ePbp06ULv3r1p164dX375ZbGf341y+6O5JT1kuBOJv4dWgzr3so9S4/zU/bX1yqdJTxX16nIV/sRnbs9NQqI0hbe3t5ozZ47q1auX23ORKN1x7733qt9++01Vq1atUO0/+OADtWXLlmu2iYuLUyNHjnR97+fnp3JyctSAAQMUoGrXrq2UUqpZs2auNt26dVMOh0OFh4e77bWQP5OEuEFOBfNibIxuY+KxhgZ++mkTgR2GYixXCVNkfSxnD7g7RSFKBbPZzObNm+nfvz8AR44ckTlAxQ3R6/XUrl2b/v37ExkZSU5OTqG2u/fee1mzZg0LFiygffv2nD9/ns8++4yvv/4agCpVqhAeHs769etd22RkZLBjxw6io6P5/vvviY6OJjU1lV27drnarF+/HqfTSatWrYplUOiicGth17ZtW0aNGkWzZs2IiIjgvvvuY8mSJXmJ6fW8++679OzZk6pVq5Kens769et57bXX8k0aHBsbS+XKlfPt97XXXuPDDz90fd+gQQOmTp1KixYtuHDhApMnT+bjjz++LecoyqY5+/IKu1419QTqsjAf2oxv4x74Nu4hhZ0QN2DmzJkADBgwwM2ZiNJs586dPProo/j4+ODr6+tabrFYsFqtV7SvWrUqzzzzDBMnTuT999+nRYsW/O9//8NqtTJnzhzCwsIASExMzLddYmKia11YWBhJSUn51jscDlJSUlxt3MGthZ23tzf79u1jxowZ/Pjjj/nWeXl50bRpU9555x327dtHYGAgn376KUuXLqVFixb52r755pt89dVXru8z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" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 6 }, { "cell_type": "markdown", "source": [ "## Generative vs. Discriminative Learning\n", "\n", "By default a JPT learns the **full joint distribution** $P(\\mathcal{X})$ over\n", "all variables (*generative* mode). This is useful when any variable may play\n", "the role of a query or evidence variable at inference time.\n", "\n", "When the task is specifically to predict a set of **target variables** $Y$\n", "from feature variables $X = \\mathcal{X} \\setminus Y$, *discriminative* mode\n", "optimises the tree splits with respect to $Y$ only. This concentrates the\n", "model's representational capacity on predicting $Y$ and typically yields\n", "better conditional predictions at the cost of a less accurate model of $X$.\n", "\n", "Discriminative mode is activated by passing a `targets` list to the\n", "constructor:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "# Discriminative JPT: splits optimised for predicting 'plant'\n", "varnames = {v.name: v for v in variables}\n", "\n", "disc_model = JPT(\n", " variables,\n", " targets=[varnames['plant']],\n", " min_samples_leaf=0.1\n", ")\n", "disc_model.fit(df)\n", "disc_model" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:30:20.291031031Z", "start_time": "2026-03-16T20:30:19.637253605Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 7 }, { "cell_type": "markdown", "source": [ "## Saving and Loading a Model\n", "\n", "A trained model can be persisted to disk and reloaded later without\n", "re-running the training." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "source": [ "import tempfile, os\n", "\n", "# Save\n", "tmp = tempfile.mktemp(suffix='.json')\n", "model.save(tmp)\n", "print('Saved to', tmp)\n", "\n", "# Load\n", "loaded_model = JPT.load(tmp)\n", "print('Loaded:', loaded_model)\n", "\n", "os.remove(tmp)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2026-03-16T20:30:37.604308922Z", "start_time": "2026-03-16T20:30:37.545864974Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saved to /tmp/tmp0he4m98k.json\n", "Loaded: JPT#innernodes = 6, #leaves = 7 (13 total)\n" ] } ], "execution_count": 8 }, { "cell_type": "markdown", "source": [ "The loaded model is identical to the original and can be used for inference\n", "without any further setup. See\n", "[tutorial_reasoning](tutorial_reasoning.ipynb) for how to query a trained\n", "model." ], "metadata": { "collapsed": false } } ] }