{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "iNKIKhreq7iC" }, "source": [ "# 4. Deep Neural Networks for VLE prediction 🌐\n", "\n", "\"Open\n", "\n", "This Notebook was based on the work of [Damien van de Berg](https://dv516.github.io/) with modifications from our side. " ] }, { "cell_type": "markdown", "metadata": { "id": "751Vv2OwrdpJ" }, "source": [ "## Goals of this exercise 🌟" ] }, { "cell_type": "markdown", "metadata": { "id": "_uQrFwTQre1M" }, "source": [ "* We will observe the effect of considering physics when builiding ML models for chemical engineering\n", "* We will learn how to train Deep Neural Networks using [PyTorch](https://pytorch.org/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A quick reminder ✅\n", "\n", "Artificial neural networks (ANNs) are computing systems that have trainable parameters and that (most of the times) use non-linear functions (a.k.a activation functions) to perform mathematical transformations on data. The trainable parameters are adjusted by optimizating a loss function using the [backpropagation algorithm](https://www.youtube.com/watch?v=Ilg3gGewQ5U&t=26s). Typically, we can categorize the architecture of feed-forward neural networks into: input layer, hidden layer(s) and output layer. If an ANN has more than 1 hidden-layer we call it a deep neural network giving rise to the deep learning area. However, arguably, the main difference between \"traditional\" machine learning and deep learning is that the latter aims for retriving appropriate input features directly from the data while the former does the feature extraction as a pre-step.\n", "\n", "It is tempting to think about ANNs as little cyber-brains that are misterious and powerful. However, remember that they are just parametrized non-linear models! Because of this parametrization and the power of [automatic differenciation](https://en.wikipedia.org/wiki/Automatic_differentiation), ANNs are extremely flexible and powerful. Here, we will use them to develop a general model that predicts [vapor pressure](https://en.wikipedia.org/wiki/Vapor_pressure). \n" ] }, { "cell_type": "markdown", "metadata": { "id": "cSRpXRPg0VNm" }, "source": [ "## Modeling the phase envelope of CO$_2$ 🛫\n", "\n", "The data that we are going to use is taken from {cite}`haynes2016crc` and {cite}`speight2017lange` and corresponds to the vapor-liquid equilibria of CO$_2$. Heat of vaporizaion and vapor and liquid densities are also provided.\n", "\n", "As usual, let's import some libraries and read the data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "wh5F6M5H3NP_" }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from tqdm.notebook import tqdm" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "KRegj2k63R7U" }, "outputs": [ { "data": { "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", "
T [C]P_vap [kPa]H_vap [J/g]rho_vap [g/cm3]rho_liq [g/cm3]
0-56.6518.3NaNNaN1.179
1-56.0531.8NaNNaN1.177
2-54.0579.1NaNNaN1.169
3-52.0629.6NaNNaN1.162
4-50.0683.4NaNNaN1.155
\n", "
" ], "text/plain": [ " T [C] P_vap [kPa] H_vap [J/g] rho_vap [g/cm3] rho_liq [g/cm3]\n", "0 -56.6 518.3 NaN NaN 1.179\n", "1 -56.0 531.8 NaN NaN 1.177\n", "2 -54.0 579.1 NaN NaN 1.169\n", "3 -52.0 629.6 NaN NaN 1.162\n", "4 -50.0 683.4 NaN NaN 1.155" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "if 'google.colab' in str(get_ipython()):\n", " df = pd.read_csv(\"https://raw.githubusercontent.com/edgarsmdn/MLCE_book/main/references/CO2_data.csv\")\n", "else:\n", " df = pd.read_csv(\"references/CO2_data.csv\")\n", "\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get some statistics" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
T [C]P_vap [kPa]H_vap [J/g]rho_vap [g/cm3]rho_liq [g/cm3]
count72.00000072.00000057.00000057.00000072.000000
mean-7.6969443318.288889208.7475440.1321680.924410
std24.9778662016.72151170.3143760.0930780.159318
min-56.600000518.3000000.0000000.0384600.464100
25%-25.8375001672.000000169.1000000.0631400.831700
50%-6.1150002954.500000227.3000000.1013000.941800
75%13.0575004830.750000264.5000000.1717001.021725
max31.1000007391.000000292.9000000.4641001.179000
\n", "
" ], "text/plain": [ " T [C] P_vap [kPa] H_vap [J/g] rho_vap [g/cm3] rho_liq [g/cm3]\n", "count 72.000000 72.000000 57.000000 57.000000 72.000000\n", "mean -7.696944 3318.288889 208.747544 0.132168 0.924410\n", "std 24.977866 2016.721511 70.314376 0.093078 0.159318\n", "min -56.600000 518.300000 0.000000 0.038460 0.464100\n", "25% -25.837500 1672.000000 169.100000 0.063140 0.831700\n", "50% -6.115000 2954.500000 227.300000 0.101300 0.941800\n", "75% 13.057500 4830.750000 264.500000 0.171700 1.021725\n", "max 31.100000 7391.000000 292.900000 0.464100 1.179000" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "markdown", "metadata": { "id": "uISiPw5xxtqx" }, "source": [ "Look at the counts of each property, it becomes evident that some values are missing. Let's remove those rows. Also, look at the minimum value of the enthalpy of vaporization, it is zero! This correspond to the [critical point](https://en.wikipedia.org/wiki/Critical_point_(thermodynamics))." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "O9pKMyaGYbqA" }, "outputs": [], "source": [ "df = df[(df['H_vap [J/g]'].notna() & df['rho_vap [g/cm3]'].notna())]" ] }, { "cell_type": "markdown", "metadata": { "id": "EGjy9MnjknIB" }, "source": [ "and we plot the data" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 363 }, "id": "ABNMQNzxe-u3", "outputId": "a891507f-d053-4b5b-9b52-094ad0b70877" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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TgREAAC4EE0X3QM5RAAAuBBNF90DAREAAC5C00X3QUAEAICL0HTRfbg8IPr55581ePBgNWjQQHXq1FH79u319ddf2/YbhqGpU6eqUaNGqlOnjnr37q1Dhw7ZHePUqVMaNGiQzGazwsLCNGLECJ05c8ZuzHfffac77rhDtWvXVnR0tGbPnl0j5wcAQHlouug+XBoQ/frrr+revbsCAgK0Zs0aHThwQHPmzNF1111nGzN79my9/vrrWrRokXbs2KG6desqLi5OFy5csI0ZNGiQ9u/fr/Xr12v16tX66quvNHLkSNt+q9WqPn36qHnz5tq9e7dee+01TZ8+Xe+8806Nni8AAKXRdNF9mAzjsgeXNeiFF17Q1q1b9a9//avM/YZhqHHjxho/frwmTJggScrLy1NkZKSSkpL0yCOP6Pvvv1dsbKx27dqlzp07S5LWrl2r3/3udzp+/LgaN26st956S3/605+UlZWlwMBA23d/+umnOnjwoENztVqtCg0NVV5ensxmsxPOHgAAKe9coUYv20OVWTVx9Pe3S+8Qff755+rcubMefvhhRURE6JZbbtHf/vY32/6jR48qKytLvXv3tm0LDQ3VbbfdppSUFElSSkqKwsLCbMGQJPXu3Vt+fn7asWOHbUyPHj1swZAkxcXFKS0tTb/++muZc8vPz5fVarV7AQDgbCVNFzdNuEuLH79VmybcpQ9GdCEYqmEuDYiOHDmit956S61bt9a6dev01FNP6dlnn9X7778vScrKypIkRUZG2n0uMjLSti8rK0sRERF2+2vVqqX69evbjSnrGKW/43IzZ85UaGio7RUdHV3FswUA+LIjJ85oU1pOuZVjMQ3rqmebCB6TuYhLGzMWFxerc+fOevXVVyVJt9xyi/bt26dFixZp2LBhrpyaJk+erHHjxtneW61WgiIAQKXReNEzuPQOUaNGjRQbG2u3rV27dkpPT5ckRUVFSZKys7PtxmRnZ9v2RUVFKScnx27/xYsXderUKbsxZR2j9HdcLigoSGaz2e4FAEBl0XjRM7g0IOrevbvS0tLstv3www9q3ry5JCkmJkZRUVHasGGDbb/VatWOHTtksVgkSRaLRbm5udq9e7dtzMaNG1VcXKzbbrvNNuarr75SYWGhbcz69evVpk0bu4o2AACcicaLnsOlAdHYsWO1fft2vfrqqzp8+LCWLl2q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HMe1qhyul+Ncea0Mw9Dp06fVuHFj+fmVnynEHSIH+fn5qWnTptf8ebPZzP9hHMS1chzXynFcK8dxrSqH6+U4V12rq90ZKkFSNQAA8HkERAAAwOcREFWzoKAgTZs2TUFBQa6eitvjWjmOa+U4rpXjuFaVw/VynCdcK5KqAQCAz+MOEQAA8HkERAAAwOcREAEAAJ9HQAQAAHweAVE1uv/++9WsWTPVrl1bjRo10pAhQ5SRkWE35rvvvtMdd9yh2rVrKzo6WrNnz3bRbF3nxx9/1IgRIxQTE6M6deroN7/5jaZNm6aCggK7cVyrS2bMmKFu3bopODhYYWFhZY5JT09XfHy8goODFRERoYkTJ+rixYs1O1E38eabb6pFixaqXbu2brvtNu3cudPVU3K5r776Svfdd58aN24sk8mkTz/91G6/YRiaOnWqGjVqpDp16qh37946dOiQaybrYjNnztStt96qevXqKSIiQv369VNaWprdmAsXLigxMVENGjRQSEiIEhISlJ2d7aIZu85bb72lDh062JovWiwWrVmzxrbf3a8TAVE16tmzp5YvX660tDR9/PHH+s9//qOHHnrItt9qtapPnz5q3ry5du/erddee03Tp0/XO++848JZ17yDBw+quLhYb7/9tvbv36+5c+dq0aJF+uMf/2gbw7X6r4KCAj388MN66qmnytxfVFSk+Ph4FRQUaNu2bXr//feVlJSkqVOn1vBMXe+jjz7SuHHjNG3aNH3zzTe66aabFBcXp5ycHFdPzaXOnj2rm266SW+++WaZ+2fPnq3XX39dixYt0o4dO1S3bl3FxcXpwoULNTxT19uyZYsSExO1fft2rV+/XoWFherTp4/Onj1rGzN27FitWrVKK1as0JYtW5SRkaH+/fu7cNau0bRpU82aNUu7d+/W119/rbvvvlsPPPCA9u/fL8kDrpOBGvPZZ58ZJpPJKCgoMAzDMBYuXGhcd911Rn5+vm3MpEmTjDZt2rhqim5j9uzZRkxMjO091+pKixcvNkJDQ6/Y/s9//tPw8/MzsrKybNveeustw2w2210/X9ClSxcjMTHR9r6oqMho3LixMXPmTBfOyr1IMlauXGl7X1xcbERFRRmvvfaabVtubq4RFBRkLFu2zAUzdC85OTmGJGPLli2GYVy6NgEBAcaKFStsY77//ntDkpGSkuKqabqN6667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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot.scatter(x='T [C]', y='P_vap [kPa]')\n", "\n", "T_critical = df[df['H_vap [J/g]'] == 0]['T [C]'].values\n", "P_critical = df[df['H_vap [J/g]'] == 0]['P_vap [kPa]'].values\n", "\n", "plt.plot(T_critical, P_critical, 'rx', label='Critical point')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now plot the [enthalpy of vaporization](https://en.wikipedia.org/wiki/Enthalpy_of_vaporization) which is the amount of energy that certain amount of liquid needs to be transformed into a vapor." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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tcf58vJyvxUHAEA4aGodHom1eEKBz1PPn332Wb3yyiuaMGGCKioqlJ+fr3HjxikqKkrPPPNMAEoEACB8Pbpyt7YUn/Q4tqX4pGas3GVSRZHH57CzfPly/dd//ZeeeOIJtWvXThMnTtTbb7+tuXPnauvWrYGoEQCAsMRaPKHB57DjdDrVv39/SVJiYqIqKiokSXfeeaf+8Ic/+Lc6AADCmDdr8SDwfA47Xbt21fHjxyVJV111lT799FNJ0o4dO9hcEwCAS7AWT2jwOezcc889KigokCTNmDFDTz31lHr37q1Jkybp5z//ud8LBAAgXNWvxRNts3kcj7bZNKx3GrOygqTN6+xs3bpVn3/+uXr37q277rrLX3UFFevsAAAChbV4Asfb72+fw8758+fVvn37NhcYSgg7AIBA82YtHvgmYLuep6ena/LkyVq/fr3q6uraVCQAAJEiOzVBw/ukN7vo4IaiE8zQCgCfFxV87733tGLFCo0ZM0Z2u10TJkzQz372M91www2BqA8AAEtj0cHAa9UA5Q8++EClpaV64YUXtH//ft100026+uqr9dxzzwWiRgAALItFBwPP57BTLykpSQ8++KA+/fRT7dmzRwkJCXr22Wf9WRsAAJbGooPB0eqwc/78eb3//vsaO3asfvCDH6i8vFwzZ870Z20AAFgaiw4Gh89jdj755BOtWLFCH374odq1a6d7771Xn376qYYNGxaI+gAAsCwWHQwOn8POPffcozvvvFPLli3THXfcoZgYBk8BANAa9YsObik+6dGVFW2zaWivVKao+4nP3VilpaV6//33NWbMmGaDzvz583X69Om21AYAgOUtmjhQQ3ulehwb2itViyYONKki62nzCspNSU5O1u7du9WzZ89AvL1fsaggAMBsLDroO2+/v33uxvJWgDIUAACWlJ1KyAmUgIUdAADgPwfLzupI+TlaflqBsAMAQAhjheW2a/U6OwAAIPBYYbntCDsAAIQoVlj2j4CFnVtvvVUdOnQI1NsDAGB5rLDsH16P2XG5XF5dVz/1649//GPrKgIAAJJYYdlfvA47HTt2lM1ma/K8YRiy2Wyqra31S2EAAEQ6Vlj2D6/DzoYNG9x/NgxDd9xxh95++21deeWVASkMAABcXGF5xspdHrOxWGHZN61eQTkpKUl/+ctfwmKF5JawgjIAINSxwnJDpq+g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G2+8oQEDBrgXDnQ4HPr444/d50P9PhF2Wmn48OF6//33VVRUpP/5n//RN998o3vvvdd93uVyaeTIkerevbt27typF198Uc8884zeeustE6sOvq+//lp1dXV68803tW/fPr366qtasmSJfv3rX7uv4V59r7q6Wj/+8Y81bdq0Rs/X1tZq9OjRqq6u1ueff6733ntP7777rubOnRvkSs33u9/9Tvn5+Xr66af15Zdf6rrrrlNubq5OnDhhdmmmqqys1HXXXafFixc3en7BggX6zW9+oyVLlmjbtm1KSEhQbm6uzp8/H+RKzbdp0ybl5eVp69atWr9+vWpqajRy5EhVVla6r3n88cf10Ucf6YMPPtCmTZt07NgxjRs3zsSqzdG1a1fNnz9fO3fu1BdffKHbbrtNY8aM0b59+ySFwX0y4Bdr1qwxbDabUV1dbRiGYbz++uvGFVdcYVRVVbmvmTVrltGnTx+zSgwZCxYsMLKzs93PuVcNLV261LDb7Q2O//GPfzSioqIMp9PpPvbGG28YycnJHvcvEgwePNjIy8tzP6+trTW6dOlizJs3z8SqQoskY/Xq1e7ndXV1RmZmpvHiiy+6j50+fdqIi4szVq5caUKFoeXEiROGJGPTpk2GYVy8NzExMcYHH3zgvuavf/2rIckoLCw0q8yQccUVVxhvv/12WNwnWnb8oLy8XMuXL9fNN9+smJgYSVJhYaGGDRum2NhY93W5ubkqKirS3//+d7NKDQkVFRVKSUlxP+deea+wsFD9+/dXRkaG+1hubq5cLpf7N6xIUF1drZ07dyonJ8d9LCoqSjk5OSosLDSxstB26NAhOZ1Oj/tmt9s1ZMgQ7psu/t8kyf3/086dO1VTU+Nxv/r27atu3bpF9P2qra3VqlWrVFlZKYfDERb3ibDTBrNmzVJCQoI6deqkkpISrVmzxn3O6XR6fCFJcj93Op1BrTOUFBcXa9GiRfrFL37hPsa98h736qKTJ0+qtra20XsRSffBV/X3hvvWUF1dnR577DENHTpU1157raSL9ys2NrbB+LlIvV979+5VYmKi4uLiNHXqVK1evVr9+vULi/tE2LnEk08+KZvN1uzj66+/dl8/c+ZM7dq1S59++qmio6M1adIkGRGyILWv90qSvvvuO91+++368Y9/rIceesikyoOvNfcKQHDl5eXpq6++0qpVq8wuJWT16dNHu3fv1rZt2zRt2jRNnjxZ+/fvN7ssr7Qzu4BQ8sQTT+iBBx5o9pqePXu6/5yamqrU1FRdffXVuuaaa5SVlaWtW7fK4XAoMzOzwUj0+ueZmZl+rz3YfL1Xx44d0/Dhw3XzzTc3GHjMvfK8V83JzMxsMOPISvfKW6mpqYqOjm70700k3Qdf1d+b0tJSde7c2X28tLRU119/vUlVmW/69Olau3atNm/erK5du7qPZ2Zmqrq6WqdPn/ZotYjUv2exsbHq1auXJGnQoEHasWOHXnvtNU2YMCHk7xNh5xJpaWlKS0tr1Wvr6uokSVVVVZIkh8Ohf/u3f1NNTY17HM/69evVp08fXXHFFf4p2ES+3KvvvvtOw4cP16BBg7R06VJFRXk2KHKvvOdwOPT888/rxIkTSk9Pl3TxXiUnJ6tfv35++RnhIDY2VoMGDVJBQYHGjh0r6eK/wYKCAk2fPt3c4kJYdna2MjMzVVBQ4A43LpfL/Zt6pDEMQzNmzNDq1au1ceNGZWdne5wfNGiQYmJiVFBQoPHjx0uSioqKVFJSIofDYUbJIaWurk5VVVXhcZ/MHiEdjrZu3WosWrTI2LVrl3H48GGjoKDAuPnmm42rrrrKOH/+vGEYF0fxZ2RkGPfff7/x1VdfGatWrTLi4+ONN9980+Tqg+vbb781evXqZYwYMcL49ttvjePHj7sf9bhX3zty5Iixa9cu49lnnzUSExONXbt2Gbt27TLOnDljGIZhXLhwwbj22muNkSNHGrt37zbWrVtnpKWlGbNnzza58uBbtWqVERcXZ7z77rvG/v37jYcfftjo2LGjx0y1SHTmzBn33xtJxiuvvGLs2rXLOHLkiGEYhjF//nyjY8eOxpo1a4w9e/YYY8aMMbKzs41//OMfJlcefNOmTTPsdruxceNGj/+bzp07575m6tSpRrdu3YzPPvvM+OKLLwyHw2E4HA4TqzbHk08+aWzatMk4dOiQsWfPHuPJJ580bDab8emnnxqGEfr3ibDTCnv27DGGDx9upKSkGHFxcUaPHj2MqVOnGt9++63HdX/5y1+MW265xYiLizOuvPJKY/78+SZVbJ6lS5cakhp9XIp7ddHkyZMbvVcbNmxwX3P48GFj1KhRRocOHYzU1FTjiSeeMGpqaswr2kSLFi0yunXrZsTGxhqDBw82tm7danZJptuwYUOjf4cmT55sGMbF6edPPfWUkZGRYcTFxRkjRowwioqKzC3aJE3937R06VL3Nf/4xz+MRx55xLjiiiuM+Ph445577vH4ZS1S/PznPze6d+9uxMbGGmlpacaIESPcQccwQv8+2QwjQkbUAgCAiMRsLAAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQCW1KNHD/eu8qdPn/bptc8884z7tQsXLgxIfQCCh7ADIKTVh46mHs8880yTr33uued0/Phx2e129zHDMPTWW29pyJAhSkxMVMeOHXXDDTdo4cKFOnfunCTpl7/8pY4fP+6xAzaA8MWu5wBC2vHjx91//t3vfqe5c+eqqKjIfSwxMbHJ1yYlJSkzM9Pj2P3336/f//73mjNnjv7zP/9TaWlp+stf/qKFCxeqR48eGjt2rBITE5WYmKjo6Gj/fyAAQUfYARDSLg0rdrtdNputQYDx1vvvv6/ly5frww8/1JgxY9zHe/Toobvvvlsul6vN9QIIPXRjAYgYy5cvV58+fTyCTj2bzebR3QXAOgg7ACLGgQMH1KdPH7PLABBkhB0AEcMwDLNLAGACwg6AiHH11Vfr66+/NrsMAEFG2AEQMX7605/qb3/7m9asWdPgnGEYqqioMKEqAIFG2AEQMf75n/9ZEyZM0MSJE/XCCy/oiy++0JEjR7R27Vrl5ORow4YNZpcIIACYeg4gYthsNq1YsUJvvfWWfvvb3+r5559Xu3bt1Lt3b02aNEm5ublmlwggAAg7AMLGAw88oAceeKBN7xEVFaWpU6dq6tSp/ikKQMijGwuAZc2aNUuJiYk+j8V54YUXlJiYqJKSkgBVBiCYbAZzMQFY0JEjR1RTUyNJ6tmzp6KivP/drry8XOXl5ZKktLQ0FhsEwhxhBwAAWBrdWAAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNL+H4tdTdrqz3tOAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot.scatter(x='T [C]', y='H_vap [J/g]')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this we can clearly see that the maximum temperature in the dataset correspond to the [critical point](https://en.wikipedia.org/wiki/Critical_point_(thermodynamics)) (i.e., when the enthalpy of vaporization is zero)! As we have discovered before.\n", "\n", "Let's quickly fit a linear model as a baseline..." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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6ilGjRpF//79OXLkSJaDoYwmTU/8+2/KFimSZrJ0ChO35glpBZlI3pXpgOjll19m9erVREZGMnXqVE6cOEGTJk146KGHUq3sEhGxpuTkZD799FPq1avH+fPn2bt3L//73/8yTMZ6N/faduP2QEgryETypyyPd5UsWRI/Pz+2bdvGsWPHKFGiBO+++252tk1EJEv+/vtvWrduzaBBg+jRowfHjh2jefPmWa7Pkm03Lt28yaSqVbUPmUg+lflkG/+Ji4tj/fr1rFixgi1btuDq6sqoUaOys20iIpliGIY5k36ZMmXYsWMHrVq1uu96LZ00/aCDg/YhE8mnMh0Qbd26lRUrVrB27VqKFClCp06d2LZtG08++WROtE9ExCJnzpyhV69ebN26lV69evHRRx9lKUVGeqvIMrPthlaQieRPmQ6IXn75Zdq1a8eXX37J888/n+VEZiIi2cEwDL788kuGDBlCiRIl+PHHH3nuueeyVFdGq8j+V6OGtt0QKeAyPYcoMjKSVatW0b59+7sGQ9OnT0+zS72ISHY6f/487du3x9fXlxdffJHg4OD7CoYyWkX22okTdC5fHtCkaZGCKtMBUcmSJS0qN3XqVC5fvpzpBomI3IthGKxcuZJHHnmEAwcOsHbtWr788ktKZ3Go6l6ryAC+uXCBVZ6emjQtUkBleVL1vdznjiAiIumKioqif//+fPfdd7z66qvMnTuXcuXK3VedlqwiOx0fT7miRTVpWqSAyrGASEQku/3www/06dOH5ORkvv32W1599dVMXZ/RHmKZ2XpDk6ZFCiYFRCKS512+fJnBgwezfPly2rdvz4IFC3Bzc8tUHRlNmJ7j4ZGpVWQiUjBpIzIRydN+/PFHHnnkETZt2sRXX33FDz/8kKVgKKMJ051CQohKTKSyvb223hApxBQQiUieFBMTQ48ePWjbti3169cnODiYN954A1Mm5+tYMmF6xJ9/MqtGDUCryEQKqxwLiJo3b56lPYNERLZv306dOnX47rvvWLRoEZs2baJSpUpZqiszE6a/q11bq8hECimL5xAlJyczc+ZM1q9fT0JCAq1atWLixIkZBj0//vhjtjVSRAqHa9euMWrUKBYsWECrVq344osvqFq16n3VmZkJ051dXWlfrpxWkYkUQhYHRO+//z6TJk2idevWFC9enDlz5nDhwgUWL16ck+0TkUJi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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "Ts = df['T [C]'].to_numpy().reshape(-1,1)\n", "Ps = df['P_vap [kPa]'].to_numpy().reshape(-1,1)\n", "\n", "linear_regression = LinearRegression().fit(Ts, Ps)\n", "\n", "x_pred = np.linspace(min(Ts), max(Ts), 100)\n", "y_pred = linear_regression.predict(x_pred)\n", "R2 = linear_regression.score(Ts, Ps)\n", "\n", "plt.figure()\n", "plt.plot(Ts, Ps, 'co')\n", "plt.plot(x_pred, y_pred,'k', linewidth=1, label='Linear model')\n", "plt.plot(T_critical, P_critical, 'rx', label='Critical point')\n", "plt.text(-25, 5500, 'R$^2 = $' + str(np.round(R2, 3)))\n", "plt.xlabel('T [C]')\n", "plt.ylabel('P_vap [kPa]')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Well, the fit is not very good. But, we have knowledge of a useful relationship between vapor pressure and temperature for single components: the [Clausius–Clapeyron equation](https://en.wikipedia.org/wiki/Clausius%E2%80%93Clapeyron_relation)\n", "\n", "$$\n", "\\ln P = - \\frac{\\hat{h}_{vap}}{R_sT} + c \n", "$$\n", "\n", "where $\\hat{h}_{vap}$ is the approximated specific enthalpy of vaporization, $R_s$ is the [specific gas constant](https://en.wikipedia.org/wiki/Gas_constant#Specific_gas_constant) and $c$ is a constant. In this equation $T$ is used in the absolute scale. Notice that this relationship assumes that the enthalpy of vaporization is constant over temperature, which we have observed not to be entirely true. Let's use this relationship and fit a linear model..." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ln_P = np.log(Ps)\n", "inv_T = 1/(Ts + 273.15)\n", "\n", "linear_regression = LinearRegression().fit(inv_T, ln_P)\n", "\n", "x_pred = np.linspace(min(inv_T), max(inv_T), 100)\n", "y_pred = linear_regression.predict(x_pred)\n", "R2 = linear_regression.score(inv_T, ln_P)\n", "\n", "\n", "plt.figure()\n", "plt.plot(inv_T, ln_P, 'co')\n", "plt.plot(x_pred, y_pred,'k', linewidth=1, label='Linear model')\n", "plt.text(0.004, 8.7, 'R$^2 = $' + str(np.round(R2, 3)))\n", "plt.xlabel('inverse of T [1/C]')\n", "plt.ylabel('natural logarithm of P_vap [ln kPa]')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A valuable lesson to take from this very simple example\n", "\n", "```{important} \n", "Do not by-pass the mechanistic knowledge! \n", "```\n", "\n", "However, even when the Clasius-Clapeyron equation shown above gives us a very useful relationship between vapor pressure and temperature, this relationship can only be used to approximate the enthalpy of vaporization. This is because the enthalpy of vaporization depends on temperature. Let's observe this..." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Hvaps = df['H_vap [J/g]'].to_numpy().reshape(-1,1)\n", "\n", "# Change units of Hvap\n", "mw_CO2 = 44.01 # g/mol\n", "Hvaps = Hvaps * mw_CO2\n", "\n", "ln_P = np.log(Ps)\n", "neg_hvap_T = - Hvaps/(Ts + 273.15)\n", "\n", "linear_regression = LinearRegression().fit(neg_hvap_T, ln_P)\n", "\n", "x_pred = np.linspace(min(neg_hvap_T), max(neg_hvap_T), 100)\n", "y_pred = linear_regression.predict(x_pred)\n", "R2 = linear_regression.score(neg_hvap_T, ln_P)\n", "\n", "\n", "plt.figure()\n", "plt.plot(neg_hvap_T, ln_P, 'co')\n", "plt.plot(x_pred, y_pred,'k', linewidth=1, label='Linear model')\n", "plt.text(-10, 8, 'R$^2 = $' + str(np.round(R2, 3)))\n", "plt.xlabel('H_vap/T_sat [J/mol K]')\n", "plt.ylabel('natural logarithm of P_vap [ln kPa]')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modeling the phase envelope of other compounds 🧪\n", "\n", "As you can see, the relationship between vapor pressure and temperature is somehow easy to tackle. Even a linear model returns a pretty good approximation of it (combined with the knowledge of the Clasius-Clapeyron equation). A non-linear regression would also take care of the dependency of the enthalpy of vaporization with temperature.\n", "\n", "Now, a more realistic problem would be to approximate the phase envelope of other compounds for which we do not have any experimental data. This can be seen as doing an extrapolation in the chemical space...\n", "\n", "Can we develope a decent model for this task using deep neural networks?\n", "\n", "Let's first get the data\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NameCAS-RNFormulaSMILESTPvapKDB_IDClassSubclass
0METHANE74-82-8CH4C90.67000011.7020991Paraffinic Hydrocarbonsn-Alkanes
1METHANE74-82-8CH4C94.11517217.8869991Paraffinic Hydrocarbonsn-Alkanes
2METHANE74-82-8CH4C97.56034526.4895351Paraffinic Hydrocarbonsn-Alkanes
3METHANE74-82-8CH4C101.00551738.1370511Paraffinic Hydrocarbonsn-Alkanes
4METHANE74-82-8CH4C104.45069053.5341901Paraffinic Hydrocarbonsn-Alkanes
\n", "
" ], "text/plain": [ " Name CAS-RN Formula SMILES T Pvap KDB_ID \\\n", "0 METHANE 74-82-8 CH4 C 90.670000 11.702099 1 \n", "1 METHANE 74-82-8 CH4 C 94.115172 17.886999 1 \n", "2 METHANE 74-82-8 CH4 C 97.560345 26.489535 1 \n", "3 METHANE 74-82-8 CH4 C 101.005517 38.137051 1 \n", "4 METHANE 74-82-8 CH4 C 104.450690 53.534190 1 \n", "\n", " Class Subclass \n", "0 Paraffinic Hydrocarbons n-Alkanes \n", "1 Paraffinic Hydrocarbons n-Alkanes \n", "2 Paraffinic Hydrocarbons n-Alkanes \n", "3 Paraffinic Hydrocarbons n-Alkanes \n", "4 Paraffinic Hydrocarbons n-Alkanes " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "if 'google.colab' in str(get_ipython()):\n", " df = pd.read_csv(\"https://raw.githubusercontent.com/edgarsmdn/MLCE_book/main/references/Vapor_pressures.csv\")\n", "else:\n", " df = pd.read_csv(\"references/Vapor_pressures.csv\")\n", "\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This dataset contains the vapor pressures of various compounds. It has been collected from the [Korean Data Bank](https://www.cheric.org/research/kdb/). As you can see above, several identifiers are available for the compounds (e.g., name, formula, SMILES). The temperature in the dataset is given in Kelvin and the vapor presures on kPa.\n", "\n", "Here, we will use the SMILES representation of molecules to get some input features to train our models. You can read more about SMILES [elsewhere](https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system), what it is important to know for now is that SMILES is a string representation of a molecule! We can use this representation to get some molecular descriptors that will serve as input features to our models.\n", "\n", "Here, we will use a popular vectorial representation of a molecule in cheminformatics known as molecular fingerprint. Of course, there are many types of molecular fingerprints. But, again, you can learn more about this [elsewhere](https://www.rdkit.org/docs/GettingStartedInPython.html#fingerprinting-and-molecular-similarity).\n", "\n", "We will use here [datamol](https://datamol.io/) to get some molecular objects and fingerprints. Feel free to learn more about it on your own! This is a library that is not installed by default in Colab. Therefore, if you are using Colab, simply run the cell below, otherwise follow the installation instructions given in their [website](https://datamol.io/)." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "if 'google.colab' in str(get_ipython()):\n", " !pip install rdkit\n", " !pip install datamol" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n", "[17:17:07] WARNING: not removing hydrogen atom without neighbors\n" ] } ], "source": [ "import datamol as dm\n", "\n", "def get_fp(mol, fp_type='topological'):\n", " return dm.to_fp(mol, fp_type=fp_type)\n", "\n", "df['Mol'] = df['SMILES'].apply(dm.to_mol)\n", "df['Fingerprint'] = df['Mol'].apply(get_fp)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'maccs': ,\n", " 'ecfp': ,\n", " 'topological': ,\n", " 'atompair': ,\n", " 'rdkit': ,\n", " 'pattern': ,\n", " 'layered': ,\n", " 'erg': ,\n", " 'estate': (x, **args)>,\n", " 'avalon-count': ,\n", " 'rdkit-count': ,\n", " 'ecfp-count': ,\n", " 'fcfp-count': ,\n", " 'topological-count': ,\n", " 'atompair-count': }" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dm.list_supported_fingerprints()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do not worry about the warning above. I appears for the hydrogen molecule (with SMILES `[HH]`). \n", "\n", "Now, we have a vectorial representation of each molecule: a fingerprint! Each fingerprint is an array of 2048 bit elements in which 1 denotes the presence of certain molecular substructure and 0 denotes the abscense of it.\n", "\n", "Okay, now let's go a bit deeper into our [Exploratory Data Analysis](https://en.wikipedia.org/wiki/Exploratory_data_analysis). \n", "\n", "How many chemical compounds are considered in our dataset?" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1391" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Name'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How many chemical classes?" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "17" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Class'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about subclasses?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "53" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Subclass'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " What are distributions of the covered temperatures and vapor pressures?" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 9.444444444444459, 'Temperature [K]')" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+UklEQVR4nOzdd3wUdf7H8dfM7qZ3QhISUgCR3qSJ2OFARM+Ceioqep54CjY82+8Uy3nHieJh4SznKd4JYkdFpSuI9NBbKAIJhCSEkGx62Z3fH5E9IyCCSSbl/Xw85rHZmc/uvgfHZPez3/mOYVmWhYiIiIiIiIiISD0y7Q4gIiIiIiIiIiLNj5pSIiIiIiIiIiJS79SUEhERERERERGReqemlIiIiIiIiIiI1Ds1pUREREREREREpN6pKSUiIiIiIiIiIvVOTSkREREREREREal3akqJiIiIiIiIiEi9U1NKRERERERERETqnZpSv4BlWbjdbizLsjuKiIiIiIiIiEiTYGtTavHixVx66aXEx8djGAYzZ848bu0f//hHDMNg8uTJNdbn5eUxcuRIwsLCiIiI4NZbb6WoqKhGzYYNGzjnnHMICAggMTGRiRMnnlTOwsJCwsPDKSwsPKnHiYiIiIiIiIjIsdnalCouLqZHjx5MmTLlZ+s++eQTli9fTnx8/FHbRo4cyebNm5k3bx6zZs1i8eLFjB492rfd7XYzZMgQkpOTSU1N5dlnn+WJJ57g9ddfr/X9ERERERERERGRX8Zp54sPGzaMYcOG/WzN/v37ueuuu5gzZw7Dhw+vsW3r1q3Mnj2bVatW0adPHwBeeuklLr74Yp577jni4+OZNm0aFRUVvPnmm/j5+dGlSxfWrVvH888/X6N5JSIiIiIiIiIi9adBzynl9Xq58cYbeeCBB+jSpctR25ctW0ZERISvIQUwePBgTNNkxYoVvppzzz0XPz8/X83QoUNJS0vj8OHDx3zd8vJy3G53jUVERERERERERGpPg25KPfPMMzidTu6+++5jbs/KyiImJqbGOqfTSVRUFFlZWb6a2NjYGjVH7h+p+akJEyYQHh7uWxITE3/troiIiIiIiIiIyI802KZUamoqL7zwAlOnTsUwjHp97UceeYSCggLfkpGRUa+vLyIiIiIiIiLS1DXYptS3335LTk4OSUlJOJ1OnE4ne/fu5f777yclJQWAuLg4cnJyajyuqqqKvLw84uLifDXZ2dk1ao7cP1LzU/7+/oSFhdVYRERERERERESk9jTYptSNN97Ihg0bWLdunW+Jj4/ngQceYM6cOQAMGDCA/Px8UlNTfY9buHAhXq+X/v37+2oWL15MZWWlr2bevHl06NCByMjI+t0pEREREREREREBbL76XlFRETt37vTd3717N+vWrSMqKoqkpCRatGhRo97lchEXF0eHDh0A6NSpExdddBG33XYbr776KpWVlYwdO5Zrr72W+Ph4AK6//nqefPJJbr31Vh566CE2bdrECy+8wD/+8Y/621EREREREREREanB1qbU6tWrueCCC3z3x40bB8CoUaOYOnXqL3qOadOmMXbsWAYNGoRpmowYMYIXX3zRtz08PJy5c+cyZswYevfuTXR0NOPHj2f06NG1ui8iIiIiIiIiIvLLGZZlWXaHaOjcbjfh4eEUFBRofikRERERERERkVrQYOeUEhERERERERGRpktNKRERERERERERqXdqSomIiIiIiIiISL1TU0pEREREREREROqdmlIiIiIiIiIiIlLv1JQSEZFmJyk5BdM0f3ZJSk6xO6aIiIiISJPmtDuAiIhIfduXkc6kOdt+tub+oR3rKY2IiIiISPOkkVIiIiIiIiIiIlLv1JQSEREREREREZF6p6aUiIiIiIiIiIjUOzWlRERERERERESk3qkpJSIiAliWhWVZdscQEREREWk2dPU9ERFpFrxei715JWzOLCD8nBuZvTmL0goPpRUeSiqrKK3w4LXAYRo4TYP4O6dy7sSvaRHiR/uYENrHhHJabAjtY0KIDw/ENA0AkpJT2JeRfsLXb52YRPrePXW8lyIiIiIijYdh6WvhE3K73YSHh1NQUEBYWJjdcURE5Bcor/Kw4vs8Fm0/yPqMfLYecFNc4amV5/aUuCnbnUrprpWUfL+GSZ+vOeFj7h/aEa/XWyuvLyIiIiLSFGiklIiINHi/eDRS+65M/O8sFm7LYcnOXEp+0oTyd5p0bBXGks/fZdhVNxLk5yDQz0Ggq/rWYRh4vBZVXotnbr+Me17+mKLyKvKKK3zL4ZIKCAojuMsFBHe5AMvr4cPUfbRtGUynVmEEuhx19c8gIiIiItKkqCklIiIN3r6MdCbN2XbMbZZlsfdQCRv2F/B9jpuHP97o21ZVdIiy71MpS99A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/tbUqVOtLVu2WKNHj7YiIiJqXMlJpKG44447rPDwcOubb76xDhw44FtKSkp8NX/84x+tpKQka+HChdbq1autAQMGWAMGDPBtr6qqsrp27WoNGTLEWrdunTV79myrZcuW1iOPPGLHLonU8OOr71mWjmdpXFauXGk5nU7rr3/9q7Vjxw5r2rRpVlBQkPXOO+/4av7+979bERER1qeffmpt2LDBuuyyy6w2bdpYpaWlvpqLLrrI6tWrl7VixQpryZIlVvv27a3rrrvOjl2SZm7UqFFWQkKCNWvWLGv37t3Wxx9/bEVHR1sPPvigr0bHtDR0hYWF1tq1a621a9dagPX8889ba9eutfbu3WtZVu0cw/n5+VZsbKx14403Wps2bbJmzJhhBQUFWa+99lq97680PWpKNQMvvfSSlZSUZPn5+Vn9+vWzli9fbnckkWMCjrm89dZbvprS0lLrzjvvtCIjI62goCDriiuusA4cOFDjefbs2WMNGzbMCgwMtKKjo63777/fqqysrOe9ETnaT5tSOp6lsfn888+trl27Wv7+/lbHjh2t119/vcZ2r9drPfbYY1ZsbKzl7+9vDRo0yEpLS6tRc+jQIeu6666zQkJCrLCwMOuWW26xCgsL63M3RCzLsiy3223dc889VlJSkhUQEGC1bdvW+vOf/1zjsvc6pqWh+/rrr4/5/nnUqFGWZdXeMbx+/Xrr7LPPtvz9/a2EhATr73//e33tojRxhmVZlj1jtEREREREREREpLnSnFIiIiIiIiIiIlLv1JQSEREREREREZF6p6aUiIiIiIiIiIjUOzWlRERERERERESk3qkpJSIiIiIiIiIi9U5NKRERERERERERqXdqSomIiIiIiIiISL1TU0pEREREatU333yDYRgYhsHll19+Uo+9+eabfY+dOXNmneQTERGRhkFNKREREWnSjjQ4jrc88cQTdkesdSkpKUyePNnuGKSlpTF16lTf/ZtvvvmoJtWHH35IQEAAkyZNAuCFF17gwIED9ZhSRERE7OK0O4CIiIhIXfpxg+O9995j/PjxpKWl+daFhITYEeukWZaFx+PB6ay/t28VFRX4+fmd8uNjYmKIiIg47vY33niDMWPG8Oqrr3LLLbcAEB4eTnh4+Cm/poiIiDQeGiklIiIiTVpcXJxvCQ8PxzCMGutmzJhBp06dCAgIoGPHjvzz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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "sns.displot(df, kde=True, x='T', legend=True, height=4, aspect=3)\n", "plt.xlabel('Temperature [K]')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 9.444444444444459, 'Vapor Pressure [kPa]')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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aAZSkpScnKwXXnhBR44cUUREhLKzszVhwgSv909OTq7zOOHJKioqVFFRYa673e7zPmcAAAAAAIBLxTn99r1p06Zp4MCByszM1MGDB3XkyBGv5UIoKCiQJEVHR3ttj46ONscKCgoUFRXlNe7v76/mzZt71ZzqGCe/x+lqasdPZfr06XK5XObSqlWrsz1FAAAAAACAS9Y53Sk1b948paen6957773Q/TQakyZN8rq7yu12E0wBAAAAAADU0zndKVVZWanrr7/+QvfiJSYmRpJUWFjotb2wsNAci4mJ0YEDB7zGq6urdfjwYa+aUx3j5Pc4XU3t+KkEBgbK6XR6LQAAAAAAAKifcwqlHnjgAb333nsXuhcvbdu2VUxMjDIzM81tbrdb69evV2JioiQpMTFRxcXF2rhxo1mzcuVKeTweJSQkmDVr1qxRVVWVWZORkaGOHTsqIiLCrDn5fWprat8HAAAAAAAAF9Y5Pb53/PhxzZ8/XytWrFC3bt0UEBDgNT5nzpx6Hae0tFS7du0y1/Py8pSTk6PmzZurdevWGjdunP77v/9bHTp0UNu2bfXMM88oLi7O/A19nTt31qBBgzRy5EjNmzdPVVVVGjt2rIYOHaq4uDhJ0t13361p06YpLS1NEydOVG5url5++WW9+OKL5vs++uijuummmzR79mylpKTo/fff14YNGzR//vxz+XgAAAAAAADwM84plNqyZYt69OghScrNzfUas9ls9T7Ohg0b1L9/f3O9do6mESNGKD09XU8++aTKyso0atQoFRcX6xe/+IWWLVumoKAgc593331XY8eO1YABA2S323XnnXfqD3/4gznucrn06aefasyYMerdu7datmypKVOmaNSoUWbN9ddfr/fee0+TJ0/Wf/3Xf6lDhw5avHixunbtelafCwAAAAAAAOrHZhiG4esmmgK32y2Xy6WSkpJGPb9UUVGR5mXtliSN7tdekZGRPu4IAAAAAAA0Rec0pxQAAAAAAABwPs7p8b3+/fuf8TG9lStXnnNDAAAAAAAAaPrOKZSqnU+qVlVVlXJycpSbm6sRI0ZciL4AAAAAAADQhJ1TKHXyb6472dSpU1VaWnpeDQEAAAAAAKDpu6BzSt1zzz166623LuQhAQAAAAAA0ARd0FAqOztbQUFBF/KQAAAAAAAAaILO6fG9X/3qV17rhmEoPz9fGzZs0DPPPHNBGgMAAAAAAEDTdU6hlMvl8lq32+3q2LGjnnvuOQ0cOPCCNAYAAAAAAICm65xCqQULFlzoPgAAAAAAAHAJOadQqtbGjRu1bds2SdLVV1+tnj17XpCmAAAAAAAA0LSdUyh14MABDR06VFlZWQoPD5ckFRcXq3///nr//fcVGRl5IXsEAAAAAABAE3NOv33v4Ycf1tGjR7V161YdPnxYhw8fVm5urtxutx555JEL3SMAAAAAAACamHO6U2rZsmVasWKFOnfubG7r0qWL5s6dy0TnAAAAAAAA+FnndKeUx+NRQEBAne0BAQHyeDzn3RQAAAAAAACatnMKpW6++WY9+uij+uGHH8xt33//vcaPH68BAwZcsOYAAAAAAADQNJ1TKPXqq6/K7XbriiuuUPv27dW+fXu1bdtWbrdbr7zyyoXuEQAAAAAAAE3MOc0p1apVK3311VdasWKFtm/fLknq3LmzkpKSLmhzAAAAAAAAaJrO6k6plStXqkuXLnK73bLZbPrlL3+phx9+WA8//LCuueYaXX311frss88uVq8AAAAAAABoIs4qlHrppZc0cuRIOZ3OOmMul0sPPvig5syZc8GaAwAAAAAAQNN0VqHU5s2bNWjQoNOODxw4UBs3bjzvpgAAAAAAANC0nVUoVVhYqICAgNOO+/v7q6io6LybAgAAAAAAQNN2VqHUZZddptzc3NOOb9myRbGxsefdFAAAAAAAAJq2swqlbrnlFj3zzDM6fvx4nbHy8nI9++yzuvXWWy9YcwAAAAAAAGia/M+mePLkyfrb3/6mq666SmPHjlXHjh0lSdu3b9fcuXNVU1Ojp59++qI0CgAAAAAAgKbjrEKp6OhorV27Vg899JAmTZokwzAkSTabTcnJyZo7d66io6MvSqMAAAAAAABoOs4qlJKkNm3aaOnSpTpy5Ih27dolwzDUoUMHRUREXIz+AAAAAAAA0ASddShVKyIiQtdcc82F7AUAAAAAAACXiLOa6BwAAAAAAAC4EAilAAAAAAAAYDlCKQAAAAAAAFiOUAoAAAAAAACWI5QCAAAAAACA5Rp8KHXFFVfIZrPVWcaMGSNJ6tevX52x0aNHex1j3759SklJUUhIiKKiovTEE0+ourraqyYrK0u9evVSYGCgrrzySqWnp1t1igAAAAAAAJccf1838HO+/PJL1dTUmOu5ubn65S9/qd/85jfmtpEjR+q5554z10NCQszXNTU1SklJUUxMjNauXav8/Hzdd999CggI0P/8z/9IkvLy8pSSkqLRo0fr3XffVWZmph544AHFxsYqOTnZgrMEAAAAAAC4tDT4UCoyMtJrfcaMGWrfvr1uuukmc1tISIhiYmJOuf+nn36qb775RitWrFB0dLR69Oih559/XhMnTtTUqVPlcDg0b948tW3bVrNnz5Ykde7cWZ9//rlefPFFQikAAAAAAICLoME/vneyyspKvfPOO/rP//xP2Ww2c/u7776rli1bqmvXrpo0aZKOHTtmjmVnZys+Pl7R0dHmtuTkZLndbm3dutWsSUpK8nqv5ORkZWdnX+QzAgAAAAAAuDQ1+DulTrZ48WIVFxfr/vvvN7fdfffdatOmjeLi4rRlyxZNnDhRO3bs0N/+9jdJUkFBgVcgJclcLygoOGON2+1WeXm5goOD6/RSUVGhiooKc93tdl+QcwQAAAAAALgUNKpQ6s0339TgwYMVFxdnbhs1apT5Oj4+XrGxsRowYIB2796t9u3bX7Repk+frmnTpl204wMAAAAAADRljebxvW+//VYrVqzQAw88cMa6hIQESdKuXbskSTExMSosLPSqqV2vnYfqdDVOp/OUd0lJ0qRJk1RSUmIu+/fvP/uTAgAAAAAAuEQ1mlBqwYIFioqKUkpKyhnrcnJyJEmxsbGSpMTERH399dc6cOCAWZORkSGn06kuXbqYNZmZmV7HycjIUGJi4mnfJzAwUE6n02sBAAAAAABA/TSKUMrj8WjBggUaMWKE/P3//cTh7t279fzzz2vjxo3au3evPvroI91333268cYb1a1bN0nSwIED1aVLF917773avHmzli9frsmTJ2vMmDEKDAyUJI0ePVp79uzRk08+qe3bt+u1117Thx9+qPHjx/vkfAEAAAAAAJq6RhFKrVixQvv27dN//ud/em13OBxasWKFBg4cqE6dOumxxx7TnXfeqY8//tis8fPz05IlS+Tn56fExETdc889uu+++/Tcc8+ZNW3bttUnn3yijIwMde/eXbNnz9Ybb7yh5ORky84RAAAAAADgUmIzDMPwdRNNgdvtlsvlUklJSaN+lK+oqEjzsnZLkkb3a6/IyEgfdwQAAAAAAJqiRnGnFAAAAAAAAJoWQikAAAAAAABYjlAKAAAAAAAAliOU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AAAAAACA5QilAAAAAAAAYDlCKQAAAAAAAFiOUAoAAAAXXb9+/WSz2WSz2ZSTkyNJysrKks1mU3Fx8UV73/vvv99838WLF1+09wEAAGePUAoAADQ6t912mwYNGnTKsc8++0w2m01btmyxuKsz27t3rxmO2Gw2tWjRQgMHDtSmTZt83ZplRo4cqfz8fHXt2rXe+5z8mblcLt1www1auXJlvfd/+eWXlZ+ffy7tAgCAi4xQCgAANDppaWnKyMjQd999V2dswYIF6tOnj7p16+aDzqSamhp5PJ7Tjq9YsUL5+flavny5SktLNXjw4NPeKVRVVXWRujx359NTSEiIYmJi5O/vf1b7LViwQPn5+friiy/UsmVL3XrrrdqzZ0+99nW5XIqJiTmXdgEAwEVGKAUAABqdW2+9VZGRkUpPT/faXlpaqoULFyotLU2HDh3SsGHDdNlllykkJETx8fH685//7FXfr18/jR07VmPHjpXL5VLLli31zDPPyDAMs+bIkSO67777FBERoZCQEA0ePFg7d+40x9PT0xUeHq6PPvpIXbp0UWBgoPbt23fa3lu0aKGYmBj16dNHv//971VYWKj169ebd1J98MEHuummmxQUFKR3331XkvTGG2+oc+fOCgoKUqdOnfTaa6+Zx6usrNTYsWMVGxuroKAgtWnTRtOnT5ckGYahqVOnqnXr1goMDFRcXJweeeQRc99TPdIWHh5ufq7n2tO5OnbsmAYPHqwbbrjBK6gLDw9XTEyMunbtqtdff13l5eXKyMio19cYAAA0XGf3v6kAAAAaAH9/f913331KT0/X008/LZvNJklauHChampqNGzYMJWWlqp3796aOHGinE6nPvnkE917771q3769rr32WvNYb7/9ttLS0vTPf/5TGzZs0KhRo9S6dWuNHDlS0ok5iXbu3KmPPvpITqdTEydO1C233KJvvvlGAQEBkk6EKS+88ILeeOMNtWjRQlFRUfU6j+DgYEkngqVaTz31lGbPnq2ePXuaIdCUKVP06quvqmfPntq0aZNGjhypZs2aacSIEfrDH/6gjz76SB9++KFat26t/fv3a//+/ZKkv/71r3rxxRf1/vvv6+qrr1ZBQYE2b9581p/32fZ0LoqLi5WSkqLQ0FBlZGQoJCTklHUnf2bHjx+v19cYAAA0UAYAAEAjtG3bNkOSsWrVKnNb3759jXvuuee0+6SkpBiPPfaYuX7TTTcZnTt3Njwej7lt4sSJRufOnQ3DMIx//etfhiTjiy++MMcPHjxoBAcHGx9++KFhGIaxYMECQ5KRk5Nzxn7z8vIMScamTZsMwzCMI0eOGHfccYcRGhpqFBQUmOMvvfSS137t27c33nvvPa9tzz//vJGYmGgYhmE8/PDDxs033+x1DrVmz55tXHXVVUZlZeUpe5JkLFq0yGuby+UyFixY4NXz2fZ0KjfddJPx6KOPem1btWqVIcnYtm2b0a1bN+POO+80KioqTttjWVmZ8bvf/c7w8/MzNm/efMr3+enX+EznCgAAfIvH9wAAQKPUqVMnXX/99XrrrbckSbt27dJnn32mtLQ0SSfmdnr++ecVHx+v5s2bKzQ0VMuXL6/zaN11111n3mklSYmJidq5c6dqamq0bds2+fv7KyEhwRxv0aKFOnbsqG3btpnbHA5Hveewuv766xUaGqqIiAht3rxZH3zwgaKjo83xPn36mK/Lysq0e/dupaWlKTQ01Fz++7//W7t375Z04k6unJwcdezYUY888og+/fRTc//f/OY3Ki8vV7t27TRy5EgtWrRI1dXV9erzZGfb09n65S9/qSuvvFIffPCBHA5HnfFhw4YpNDRUYWFh+utf/6o333xT3bp1q/fXGAAANEw8vgcAABqttLQ0Pfzww5o7d64WLFig9u3b66abbpIkzZo1Sy+//LJeeuklxcfHq1mzZho3bpzXo3IXSnBwsFewdSYffPCBunTpohYtWig8PLzOeLNmzczXpaWlkqT//d//9QrGJMnPz0+S1KtXL+Xl5ekf//iHVqxYobvuuktJSUn6y1/+olatWmnHjh1asWKFMjIy9Lvf/U6zZs3S6tWrFRAQIJvN5jV/lnTqiczPtqezlZKSor/+9a/65ptvFB8fX2f8xRdfVFJSklwulyIjI83tVn6NAQDAhUcoBQAAGq277rpLjz76qN577z396U9/0kMPPWSGQ1988YVuv/123XPPPZIkj8ejf/3rX+rSpYvXMdavX++1vm7dOnXo0EF+fn7q3LmzqqurtX79el1//fWSpEOHDmnHjh11jlNfrVq1Uvv27etVGx0drbi4OO3Zs0fDhw8/bZ3T6dSQIUM0ZMgQ/frXv9agQYN0+PBhNW/eXMHBwbrtttt02223acyYMerUqZO+/vpr9erVS5GRkcrPzzePs3PnTh07duyC9HQ2ZsyYodDQUA0YMEBZWVl1PtuYmBhdeeWVdfar79cYAAA0TIRSAACg0QoNDdWQIUM0adIkud1u3X///eZYhw4d9Je//EVr165VRESE5syZo8LCwjqBxb59+zRhwgQ9+OCD+uqrr/TKK69o9uzZ5jFuv/12jRw5Un/84x8VFhamp556Spdddpluv/12S85x2rRpeuSRR+RyuTRo0CBVVFRow4YNOnLkiCZMmKA5c+YoNjZWPXv2lN1u18KFCxUTE2P+Fr2amholJCQoJCRE77zzjoKDg9WmTRtJ0s0336xXX31ViYmJqqmp0cSJE83J28+np3Px+9//XjU1Nbr55puVlZWlTp06/ew+9f0aAwCAhok5pQAAQKOWlpamI0eOKDk5WXFxceb2yZMnq1evXkpOTla/fv0UExOj1NTUOvvfd999Ki8v17XXXqsxY8bo0Ucf1ahRo8zxBQsWqHfv3rr11luVmJgowzC0dOnSeoU3F8IDDzygN954QwsWLFB8fLxuuukmpaenq23btpKksLAwzZw5U3369NE111yjvXv3aunSpbLb7QoPD9f//u//6oYbblC3bt20YsUKffzxx2rRooUkafbs2WrVqpX69u2ru+++W48//vhpf+vd2fR0rl588UXddddduvnmm/Wvf/3rZ+vr+zUGAAANk8346UQCAAAAl4h+/fqpR48eeumll3zdSpPn68/aZrNp0aJFhFYAADQg3CkFAAAAS7z22msKDQ3V119/bdl7jh49WqGhoZa9HwAAqD/ulAIAAJcsX9+9cyn5/vvvVV5eLklq3bq1HA6HJe974MABud1uSVJsbKzXbxIEAAC+RSgFAAAAAAAAy/H4HgAAAAAAACxHKAUAAAAAAADLEUoBAAAAAADAcoRSAAAAAAAAsByhFAAAAAAAACxHKAUAAAAAAADLEUoBAAAAAADAcoRSAAAAAAAAsByhFAAAAAAAACz3/wFWxLalT9TzsQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.displot(df, kde=True, x='Pvap', legend=True, height=4, aspect=3)\n", "plt.xlabel('Vapor Pressure [kPa]')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interesting distribution for the vapor pressure, isn't it? We have a huge range of vapor pressures in our dataset. It would make sense to scale the data using a logarithmic function. Also, do you remember the Clasius-Clapeyron equation? The vapor pressure is given in logarithmic units! So, let's go ahead and scale our data according to the Clasius-Clapeyron form." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "df['ln_P'] = np.log(df['Pvap'])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 9.444444444444459, 'ln Pvap')" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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36x58+YpKytL999/v6ZOnUpY2UykpaVpw4YNGjlypKKiopSWlqZ77rlHv/rVr/gPGc3I9OnTNWnSJA0cOFCDBw/W/PnzVVJSol//+tdmlwaT/PGPf9RVV12l9u3b6/Dhw3rwwQdls9l00003mV0aAqi4uLjG6Lj09HRt3bpV8fHxateune6++2498sgjOu+889SxY0fNmjVLKSkp/oC7yTD78X+AGV5++WVDUq2vakuWLDF69OhhhIeHG9HR0cbgwYONN99808Sq0dBO574wDMP4+uuvjYsuusgICQkxWrdubTz++OMmVYxAmTRpUq33xSeffGIYhmF8+OGHRr9+/YzIyEgjIiLC6Nu3r7F48WLD6/WaWzga1KnuC8MwjIyMDGPMmDFGWFiYkZCQYPzhD38w3G63eUUjoLZs2WIMGTLEiImJMUJDQ40ePXoYjz32mFFeXm52aQiwhQsXGu3atTOcTqcxePBgY/369WaXBBPdeOONRqtWrQyn02m0bt3auPHGG429e/eaXRYC7JNPPqn17xGTJk0yDMMwfD6fMWvWLCMpKckICQkxLrvsMmP37t3mFt0ALIbB86oBAAAAAAAQWDx9DwAAAAAAAAFHKAUAAAAAAICAI5QCAAAAAABAwBFKAQAAAAAAIOAIpQAAAAAAABBwhFIAAAAAAAAIOEIpAAAAAAAABByhFAAAAAAAAAKOUAoAAKABXXLJJbr77rvNLgMAACDoEEoBAAAEuVtvvVUWi0UWi0VOp1NdunTRnDlz5PF4zC4NAADgrNnNLgAAAACndsUVV+jll19WRUWFPvjgA02dOlUOh0MzZswwuzQAAICzwkgpAACAAOrQoYMee+wx3XbbbYqKilK7du304osvnnK/kJAQJScnq3379rrjjjuUmpqqd999Vy6XS2FhYfrwww9r9H/77bcVFRWl0tJSSdJ9992nrl27Kjw8XJ06ddKsWbPkdrv9/WfPnq1+/frpb3/7m9q2bavw8HD94he/UGFhYf3+AQAAABxHKAUAABBgTz/9tAYOHKivvvpKv//973XHHXdo9+7dZ3SMsLAwVVZWKjo6WldeeaWWLVtWo33p0qW69tprFR4eLkmKiorSkiVLtGPHDj333HP6+9//rmeffbbGPnv37tUbb7yh9957TytWrPDXBwAA0BAIpQAAAAJs7Nix+v3vf68uXbrovvvuU0JCgj755JPT2tcwDK1atUr//e9/demll0qSJk6cqHfeecc/Ksrlcun999/XxIkT/fvdf//9uvDCC9WhQwddddVV+uMf/6g33nijxrHLy8v16quvql+/fhoxYoQWLlyo1157TVlZWfV05QAAAD9gTSkAAIAA69Onj/+9xWJRcnKycnJyTrrP8uXLFRkZKbfbLZ/Pp1/+8peaPXu2pKqQy+Fw6N1339WECRP01ltvKTo6Wqmpqf79X3/9dS1YsED79u1TcXGxPB6PoqOja5yjXbt2at26tf/zsGHD5PP5tHv3biUnJ9fDlQMAAPyAkVIAAAAB5nA4any2WCzy+Xwn3WfkyJHaunWr9uzZo7KyMr3yyiuKiIiQJDmdTv385z/3T+FbtmyZbrzxRtntVf/9MS0tTRMnTtTYsWO1fPlyffXVV5o5c6YqKysb4OoAAABODyOlAAAAGoGIiAh16dKlzvaJEyfq8ssv1/bt2/Xxxx/rkUce8betW7dO7du318yZM/3bDhw4cMIxMjMzdfjwYaWkpEiS1q9fL6vVqm7dutXjlQAAAFRhpBQAAEATMGLECCUnJ2vixInq2LGjhgwZ4m8777zzlJmZqddee0379u3TggUL9Pbbb59wjNDQUE2aNElff/21Pv/8c9111136xS9+wdQ9AADQIAilAAAAmgCLxaKbbrpJX3/9dY0FziXp6quv1j333KNp06apX79+WrdunWbNmnXCMbp06aLrr79eY8eO1ahRo9SnTx89//zzgboEAADQzFgMwzDMLgIAAADmmj17tt555x1t3brV7FIAAEAzwUgpAAAAAAAABByhFAAAAAAAAAKO6XsAAAAAAAAIOEZKAQAAAAAAIOAIpQAAAAAAABBwhFIAAAAAAAAIOEIpAAAAAAAABByhFAAAAAAAAAKOUAoAAAAAAAABRygFAAAAAACAgCOUAgAAAAAAQMD9f/fBER9u23dQAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.displot(df, kde=True, x='ln_P', legend=True, height=4, aspect=3)\n", "plt.xlabel('ln Pvap')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now split the data! \n", "\n", "Instead of doing it blindly using a random split on the whole dataset, let's ensure that we train on certain molecules and test on other molecules. At the end of the day this was our original goal do you remember?\n", "\n", "We can go one step further and use the information that we have available regarding the chemical classes. We will split the data in such a way that the chemical classes are well-distributed among training, validation and test. This strategy is called as [stratified splitting](https://medium.com/@analyttica/what-is-meant-by-stratified-split-289a8a986a90). Be aware that the way in which you split your data is very linked to the conclusions that you can draw from the model performance!" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "chemical_classes = df['Class'].unique()\n", "\n", "train_comps, valid_comps, test_comps = [], [], []\n", "for cl in chemical_classes:\n", " # Get the data with this class\n", " df_cl = df[df['Class'] == cl]\n", " \n", " # Get unique compounds for this class\n", " unique_compounds_cl = df_cl['Name'].unique()\n", " \n", " # Randomly split the compounds for train and test\n", " comp_train_all, comp_test = train_test_split(unique_compounds_cl, test_size=0.2, random_state=0)\n", " comp_train, comp_valid = train_test_split(comp_train_all, test_size=0.2, random_state=1)\n", " \n", " train_comps.extend(list(comp_train))\n", " valid_comps.extend(list(comp_valid))\n", " test_comps.extend(list(comp_test))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "df_train = df[df['Name'].isin(train_comps)].reset_index()\n", "df_valid = df[df['Name'].isin(valid_comps)].reset_index()\n", "df_test = df[df['Name'].isin(test_comps)].reset_index()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we will standarize the temperature values" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import StandardScaler\n", "scaler = StandardScaler()\n", "scaler.fit(df_train['T'].to_numpy().reshape(-1,1))\n", "\n", "df_train['T_scaled'] = scaler.transform(df_train['T'].to_numpy().reshape(-1,1))\n", "df_valid['T_scaled'] = scaler.transform(df_valid['T'].to_numpy().reshape(-1,1))\n", "df_test['T_scaled'] = scaler.transform(df_test['T'].to_numpy().reshape(-1,1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now extract the input and output data" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "X_train = np.vstack(df_train['Fingerprint'].tolist()) # Fingerprints to Matrix\n", "Ts_train = df_train['T_scaled'].to_numpy().reshape(-1,1)\n", "X_train = np.hstack((X_train, Ts_train)) # Concatenate the temperature as part of the input matrix\n", "y_train = df_train['ln_P'].to_numpy().reshape(-1,1)\n", "\n", "X_valid = np.vstack(df_valid['Fingerprint'].tolist()) # Fingerprints to Matrix\n", "Ts_valid = df_valid['T_scaled'].to_numpy().reshape(-1,1)\n", "X_valid = np.hstack((X_valid, Ts_valid)) # Concatenate the temperature as part of the input matrix\n", "y_valid = df_valid['ln_P'].to_numpy().reshape(-1,1)\n", "\n", "X_test = np.vstack(df_test['Fingerprint'].tolist()) # Fingerprints to Matrix\n", "Ts_test = df_test['T_scaled'].to_numpy().reshape(-1,1)\n", "X_test = np.hstack((X_test, Ts_test)) # Concatenate the temperature as part of the input matrix\n", "y_test = df_test['ln_P'].to_numpy().reshape(-1,1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Train a Deep Neural Network\n", "\n", "Let's now build a 2 hidden-layer neural network using PyTorch with the [ReLU](https://en.wikipedia.org/wiki/Rectifier_(neural_networks)) activation function.\n", "\n", "For doing this, we need to create a class and define the `__init__` and the `forward` functions. In `__init__` we initialize the type of layers that we are going to use and in `forward` we apply the operations." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "torch.manual_seed(0)\n", "\n", "class DNN(nn.Module):\n", " def __init__(self, in_dim, hidden_dim, out_dim):\n", " super(DNN, self).__init__()\n", " self.layer_1 = nn.Linear(in_dim, hidden_dim)\n", " self.layer_2 = nn.Linear(hidden_dim, hidden_dim)\n", " self.layer_3 = nn.Linear(hidden_dim, out_dim)\n", " \n", " def forward(self, x):\n", " x = F.relu(self.layer_1(x))\n", " x = F.relu(self.layer_2(x))\n", " x = self.layer_3(x)\n", " return x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we intialize our model" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "model = DNN(X_train.shape[1], 20, 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can count the number of trainable model parameters using the following function" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "41441" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def count_parameters(model):\n", " return sum(p.numel() for p in model.parameters() if p.requires_grad)\n", "\n", "count_parameters(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have now initialized our model with some parameters using the default Kaiming uniform initilization procedure. Other intizalization procedures are also [available](https://pytorch.org/docs/master/nn.init.html).\n", "\n", "Now, for training our model, we need to define the [loss function](https://pytorch.org/docs/stable/nn.html#loss-functions)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "loss_function = nn.MSELoss()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and the [optimization algorithm](https://pytorch.org/docs/stable/optim.html#algorithms) to be used, for which we should pass the model parameters that will be adjusted by it and the optimizer parameters (e.g., learning rate)." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "optimizer = torch.optim.Adam(model.parameters(), lr=0.002)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we can construct the training loop that performs the following steps:\n", "\n", "* Forward propagation\n", "* Backward propagation\n", "* Update of model parameters\n", "\n", "Notice that if you are running this from Colab, it is possible to get access to [GPUs](https://en.wikipedia.org/wiki/Graphics_processing_unit) that speed-up the training and evaluation of the model! 😃 This is one of the great advantages of using Colab!\n", "\n", "To abilitate the GPU in Colab do the following:\n", "1. Click on `Runtime` in the upper menu.\n", "2. Click on `Change runtime type`.\n", "3. On the `Hardware accelerator` select `GPU`.\n", "\n", "```{important}\n", "When using a GPU, you should send the model and the data to the GPU!\n", "```" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2a0886e8a6e14d2398c4b4318be717ad", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/250 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(losses[:,0], label='Train')\n", "plt.plot(losses[:,1], label='Valid')\n", "plt.ylabel('Loss')\n", "plt.xlabel('Epoch')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe that over the epochs the model parameters are being learned and the training loss decreases. However, notice that the validation loss starts to decrease but at some point it increases again. This is a clear evidence of overfitting!\n", "\n", "Do you remember some ways to tackle overfitting in neural networks?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise - implement Early stopping ❗❗\n", "\n", "* Check out how early stopping was implemented [here](https://stackoverflow.com/questions/71998978/early-stopping-in-pytorch). And apply it to the training of our previous network." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "# Your code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, let's see the performance of the model in the test set" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MAPE: 149.61579198422515\n", "MAE : 1.7887038874354741\n", "R2 : 0.6045755938758843\n" ] } ], "source": [ "from sklearn.metrics import mean_absolute_percentage_error as MAPE\n", "from sklearn.metrics import mean_absolute_error as MAE\n", "from sklearn.metrics import r2_score as R2\n", "\n", "X_test_torch = torch.from_numpy(X_test).float().to(device)\n", "\n", "model.eval()\n", "with torch.no_grad():\n", " y_test_pred = model(X_test_torch).numpy()\n", "\n", "print('MAPE: ', MAPE(y_test, y_test_pred)*100)\n", "print('MAE : ', MAE(y_test, y_test_pred))\n", "print('R2 : ', R2(y_test, y_test_pred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Quite impressive result for a general vapor pressure model of this kind right? Deep learning is indeed a powerful tool 🤓" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hyperparameter optimization\n", "\n", "There is still one important aspect to learn: hyperparameter optimization. In the previous implementation we used 2 hidden-layers and a constant hidden-size accross the model of 20. Also, we just decided for a learning rate of 0.002.\n", "\n", "Let's tune one of these hyperparameters, notice that we are not going to use early stopping here, but this could be easily implemented here too! Feel free to try it out yourself" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "hidden_sizes = [3, 10, 20]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hidden-size: 3\n", "Model parameters: 6166\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "54f88afe5338434a9e1155387f04b44f", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/250 [00:00