{
"cells": [
{
"cell_type": "markdown",
"id": "8859c035",
"metadata": {},
"source": [
"# Classification of molecules by aqueous solubility\n",
"\n",
"\n",
"Here, we will use machine learning to create a simple model to predict whether a molecule is soluble in water or not. This is a classification task, and we will train (and evaluate) different types of models based on a published dataset.\n",
"\n",
"This notebook is inspired by Pat Walters (https://github.com/PatWalters/chem_tutorial/blob/main/tutorial_03_eda.ipynb)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "91bc8021",
"metadata": {},
"outputs": [],
"source": [
"# Data handling\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# Plotting\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set()\n",
"\n",
"# Machine learning\n",
"from sklearn.dummy import DummyClassifier\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.metrics import ConfusionMatrixDisplay\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn import set_config\n",
"set_config(display='diagram')"
]
},
{
"cell_type": "markdown",
"id": "01d5d408",
"metadata": {},
"source": [
"The data we will be using is from the paper “AqSolDB, a curated reference set of aqueous solubility and 2D descriptors for a diverse set of compounds”, M.C. Sorkun, A. Khetan and S. Er, _Scientific Data_, **2019**, 6, 143, DOI: [10.1038/s41597-019-0151-1](https://doi.org/10.1038/s41597-019-0151-1)\n",
"\n",
"The goal of the authors in developing this dataset and making it available is stated in their abstract:\n",
"\n",
"> _we generated a new database of compounds, AqSolDB, by merging a total of nine different aqueous solubility datasets, curating the merged data, standardizing and validating the compound representation formats, marking with reliability labels, and providing 2D descriptors of compounds as a Supplementary Resource_\n",
"\n",
"and their “usage notes” section:\n",
"\n",
"> The availability of the calculated 2D descriptors makes it possible to directly use the data for developing machine learning models.\n",
"\n",
"The authors also made available the code that they used to generate the dataset, from other existing datasets, including curation steps: https://doi.org/10.24433/CO.1992938.v1 This is very good open science practice, allowing reproducible research!\n",
"\n",
"If you are interested in this topic, I encourage you to go read the paper and the associated code. Here, we will directly use their data (solubility, list of molecules and associated molecular descriptors) to train a machine learning algorithm for a classification task."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "804ba452",
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv(\"curated-solubility-dataset.csv\")"
]
},
{
"cell_type": "markdown",
"id": "a9cc378d",
"metadata": {},
"source": [
"## Content of the dataset\n",
"\n",
"We have read a local copy of the data set.\n",
"\n",
"We first examine the content of the data set: how many records (molecules) does it have? What information is present for each? What is the type and range of the various descriptors?"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "c72b6b8f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of records: 9982\n",
"Number of columns: 26\n",
"Overview of the first records:\n"
]
},
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" Solubility SD Ocurrences MolWt MolLogP \\\n",
"count 9982.000000 9982.000000 9982.000000 9982.000000 9982.000000 \n",
"mean -2.889909 0.067449 1.378081 266.665946 1.979167 \n",
"std 2.368154 0.234702 1.023476 184.179024 3.517738 \n",
"min -13.171900 0.000000 1.000000 9.012000 -40.873200 \n",
"25% -4.326325 0.000000 1.000000 162.276000 0.619750 \n",
"50% -2.618173 0.000000 1.000000 228.682000 1.949220 \n",
"75% -1.209735 0.000000 1.000000 320.436000 3.419030 \n",
"max 2.137682 3.870145 38.000000 5299.456000 68.541140 \n",
"\n",
" MolMR HeavyAtomCount NumHAcceptors NumHDonors \\\n",
"count 9982.000000 9982.000000 9982.000000 9982.000000 \n",
"mean 66.794594 17.374674 3.486776 1.108595 \n",
"std 46.523021 12.241536 3.498203 1.488973 \n",
"min 0.000000 1.000000 0.000000 0.000000 \n",
"25% 40.602475 11.000000 2.000000 0.000000 \n",
"50% 58.633400 15.000000 3.000000 1.000000 \n",
"75% 81.938000 21.000000 4.000000 2.000000 \n",
"max 1419.351700 388.000000 86.000000 26.000000 \n",
"\n",
" NumHeteroatoms NumRotatableBonds NumValenceElectrons \\\n",
"count 9982.000000 9982.000000 9982.000000 \n",
"mean 5.196955 4.073031 94.243438 \n",
"std 4.736275 5.646925 64.748563 \n",
"min 0.000000 0.000000 0.000000 \n",
"25% 3.000000 1.000000 58.000000 \n",
"50% 4.000000 3.000000 82.000000 \n",
"75% 6.000000 5.000000 112.000000 \n",
"max 89.000000 141.000000 2012.000000 \n",
"\n",
" NumAromaticRings NumSaturatedRings NumAliphaticRings RingCount \\\n",
"count 9982.000000 9982.000000 9982.000000 9982.000000 \n",
"mean 1.068323 0.292627 0.447606 1.515929 \n",
"std 1.309427 0.879599 1.054667 1.644334 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 0.000000 0.000000 0.000000 0.000000 \n",
"50% 1.000000 0.000000 0.000000 1.000000 \n",
"75% 2.000000 0.000000 1.000000 2.000000 \n",
"max 35.000000 30.000000 30.000000 36.000000 \n",
"\n",
" TPSA LabuteASA BalabanJ BertzCT \n",
"count 9982.000000 9982.000000 9982.000000 9982.000000 \n",
"mean 62.458601 108.912586 2.392199 467.336782 \n",
"std 63.348307 76.462726 1.091123 546.631696 \n",
"min 0.000000 7.504228 -0.000004 0.000000 \n",
"25% 26.300000 66.623721 2.004357 163.243343 \n",
"50% 50.720000 93.299873 2.539539 351.640433 \n",
"75% 80.390000 129.118374 3.032456 606.562848 \n",
"max 1214.340000 2230.685124 7.517310 20720.267708 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "markdown",
"id": "5610c3d4",
"metadata": {},
"source": [
"Some data fields describe the molecules and their structure:\n",
"- `Name` is the molecule name (not sure if common or IUPAC name)\n",
"- `InChI` and `InChIKey` are (see [Wikipedia](https://en.wikipedia.org/wiki/International_Chemical_Identifier))\n",
"- `SMILES` is the (see [Wikipedia](https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system))\n",
"\n",
"Then there are 17 molecular descriptors, calculated from the molecular structure by `RDKit` and listed in the paper (Table 2):\n",
"\n",
"| Name | Description | Type |\n",
"| :- | :- | :- |\n",
"| MolWt | Molecular weight | float |\n",
"| MolLogP | Octanol-water partition coefficient | float |\n",
"| MolMR | Molar refractivity | float |\n",
"| HeavyAtomCount | Number of non-H atoms | integer |\n",
"| NumHAcceptors | Number of H acceptors | integer |\n",
"| NumHDonors | Number of H donors | integer |\n",
"| NumHeteroatoms | Number of atoms not carbon or hydrogen | integer |\n",
"| NumRotatableBonds | Number of rotatable bonds | integer |\n",
"| NumValenceElectrons | Number of valence electrons | integer |\n",
"| NumAromaticRings | Number of aromatic rings | integer |\n",
"| NumSaturatedRings | Number of saturated rings | integer |\n",
"| NumAliphaticRings | Number of aliphatic rings | integer |\n",
"| RingCount | Number of total rings | integer |\n",
"| TPSA | Topological polar surface area | float |\n",
"| LabuteASA | Labute’s Approximate Surface Area | float |\n",
"| BalabanJ | Balaban’s J index (graph index) | float |\n",
"| BertzCT | A topological complexity index of compound | float |\n",
"\n",
"Finally, there is data about the solubility. `Solubility` is the experimental aqueous solubility value (LogS, actually). And because the dataset was obtained by merging together different sources, some solubility values come from different independent measurements. `Occurrences` is the number of measurements for each molecule, and `SD` is the standard deviation between measurements. Finally, each molecular is assigned a reliability group (`Group`).\n",
"\n",
"- G1 - occurs once in the dataset\n",
"- G2 - occurs twice in the dataset, values are considered different (SD > 0.5)\n",
"- G3 - occurs twice in the dataset, values are considered consistent (SD <= 0.5)\n",
"- G4 - occurs 3+ times in the dataset, values are considered different (SD > 0.5)\n",
"- G5 - occurs 3+ times in the dataset, values are considered consistent (SD <= 0.5)"
]
},
{
"cell_type": "markdown",
"id": "9062dd1b",
"metadata": {},
"source": [
"## Selection / curation of the data\n",
"\n",
"We probably want to restrict our analysis to some of the data, keeping only the records that we consider the most reliable. How many molecules are in each group?"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "50054367",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Group\n",
"G1 7746\n",
"G3 1182\n",
"G5 636\n",
"G2 235\n",
"G4 183\n",
"Name: count, dtype: int64"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Group'].value_counts()"
]
},
{
"cell_type": "markdown",
"id": "a45ad1be",
"metadata": {},
"source": [
"We probably want to exclude molecules in the G2 and G4 groups: their solubility has been measured several times, with quite different values, so those values have high uncertainty. But what about G1? "
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "4a120cc9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Molecules in G3 + G5: 1818\n",
"Molecules in G1 + G3 + G5: 9564\n"
]
}
],
"source": [
"print('Molecules in G3 + G5:', sum(df['Group'].isin(['G3', 'G5'])))\n",
"print('Molecules in G1 + G3 + G5:', sum(df['Group'].isin(['G1', 'G3', 'G5'])))"
]
},
{
"cell_type": "markdown",
"id": "d792a8ed",
"metadata": {},
"source": [
"Most of our dataset is from molecules in the G1 group, where the solubility value is derived from a single measurement. For those, we have no idea of the reliability of the data. On the other hand, if we exclude them, our dataset size goes down from 9564 to 1818. What is best for our machine learning model? More data to train on, or less data but with better accuracy?\n",
"\n",
"There is no universal choice, really. In this tutorial, we will start by keeping only the more accurate data, for now."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "5e912687",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of records in df1: 1818\n"
]
}
],
"source": [
"df1 = df[df['Group'].isin(['G3', 'G5'])]\n",
"print('Number of records in df1:', len(df1))"
]
},
{
"cell_type": "markdown",
"id": "c58dba4a",
"metadata": {},
"source": [
"## Exploring the data\n",
"\n",
"We can have a look at the distribution of the solubility values in the data set:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "dbc286ac",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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0CA1b95c3333nd5//30tX75cU6dODXCZAAAAgeFT+Ln11luVl5enrKwsLV++3D29UaNGevjhhzVs2LCAFQgAABBIPoWfkpISPfTQQxoxYoS2b9+ukydP6vDhwxo2bJiaNGkS6BoBAAACxqtzfnbu3KnBgwfrjTfekCQlJCTo+uuv1/XXX6+XXnpJw4cP547uAAAgrNU5/Hz77be65557dPLkSXXs2NFjXlRUlCZOnKji4mINHz5c+fn5AS8UAAAgEOocfl577TUlJibq3Xff1S233OIxLyYmRiNGjNA777yj2NhYZWVlBbxQAACAQKhz+Nm0aZPuu+8+NW3a9JzLNGvWTL/4xS+0adOmQNQGAAAQcHUOP0ePHq3T9XtSUlI47AUAAMJWncNPUlKSCgoKal2usLDwvHuHAAAAQqnO4ad79+5asWJFrcutXLlSl112mV9FAQAA1Jc6h5+MjAzl5ORo5syZKi0trTa/rKxMzz77rD799FPdddddAS0SAAAgUOp8kcPLL79cEyZM0DPPPKP33ntP11xzjS666CI5HA4dOnRIOTk5On78uB599FH16tWrPmsGAADwmVdXeL7rrrvUqVMnZWdna/369e49QBdccIF69uype++9V+np6fVSKAAAqGCz+XRfckmS0+mS0+kKYDWRx+vbW3Tt2lVdu3aVJB0/flymaXJLCwAAgiA+tpGcTpcSEmJ8XofD6dSJ4yWWDkA+3durUmJiYqDqAAAAtYhubJdpGlq6JldHjhV7Pb5FUqyG979MpmkQfgAAQOQoKCzRwaOnQl1GxPL9oCEAAEAEIvwAAABLIfwAAABLIfwAAABLIfwAAABLIfwAAABLCfuPuufk5Ojuu++ucd5FF12k9evXa8KECdVuutqyZUtt2LAhGCUCAIAIEvbh58orr9TGjRs9pu3evVv333+/xowZI0natWuXxowZoxEjRriXsdlsQa0TAABEhrAPP1FRUUpOTnZ//f3332vGjBm65ZZbdMcdd8jhcGjPnj166KGHPJYDAACoSdiHnx978803dfjwYb3++uuSpLy8PJWWlqpDhw4hrgwAAESCiAo/paWlysrK0siRI9WiRQtJFYfADMPQwoULtWHDBpmmqd69eyszM1Px8fE+b8tur79zwSvvxuvPXXkbAvpQgT5UCfdeVNZlGIYMw/B6vHuMofOPN6oe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APBGxJ/zAwAA4A3CDwAAsBTCDwAAsBTCDwAAsBTCDwAAsBTCDwAAsBTCDwAAsBTCT4hMmjRJv/nNb6pNf+eddzRo0CBdccUVuuWWW/Taa6/J4XCEoMLgOFcfNm3apNtvv11dunTRLbfcopUrVwa/uBA4deqUpk6dqp49e6pbt2667777tGfPnlCXFRLZ2dm66aab1KVLF91+++3629/+FuqSQmrr1q267LLLPG7lYyWHDx/WY489puuuu07du3fXqFGj9PXXX4e6rHrndDo1Z84c9erVS+np6br33nu1f//+UJcVdCdOnNCTTz6p66+/XldddZXuvPNObd261ef1EX6CzOFw6Nlnn9Wf//znavPef/99TZkyRXfffbdWrVqlcePGad68eXr11VdDUGn9Ol8f9u7dqwceeEC9e/fWypUrNWzYME2cOFGbNm0KQaXB9fTTTysnJ0dz5szRsmXLZLfbNWrUKJWWloa6tKCaO3eu/vCHP+jRRx/VqlWr1KVLFz344IP69ttvQ11aSPz73//W+PHj5XQ6Q11KSJSVlen+++/XsWPH9Mc//lFLlixRfHy8Ro4cqcLCwlCXV6/mzp2rt956S9OmTdOyZctkGIZGjx6tsrKyUJcWVI899pj+8Y9/6IUXXtCf//xn/fSnP9WoUaO0d+9e31boQtDs2bPHdccdd7h69OjhuuGGG1y//vWvPeb//Oc/d02ePNlj2iuvvOLq3bt3EKusf7X14be//a3rjjvu8Jj22GOPue69995glhkSXbt2df3pT39yf71z505XSkqKa8eOHSGsKriKi4tdV1xxhWvx4sXuaeXl5a5Bgwa53n333dAVFkKPPfaY6+6773alpKS4/va3v4W6nKD77LPPXCkpKa78/Hz3tNLSUld6erpr+fLlIaysfpWWlrquvPJK15IlS9zTTp486erSpYtr9erVIawsuPLy8lwpKSmubdu2uac5nU5X3759XS+99JJP62TPTxBt3rxZl112mVavXq2LLrqo2vxf/epXuvfee6tNP3nyZDDKC5ra+rB161b16NHDY1qPHj20bds2uRr43ViaNm2qDz/8UMeOHVNZWZneeecdNW3aVO3atQt1aUGzdetWnT59Wrfddpt7ms1m06pVqzR48ODQFRYi7733nj7//HNNnDgx1KWEzKWXXqrXXntNLVu29Jjucrka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152RkaGMjAyPaTk5OUpNTVVOTo7H9L///e8aPHiwLr/8cg0aNEgffPCBe96PD3v92NmHvTIyMrR582Zt3rxZqamp+r//+z/17NlTjz/+eLVxAwYM0IQJE85ZP4D6R/gBEHQ33HCDDh06pJ///Od68803tXfvXncQ6t+/v4YMGSJJmjt3rsaNG6f09HTNmTNHDz/8sNasWaOMjAydOXPG7zp++9vfqn///nrllVfUsWNHjRs3Ths3bvR6PVOmTFFaWprS0tK0bNkydenSRYMHD9a6det06tQp93L/+Mc/9K9//Uu3336737UD8B2HvQAE3fDhw3X06FFlZ2frd7/7nSQpMTFRPXv2VEZGhtLT03Xy5Em9+uqruuOOOzRlyhT32JSUFN11111asWKFhg8f7lcdDz/8sO6//35J0vXXX6+8vDy9/PLL6tmzp1fr6dixo+Li4iTJfahs6NChmjdvntasWaOhQ4dKkt59911dfPHF6tatm191A/APe34AhMSjjz6qTz/9VL///e/1s5/9THFxcXr//fc1bNgwLVy4UNu3b1dZWZkGDRrkMa5bt25q06ZNtUNYvjj78JpUcc7R9u3bVVxc7Pe627dvr65du+q9996TJJWVlemDDz7Q4MGDZRiG3+sH4DvCD4CQadKkiQYOHKjp06dr3bp1evfdd9WxY0fNmjXLfV5P8+bNq41r3ry5/v3vf/u9/eTkZI+vmzVrJpfL5XGoyh8/+9nPtHnzZh06dEjr169XUVGR+5AegNAh/AAIqiNHjqhnz55avnx5tXlpaWnKzMxUWVmZvvnmG0lVJ0ef7ejRo0pMTDznNhwOh8fXJSUlNS734xOnv/vuO9lsNjVp0qTW51EX/fv3V2xsrNasWaMPP/xQ11xzjS688MKArBuA7wg/AIKqefPmstvtWrJkiUpLS6vN/9e//qXGjRvrrrvuUlRUlN5//32P+Vu3btWhQ4d01VVX1bj+uLg45efne0z7+9//XuOyn376qfv/TqdTH330kdLT0xUdHe3t05JpVn85jY2N1a233qrVq1fr008/Za8PECY44RlAUNlsNk2dOlUPP/ywhg4dqrvuuksdOnTQ6dOn9dlnn+nNN9/Uo48+qsTERN1///16+eWX1ahRI9100006cOCAZs+erY4dO57zE1M33nijPvnkE02fPl0333yztm3bppUrV9a47EsvvSSHw6HWrVtr6dKl2rdvnxYsWODT80pISNDnn3+uTZs2KS0tzb336Gc/+5mGDRumuLg43XLLLT6tG0BgEX4ABN0NN9ygt99+W9nZ2crKylJhYaGioqKUlpamF1980R0Sxo4dq+bNm2vx4sVavny5mjZtqv79+yszM1MxMTE1rnvo0KH65ptv9O6772rZsmW6+uqrNXv2bN15553Vlp0+fbqee+457d+/XykpKZo3b56uvvpqn57TXXfdpS+++EKjR4/WjBkz3CdqX3HFFUpMTNQtt9zi0x4lAIFnuLgTHwDUm3/+85+644479M4776hz586hLgeA2PMDAPUiJydHOTk5WrlypXr06EHwAcIIJzwDQD04fvy4FixYoGbNmmnGjBmhLgfAWTjsBQAALIU9PwAAwFIIPwAAwFIIPwAAwFIIPwAAwFIIPwAAwFIIPwAAwFIIPwAAwFIIPwAAwFIIPwAAwFL+HxRGrVdmasXQAAAAAElFTkSuQmCC",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_ = sns.histplot(data=df1, x='Solubility')"
]
},
{
"cell_type": "markdown",
"id": "cf74b703",
"metadata": {},
"source": [
"Or visually inspect the data to try and see how different descriptors appear to correlate with the solubility:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "3e8ca45d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_ = sns.scatterplot(data=df1, x='RingCount', y='Solubility', s=6, alpha=0.5)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "b6c64187",
"metadata": {},
"outputs": [],
"source": [
"# Your code here :)"
]
},
{
"cell_type": "markdown",
"id": "a1d92c13",
"metadata": {},
"source": [
"You can play around with different descriptors… can you guess which is going to be the most important one? "
]
},
{
"cell_type": "markdown",
"id": "08508c8a",
"metadata": {},
"source": [
"## Setting up a classification problem\n",
"\n",
"We currently have as data a series of numerical descriptors for each molecule, and a value of solubility. We could therefore create a **regression model**, which would predict the value of solubility constant (a continuous variable).\n",
"\n",
"But suppose, for our purposes, we are not interested in the exact value of the solubility constant, but only on whether a molecule is soluble or not in water. This is then a **classification model**, where the outcome we want to predict is a discrete label or category: soluble or insoluble.\n",
"\n",
"We therefore start by creating these categories. We define a molecule as soluble in water if its solubility is higher than 200 μM."
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "b6fef9cb",
"metadata": {},
"outputs": [],
"source": [
"def isSoluble(s):\n",
" return 'yes' if s > np.log10(200e-6) else 'no'\n",
"\n",
"df['Soluble'] = df['Solubility'].apply(isSoluble)"
]
},
{
"cell_type": "markdown",
"id": "c91394b9",
"metadata": {},
"source": [
"Having modified the whole dataset `df`, we need to extract again our restricted dataset of high accuracy data `df1`"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "aa516b58",
"metadata": {},
"outputs": [],
"source": [
"df1 = df[df['Group'].isin(['G3', 'G5'])]"
]
},
{
"cell_type": "markdown",
"id": "ee564175",
"metadata": {},
"source": [
"And we can check that the data distribution between soluble and insoluble molecules is not too unbalanced:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "67d9ee2c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of soluble molecules: 1260\n",
"Number of insoluble molecules: 558\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print('Number of soluble molecules:', sum(df1['Soluble'] == 'yes'))\n",
"print('Number of insoluble molecules:', sum(df1['Soluble'] == 'no'))\n",
"_ = sns.histplot(data=df1, x='Solubility', hue='Soluble')"
]
},
{
"cell_type": "markdown",
"id": "d00db2c3",
"metadata": {},
"source": [
"We see that there are more soluble molecules than insoluble molecules in the dataset, but both sets contain enough molecules that we are able to use the data for prediction.\n",
"\n",
"We are going to train different types of models for this classification task. In order to evaluate their statistical accuracy, we are going to split the entire data set between a **training set** and a **testing set**. Scikit-learn has a function for that: [`train_test_split`](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html).\n",
"\n",
"This is a relatively simple way to measure accuracy, and suitable for this simple example. We could also use more advanced procedures, such as **[cross-validation](https://scikit-learn.org/stable/modules/cross_validation.html)**."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "6216971e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Records in training data: 1363\n",
"Records in testing data: 455\n"
]
}
],
"source": [
"train, test = train_test_split(df1, random_state=42)\n",
"print('Records in training data:', len(train))\n",
"print('Records in testing data:', len(test))"
]
},
{
"cell_type": "markdown",
"id": "d5db21e9",
"metadata": {},
"source": [
"We will now store separately our training features (the descriptors), training targets (the classes to predict: yes/no), testing features and testing targets.\n",
"\n",
"We start by illustrating the process with very simple data, restricted to only two descriptors: molecular weight and number of aromatic rings."
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "ef2267ef",
"metadata": {},
"outputs": [],
"source": [
"data_train = train[['MolWt', 'NumAromaticRings']]\n",
"data_test = test[['MolWt', 'NumAromaticRings']]\n",
"\n",
"target_train = train['Soluble']\n",
"target_test = test['Soluble']"
]
},
{
"cell_type": "markdown",
"id": "dfe0619f",
"metadata": {},
"source": [
"## First model: logistic regression\n",
"\n",
"As our first model, we choose a very simple example: a [logistic regressor](https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression), which is a linear model for classification. (And yes, despite its name, it is a _classification_ model and not a _regression_ model. I agree that it is confusing.)\n",
"\n",
"We create a two-step pipeline for this model:\n",
"1. standardization of the features\n",
"2. logistic regression\n",
"\n",
"In the regressor, we set the `penalty` parameter to `none`, so there is no regularization of the model (no constraint on the coefficients of the model). This makes the logistic regression behave as a purely linear model, and will be simpler for discussion later."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "37a34eb8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
"
],
"text/plain": [
"Pipeline(steps=[('standardscaler', StandardScaler()),\n",
" ('logisticregression', LogisticRegression(penalty=None))])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"logistic_regression = make_pipeline(\n",
" StandardScaler(), LogisticRegression(penalty=None)\n",
")\n",
"logistic_regression.fit(data_train, target_train)"
]
},
{
"cell_type": "markdown",
"id": "f9a34e24",
"metadata": {},
"source": [
"Once the model was trained, we measure its accuracy on testing data:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "b1800af0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy on training dataset: 0.7850330154071901\n",
"Accuracy on test dataset: 0.7956043956043956\n"
]
}
],
"source": [
"train_accuracy = logistic_regression.score(data_train, target_train)\n",
"print('Accuracy on training dataset:', train_accuracy)\n",
"\n",
"test_accuracy = logistic_regression.score(data_test, target_test)\n",
"print('Accuracy on test dataset:', test_accuracy)"
]
},
{
"cell_type": "markdown",
"id": "fe5dff10",
"metadata": {},
"source": [
"This accuracy is the percentage of correct predictions: it is ~80% in this case, based on test data.\n",
"\n",
"To what do we compare this accuracy? After all, in a game of “heads or tails”, even guessing randomly has a 50% accuracy. Here, we will compare the accuracy to the performance of a so-called **dummy classifier**, i.e. a model that would always predict the most common label."
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "ee55fe16",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy of dummy classifier: 0.7274725274725274\n"
]
}
],
"source": [
"dummy = DummyClassifier(strategy='most_frequent')\n",
"dummy.fit(data_train, target_train)\n",
"\n",
"test_accuracy = dummy.score(data_test, target_test)\n",
"print('Accuracy of dummy classifier:', test_accuracy)"
]
},
{
"cell_type": "markdown",
"id": "0c1a4f5e",
"metadata": {},
"source": [
"Here, this dummy classifier is a model that predicts all molecules to be soluble (because it is the most frequent category). And because 73% of molecules in our test data set are soluble, that “stupid” model has 73% accuracy. So we see that our logistic regression model performance is a little bit better (but not a lot) than the dummy classifier.\n",
"\n",
"Let's see if a different choice of descriptors would make a difference to the model accuracy: we'll take molar weight and this `MolLogP` descriptor now (more on that below):"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "0c7eb495",
"metadata": {},
"outputs": [],
"source": [
"data_train = train[['MolWt', 'MolLogP']]\n",
"data_test = test[['MolWt', 'MolLogP']]\n",
"\n",
"target_train = train['Soluble']\n",
"target_test = test['Soluble']"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "7b96117f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy on training dataset: 0.871606749816581\n",
"Accuracy on test dataset: 0.8967032967032967\n"
]
}
],
"source": [
"logistic_regression = make_pipeline(\n",
" StandardScaler(), LogisticRegression(penalty=None)\n",
")\n",
"logistic_regression.fit(data_train, target_train)\n",
"\n",
"train_accuracy = logistic_regression.score(data_train, target_train)\n",
"print('Accuracy on training dataset:', train_accuracy)\n",
"\n",
"test_accuracy = logistic_regression.score(data_test, target_test)\n",
"print('Accuracy on test dataset:', test_accuracy)"
]
},
{
"cell_type": "markdown",
"id": "5239d79d",
"metadata": {},
"source": [
"The accuracy has definitely gone up, with those two descriptors it's now at about 90%. We can also check and confirm that training accuracy and test accuracy are comparable, so our model does not appear to be overfitting (which is expected from having only two features).\n",
"\n",
"Because we only have two descriptors, we can actually plot the data in this space:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "e466b264",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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DY56kETqIVtWJtm33IR/4wZssbEkvvAyZlrz2m6WiEiDoR4kkXrIytiOf2PZXCpmbi7BzRtrt0EiIg2MApJIPWQ0ScfdrRsAjrQ07C3b1HKLREQaFt1iE6mHzNh4Yv71CNaWTRiNGmMmptR2k0REGhQFJJF6yoyNh9h4PREjInIU6BabiIiISAUKSCIiIiIVKCCJiIiIVKCAJCIiIlKBApKIiIhIBQpIIiIiIhUoIEk9YGHPy8ZWWlzbDRERkWOEApLUcRbWjM/YecYp5FxzBbYtG2q7QSIicgxQQJI6zZGfQ9a/H4FAAP/q1fjn/lTbTRIRkWOAApLUaaY7HHer1uWvbYlJtdgaERE5VmipEanTTHc4Mff+E/+cH7ElJmEbOFRLa4iI1FOG34f12zwsrw97776YEdG13aT9UkCSOs9Ma4b93GYACkciIvVYcOZ0sh96AADPuHG4J16HVUd/sOsWm4iIiNSIwLo15V+Xzp6NUYf/2auAJCIiIjUirP9ADKcTDAPPRRdjWkZtN2m/dItNREREaoTZqx/J77yP5fdhNm1R2805IAUkERERqTHBRmm13YQq0S02ERERkQoUkEREREQqUEASERERqUABSURERKQCBSQRERGRChSQRERERCpQQBIRERGpQAFJREREpAIFJBEREZEKFJBEREREKlBAEhEREalAAUlERESkAgUkERERqZRtVwbW7FnYNqyp7abUOEdtN0BERETqHlt+Lnl/vwPv8uUYbjdJL76M2bpDbTerxqgHSURERPaVtQvv8uUAWF4vgQ0barlBNUsBSURERPaV3IiIIUMBsCcl4Wh/7PQegW6xiYiISCXMyCii7vg7kRdejC0pmWBSam03qUYpIImIiEilzCgPdOxKsLYbUgt0i01ERESkAgUkERERkQoUkEREREQqUEASERERqUABSURERKQCBSQRERGRChSQRERERCpQQBIRERGpQAFJREREpII6H5B27NjBzTffzIABA+jTpw8TJkxgzZo1IcfMnTuXM888k65du3LCCScwderU2mmsiIiINAh1OiD5fD6uuOIKsrKyeOmll3j33XeJjo7mL3/5C9nZ2QCsW7eOiRMnMmTIEKZOncp5553HXXfdxdy5c2u59SIiIlJf1em12ObPn8/q1av54YcfSElJAeDf//43ffv25dtvv+Xss89mypQp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VXk9/mzmzJlW27ZtrWHDhoVsr6l6KCAdJq/Xa/Xo0cN69913y7fl5eVZXbt2tT7//PNabNmRt3HjRqtt27bWggULyreZpmmNGjXKeuqpp6wXX3zRGjRokOX3+8v3P/7449aJJ55oWVbDrdXjjz9ujRs3LiQgHWu1ME3TGjZsmPXwww+HbL/00kutF1988Zirh2VZ1mmnnWY99NBD5a8LCgqstm3bWjNmzDgm6pGRkWFNmDDB6t69u3XSSSeF/BI8Ep//YOeoSw5Ui7/97W/W+PHjQ46fOnWq1bFjR8vr9Ta4WljWgevxh507d1r9+vWzLr744pCAVJP10C22w7Ry5UqKioro169f+TaPx0PHjh359ddfa7FlR15cXBwvv/wynTt3Lt9mGAaWZZGXl8f8+fPp06cPDoejfH+/fv3YsGEDWVlZDbJWv/76K++//z6PPPJIyPZjrRbr169n27ZtnHrqqSHbX331VSZOnHjM1QMgNjaW7777jq1btxIMBnn//fdxuVx06NDhmKjHsmXLiImJ4dNPP6Vbt24h+47E5z/YOeqSA9Xi0ksv5bbbbtvnPYFAgMLCwgZXCzhwPQAsy+KOO+7g9NNPp2/fviH7arIeCkiHKSMjA4BGjRqFbE9OTmbHjh210aSjxuPxMGTIEFwuV/m26dOns3nzZgYOHEhGRgapqakh70lOTgZg+/btDa5W+fn53Hbbbfz973/f5zMda7XYuHEjAMXFxUyYMIHjjz+ec845h2+//RY49uoBcPfdd+NwOBgxYgRdunThySef5KmnniI9Pf2YqMfw4cN5/PHHadq06T77jsTnP9g56pID1aJjx460b9++/LXP5+P111+nU6dOxMfHN7hawIHrAfDGG2+wa9cubr755n321WQ9FJAOU0lJCUBIaABwu914vd7aaFKNWbBgAXfddRcjRoxg+PDhlJaWVloHAK/X2+Bqdd9999G9e/d9ek2AY64WhYWFANx+++2ccsopvPbaawwYMICrr76auXPnHnP1AFi3bh0ej4fnnnuO999/nzPPPJPbb7+dlStXHpP1+LMj8fkPdo76KBAIcNttt7F27VruvfdeoGq/YxpSLVauXMmkSZN49NFH9/lMULP1cBz8EDmQsLAwoCz1//E1lP0hhIeH11azjrqvv/6aW265hW7duvHEE08AZbXw+Xwhx/3xzRgREdGgajV16lTmz5/PZ599Vun+Y6kWAE6nE4AJEyYwduxYADp06MDy5ct5/fXXj7l6bNu2jVtvvZU33niD3r17A9ClSxfWrl3Ls88+e8zVo6Ij8fkPdo76prCwkBtvvJF58+bxzDPPlN96OpZq4fV6ueWWW7jqqqtCetX+rCbroR6kw/RHN19mZmbI9szMzH26+BqKt99+m+uuu47BgwfzyiuvlH+TpqamVloHgJSUlAZVq48//pisrKzyR7h79OgBwL333svJJ598TNUCKG9z27ZtQ7a3bt2arVu3HnP1WLJkCX6/ny5duoRs79atGxs3bjzm6lHRkfj8BztHfZKZmclFF13EwoULeeWVV0Ieaz+WarF48WLWrFnDpEmTyn+uvvTSS2zfvp0ePXrw6aef1mg9FJAOU/v27YmKimLevHnl2/Lz81m+fHn5vxwbknfffZf777+fiy66iKeeeiqkG7NPnz4sWLCAYDBYvm3u3Lm0aNGChISEBlWrxx57jGnTpjF16tTy/wCuv/56Xn755WOqFlA2jiIyMpLFixeHbF+9ejXp6enHXD3++CG+atWqkO2rV6+mWbNmx1w9KjoSn/9g56gv8vLy+Mtf/kJ2djbvvvtuyOBjqNrvmIZSi65du/LVV1/xv//9r/zn6vnnn09ycjJTp05l+PDhNVuPQ3s4TyrzxBNPWH379rW+/vrr8jkZTjjhhHo3X8nBrF+/3urUqZN1zTXXWJmZmSH/5efnW7t377b69Olj3X777daaNWusjz/+2OrSpYv1ySeflJ+jIdfqz4/5H4u1eO6556wePXpYn332mbVp0ybr+eeft9q3b2/9/PPPx1w9gsGgdeGFF1onnXSSNXfuXGvDhg3Wk08+aXXo0MFauHDhMVeP22+/PeRR7iPx+atyjrqoYi1uv/12q1OnTtbcuXP3+bkaCAQsy2q4tbCsfetR0TPPPLPPPEg1VQ8FpCMgEAhY//73v61+/fpZ3bt3ty6//HJry5Yttd2sI+6FF16w2rZtW+l/t99+u2VZlrV48WLr3HPPtTp37mwNGzbMeuutt0LO0ZBr9eeAZFnHZi1ee+01a/jw4VanTp2s0047zZo5c2b5vmOtHrm5udZ9991nDR061OrRo4d13nnnWfPmzSvffyzVo7Jfgkfi8x/sHHXRn2sRDAatLl267Pfn6h+ft6HWwrKqF5Bqqh6GZVnWEesfExEREWkANAZJREREpAIFJBEREZEKFJBEREREKlBAEhEREalAAUlERESkAgUkERERkQoUkEREDpNmSxFpeBSQRKROGjduHO3ateP888/f7zE33XQT7dq144477jik844bNw6As846i9NPP32fY77++mvatWsXsibWH7777jvatWvHDz/8gM/n46GHHtrvosUiUn8pIIlInWWz2Vi0aBE7duzYZ19JSQmzZs06rPP379+f1atXU1hYGLL9hx9+IDY2lm3btrF+/fqQfb/++isul4s+ffqQmZnJG2+8QSAQOKx2iEjdo4AkInVWx44dcbvdzJgxY5993377LW63+7BWK+/fvz+mabJo0aKQ7bNnz+aiiy4iPDycH3/8MWTf/Pnz6dWrF+Hh4dW+rojUfQpIIlJnRUREMGTIEKZPn77PvmnTpnHSSSfhcDjKt3m9Xp577jlOOukkunTpwgknnMDLL7+MaZqVnr9nz5643W5+++238m3r169n27ZtDB06lN69ezN79uzyfSUlJSxfvpwBAwawdetWRowYAcCdd95Z6e04Eam/FJBEpE4bM2YMixcvZvv27eXbCgsL+eGHHzjllFPKt1mWxZVXXsnkyZM5++yzefHFFznppJN46qmnuPfeeys9t9vtpmfPniEBafbs2cTGxtK5c2cGDhzIL7/8gtfrBWDhwoX4/X4GDhxIcnIykyZNAuCqq64q/1pEGgYFJBGp04YOHUpERETIbbaZM2cSHx9Pr169yrf98MMPzJkzh3/84x9cdtllDBgwgJtvvplrr72WDz74gLVr11Z6/v79+7N48WKCwSAAP/74I/3798dmszFw4EBKS0v59ddfgbLxRwkJCbRv3x6Xy0WHDh0ASE9Pp2PHjkerBCJSCxSQRKROCwsLY/jw4SG32b744gvGjBmDYRjl23755RfsdjtjxowJef9pp50GwLx58yo9f79+/SguLmblypX4fD5+/fVXBg4cCEDr1q1JTU1lzpw5QFlA6t+/f8h1RaRhUkASkTpv9OjRLFmyhK1bt5KTk8PcuXM5+eSTQ47Jy8sjLi4uZEwSQFJSEgAFBQWVnrtz587ExMTw22+/8euvv1JSUlIekAAGDBjAvHnz8Pl8LFmyJGSfiDRcjoMfIiJSuwYPHkx0dDRffvkl0dHRpKWl0blz55BjYmJiyMnJIRAIhISkzMxMAOLi4io9t81m47jjjmPx4sXs2LGDtm3bhjwZN3DgQKZOncqvv/6K1+ulf//+R+ETikhdox4kEanzXC4XI0aM4KuvvmL69On79B4B9O3bl2AwyLRp00K2f/rppwAh45Uq6tevH7///nvI7bU/9O/fH8uy+OCDD2jbti3Jycnl++x2++F8LBGpwxSQRKRe+ONptnnz5lUakAYPHsxxxx3Hvffey+TJk5kzZw5PPfUUzz//PGPHjqV169b7PXf//v3ZuHEjy5cv3ycgxcbG0qlTJ7755pt99kVHRwMwd+5cFi9efAQ+pYjUFbrFJiL1Qv/+/fF4PDRq1IhWrVrts98wDF566SWeeeYZ3nzzTbKzs0lLS+Omm25i/PjxBzx3ixYtaNSoEdnZ2fTu3Xuf/QMHDmTp0qUMGDAgZHtUVBTjx4/n/fffZ9asWfz000+4XK7D+6AiUicYllZZFBEREQmhW2wiIiIiFSggiYiIiFSggCQiIiJSgQKSiIiISAUKSCIiIiIVKCCJiIiIVKCAJCIiIlKBApKIiIhIBQpIIiIiIhUoIImIiIhUoIAkIiIiUoECkoiIiEgF/w8dpF+/cHLJ6QAAAABJRU5ErkJggg==",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_ = sns.scatterplot(data=test, x='MolWt', y='MolLogP', hue='Soluble', palette=['tab:red', 'tab:blue'], s=8)"
]
},
{
"cell_type": "markdown",
"id": "18c6f9c3",
"metadata": {},
"source": [
"In this 2D feature space, we can also plot the decision function of our trained model. There is no ready-made function for this, so we create our own below. _The details of the code are not directly relevant, so you can skip to the resulting graph…_"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "265d734c",
"metadata": {},
"outputs": [],
"source": [
"range_features = {\n",
" feature_name: (df1[feature_name].min() - 1,\n",
" df1[feature_name].max() + 1)\n",
" for feature_name in ['MolWt', 'MolLogP']\n",
"}\n",
"\n",
"def plot_decision_function(fitted_classifier, range_features, ax=None):\n",
" \"\"\"Plot the boundary of the decision function of a classifier.\"\"\"\n",
" from sklearn.preprocessing import LabelEncoder\n",
"\n",
" feature_names = list(range_features.keys())\n",
" # create a grid to evaluate all possible samples\n",
" xx, yy = np.meshgrid(\n",
" np.arange(*range_features[feature_names[0]], 10),\n",
" np.arange(*range_features[feature_names[1]], 0.2),\n",
" )\n",
"\n",
" # compute the associated prediction\n",
" grid = np.c_[xx.ravel(), yy.ravel()]\n",
" grid = pd.DataFrame(grid, columns=['MolWt', 'MolLogP'])\n",
" Z = fitted_classifier.predict(grid)\n",
" Z = LabelEncoder().fit_transform(Z)\n",
" Z = Z.reshape(xx.shape)\n",
"\n",
" # make the plot of the boundary and the data samples\n",
" if ax is None:\n",
" _, ax = plt.subplots()\n",
" ax.contourf(xx, yy, Z, alpha=0.4, cmap='RdBu_r')\n",
"\n",
" return ax"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "5f72f813",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = sns.scatterplot(\n",
" data=test, x='MolWt', y='MolLogP',\n",
" hue='Soluble', palette=['tab:red', 'tab:blue'])\n",
"_ = plot_decision_function(logistic_regression, range_features, ax=ax)"
]
},
{
"cell_type": "markdown",
"id": "d6a8275d",
"metadata": {},
"source": [
"Let’s discuss that graph for a minute. Why does the decision function for the logistic regression model look like this?\n",
"\n",
"As we have seen before, a _linear regression_ model will predict a continuous target, as a linear function of features. But classification tasks can be carried out with linear models, as well. When the target is a binary outcome, we use (like here) a logistic function to model the probability of each outcome, and this is why this model is known as **logistic regression**. For each point, the classifier will then predict the outcome that it finds *most likely*.\n",
"\n",
"We plotted above the decision function, red for soluble and blue for insoluble. The edge of that decision function is the curve separating the two areas, where the probability of each is 1/2. In our _logistic regression_ model, it \n",
"is a straight line.\n",
"\n",
"We noted earlier that we did not impose any _regularization_ by setting the parameter `penalty` to `None`. This allows the fitting to allow coefficients as big (or small) as needed. Since the line is oblique, it means that the model uses a combination of both features. We can find the coefficient of each feature in the equation, which will give us an idea of their weight/importance."
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "f1259f5d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1st feature (MolWt): -1.0929354558398652\n",
"2nd feature (MolLogP): -2.708618456109912\n"
]
}
],
"source": [
"c = logistic_regression['logisticregression'].coef_[0]\n",
"print('1st feature (MolWt):', c[0])\n",
"print('2nd feature (MolLogP):', c[1])"
]
},
{
"cell_type": "markdown",
"id": "d487aba8",
"metadata": {},
"source": [
"And we see that `MolLogP` is the most important feature in the classification.\n",
"\n",
"Can we make chemical sense of this? `MolLogP` was calculated by RDKit, where it is described as an “atom-based calculation of the octanol/water partition coefficient log(_P_)”. More accurately, it is an _approximation_ of log(_P_), based on [this paper](https://doi.org/10.1021/ci990307l) by Wildman and Crippen. The approximation is designed to sum contribution from different types of atoms present in a molecule, and coefficients for it were trained against existing experimental data.\n",
"\n",
"Of course, water solubility and octanol/water separation are related, so it makes a lot of sense that `MolLogP` would be an important descriptor for water solubility."
]
},
{
"cell_type": "markdown",
"id": "e6d4e68d",
"metadata": {},
"source": [
"## More descriptors\n",
"\n",
"As seen above, the `MolLogP` molecular descriptor is very well-suited for the prediction of solubility. But using it feels like cheating a bit, since its formula was itself trained by statistical methods on experimental data (which is, in itself, a learning process). So we ask the question: can we achieve the same model accuracy by using other descriptors?"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "70be0d59",
"metadata": {},
"outputs": [],
"source": [
"otherDescriptors = ['BalabanJ', 'BertzCT', 'HeavyAtomCount', 'LabuteASA', 'MolMR',\n",
" 'MolWt', 'NumAliphaticRings', 'NumAromaticRings', 'NumHAcceptors', 'NumHDonors',\n",
" 'NumHeteroatoms', 'NumRotatableBonds', 'NumSaturatedRings', 'NumValenceElectrons',\n",
" 'RingCount', 'TPSA']"
]
},
{
"cell_type": "markdown",
"id": "b45a83b4",
"metadata": {},
"source": [
"We are making a function that will train a model for each descriptor, and give us as result the accuracy measured on the test dataset:"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "af6d1f56",
"metadata": {},
"outputs": [],
"source": [
"def modelAccuracy(descriptors):\n",
" data_train = train[descriptors]\n",
" data_test = test[descriptors]\n",
"\n",
" logistic_regression = make_pipeline(\n",
" StandardScaler(), LogisticRegression(penalty=None)\n",
" )\n",
" logistic_regression.fit(data_train, target_train)\n",
"\n",
" return logistic_regression.score(data_test, target_test)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "68affaf6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy with BalabanJ: 0.727\n",
"Accuracy with BertzCT: 0.749\n",
"Accuracy with HeavyAtomCount: 0.752\n",
"Accuracy with LabuteASA: 0.771\n",
"Accuracy with MolMR: 0.793\n",
"Accuracy with MolWt: 0.774\n",
"Accuracy with NumAliphaticRings: 0.721\n",
"Accuracy with NumAromaticRings: 0.767\n",
"Accuracy with NumHAcceptors: 0.727\n",
"Accuracy with NumHDonors: 0.727\n",
"Accuracy with NumHeteroatoms: 0.719\n",
"Accuracy with NumRotatableBonds: 0.741\n",
"Accuracy with NumSaturatedRings: 0.725\n",
"Accuracy with NumValenceElectrons: 0.749\n",
"Accuracy with RingCount: 0.756\n",
"Accuracy with TPSA: 0.727\n"
]
}
],
"source": [
"for d in otherDescriptors:\n",
" print(f'Accuracy with {d}: {modelAccuracy([d]):.3f}')"
]
},
{
"cell_type": "markdown",
"id": "f4365006",
"metadata": {},
"source": [
"Many of these descriptors, alone, produce models that are not statistically better than the “dummy classifier” which is our baseline. But how do they perform when put all together?"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "0918e66c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test accuracy: 0.8769230769230769\n"
]
}
],
"source": [
"data_train = train[otherDescriptors]\n",
"data_test = test[otherDescriptors]\n",
"\n",
"logistic_regression = make_pipeline(\n",
" StandardScaler(), LogisticRegression(penalty=None)\n",
")\n",
"logistic_regression.fit(data_train, target_train)\n",
"\n",
"test_accuracy = logistic_regression.score(data_test, target_test)\n",
"print('Test accuracy:', test_accuracy)"
]
},
{
"cell_type": "markdown",
"id": "623cc57c",
"metadata": {},
"source": [
"So we can indeed create a model with descriptors other than `MolLogP`, that can statistically reach the same accuracy (or almost)!\n",
"\n",
"What are the features that contribute the most to this model?"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "7360ddba",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[-0.32021302, 3.57021154, -3.76738328, -0.36335061, -1.65696601,\n",
" -1.25261813, -0.46962843, -0.73489008, 0.8659006 , 0.84545643,\n",
" -0.46873068, 0.59292706, 0.8482203 , 1.49522491, -0.8607586 ,\n",
" 0.39465385]])"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"logistic_regression['logisticregression'].coef_"
]
},
{
"cell_type": "markdown",
"id": "66c302b0",
"metadata": {},
"source": [
"Let's display this list of coefficients more nicely:"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "d13e4f23",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"BalabanJ: -0.320\n",
"BertzCT: 3.570\n",
"HeavyAtomCount: -3.767\n",
"LabuteASA: -0.363\n",
"MolMR: -1.657\n",
"MolWt: -1.253\n",
"NumAliphaticRings: -0.470\n",
"NumAromaticRings: -0.735\n",
"NumHAcceptors: 0.866\n",
"NumHDonors: 0.845\n",
"NumHeteroatoms: -0.469\n",
"NumRotatableBonds: 0.593\n",
"NumSaturatedRings: 0.848\n",
"NumValenceElectrons: 1.495\n",
"RingCount: -0.861\n",
"TPSA: 0.395\n"
]
}
],
"source": [
"coefficients = logistic_regression['logisticregression'].coef_[0]\n",
"\n",
"for name, coeff in zip(otherDescriptors, coefficients):\n",
" print(f'{name}: {coeff:.3f}')"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "fba9d537",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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pKSwadMm6tWrpy/g6tWrh4WFBWFhYfriNCoqis8//1xfXALUqlWLWrVqER8fz507d6hevbpBX35+fgCMGjWKxMREateubbD/xYsXxMTE6L9Xq1YNM7P/exWgWq0mOTmZK1euUK1aNYNzo6OjKVKkiEExrlAoqFmzpsEaXxsbG31e8LJo3rVrF/Xr16dq1aq4ubnh4eGBjY1NmmslhBBCCJEni9PU6f2WLVumO72v0xm+Ji45OTnNMa8WhQBK5btXQJQtWzbNtlu3bhl837t3L/fu3WPPnj1UqVJFv12j0XD8+HEuXbpExYoVMTY21hfDrzM1NQV4436tVku5cuWYP39+mn2FChXS//x6jlqtFgAjI6M05+l0unT702q1GBv/3z+jggULGuy3t7dn586dHD16lEOHDrF7924WLFjAhAkTaNOmTbrxCyGEECL/ylNrTl9la2tLQEAAa9euNVjfaGJiwuPHj/XfExMTiY+P/2hxrVu3DisrKzZs2GDwSS0kU2+MqlixIufPnzdYFvDHH39Qv359jIyMKF68eJrHPPXv35+xY8fi4ODAjRs3KFKkCGXLlqVs2bLY2toybdo0jh07pj/+3LlzBu2fPHkSMzOzdKfcVSoVCQkJadbZnjhxgooVK74x319++YWdO3fi5uZGQEAAmzdvxsXFhYiIiExcNSGEEELkF3m2OIWX0/uurq4Gj2lSq9WsWrWKc+fOER0dTUBAgMHI34d0//599u/fz1dffUWlSpVwcHDQf9zd3XF2dmbDhg08e/aMTp068eDBA0aOHElMTAzHjx9n6tSpuLm5YWZmxrfffsvy5cvZsGED//zzD7///ju7d++mcePGeHl5YWlpSd++fTl16hQxMTEMHz6cffv28dlnn+njiYuLIzg4mJiYGP744w9mz55Nly5d9FP95ubmXL16lXv37uHm5oZKpeL777/nyJEjxMTEMGrUKKKjo/nmm2/emvPo0aPZvXs3cXFx7N+/n/Pnz6e7PlcIIYQQIk9O679q7NixtGzZUv89ODiYUaNG4e3tjbW1Nd27dzd4PNOHtHHjRnQ6HR07dkx3v5+fH99++y1btmyhQ4cOLFmyhKlTp9KmTRssLCzw9PRk8ODBAHTp0oUXL14we/Zs7t69i729PTNmzKBOnToA/Pbbb0yePJkePXqg0WioXLkyixcvNihOa9So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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_ = sns.barplot(x=coefficients, y=otherDescriptors)"
]
},
{
"cell_type": "markdown",
"id": "6e3fd121",
"metadata": {},
"source": [
"## What type of errors are we making? Confusion matrix\n",
"\n",
"We have calculated before a statistical accuracy of the predictor. But in a classification task, there are different types of mispredictions, and we may want to check those. For example, in some applications we could be interested to minimize specifically _false positives_ or _false negatives_.\n",
"\n",
"We can obtain detailed information by calculating and displaying the **[confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix)** for the model."
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "9c1ca59a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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XV0fWNMff/wBgIuLS7Y/R/p70tcyZVXLjRs3SEtLy1RLehcnJ/bs2cP06dP5/fffKVasGF5eXhQrVgzIeO+jv/6agflzXbp0yVJ3TEwMtWvXzvI89+7dy3FtImI9CkMiBlCsWDGefvrph3qvs7MzTk5OfPLJJ1nur1KlCocOHQIgPj6eatWqWfalh5eslChRAsCyrubP7zly5EiWV7elvyckJISqVatm2v/EE09QqlQpbGxsuHr1aqbj5sTZs2cZNGgQrVq1YvHixZYpu08//TTT1F96GPyzK1euWAKZs7MzzzzzDKNGjcryXFl1wUQk/2iaTET+1jPPPMPdu3dJS0vj6aeftrx+++03FixYQHJyMvXr18fR0ZGvvvoqw3vTp5SyUq1aNUqXLs3OnTszbP/yyy/p168fiYmJ2Nhk/COqbt26FClShMuXL2eopUiRIoSGhnL+/HkcHByoX78+33zzTYbuzbfffpujz3348GESExPp37+/JQgBliD052PHxMQQExNj+f7SpUv89NNPNG7cGDD/Gp4+fRp3d/cMdW/atIl169Zha2ubo9pExLrUGRKRv+Xn54ePjw+BgYEEBgbi4eHBoUOHCA8Pp2nTppbuR2BgIHPnzqVo0aL4+vqya9euvw1Dtra2DBkyhHfeeYfJkycTEBDAmTNnmDt3Lq+99hplypSxdIK2b99O8+bN8fDwoG/fvoSFhXH79m0aN27M5cuXCQsLw2QyUbNmTQCCg4N54403GDx4MK+++ipnzpxh0aJFOfrctWvXxs7OjlmzZtG7d2/L5f7ff/89AHfv3rWMdXBwIDAwkGHDhpGSkkJYWBilSpXijTfeAP67Dqpnz5707t2b0qVLs3XrVtauXWu5fYCIFByFIRH5WzY2NnzwwQeEhYWxePFi4uPjKVeuHD179mTQoEGWcf3798fJyYlly5axbNky6tevz+jRo5k8efIDj92tWzecnJyIjIxk/fr1lCtXjt69e1vWBDVu3JgmTZoQGhrKvn37+OCDDwgKCsLV1ZWVK1eydOlSSpYsybPPPktwcDDOzs4ANGrUiCVLljB79mwGDx7Mk08+yfTp0xkwYEC2P3eVKlUIDQ1l/vz5DBw4kJIlS1KvXj2WL19Ojx49OHjwoOWeSV5eXrRr147Jkydz69Ytnn32Wd5++21LUCxXrhyrV68mNDSUyZMnk5iYSNWqVZk2bRr/+te/cvp/iYhYmSlNT0AUERERA9OaIRERETE0hSERERExNIUhERERMTSFIRERETE0hSERERExNIUhERERMTSFIRERETE0hSERERExNIUhERERMTSFIRERETE0hSERERExNIUhERERMbT/B4J4WgjTl2TiAAAAAElFTkSuQmCC",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ConfusionMatrixDisplay.from_estimator(\n",
" logistic_regression, data_test, target_test, display_labels=['not soluble', 'soluble'],\n",
" normalize=None, cmap=plt.cm.Blues\n",
")\n",
"plt.grid(False)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "8e863630",
"metadata": {},
"source": [
"We can see that, in this case, we tend to predict more insoluble molecules as soluble, than we predict soluble molecules as insoluble. We can link this trend to the nature of the training data set, which is biased towards soluble molecules."
]
},
{
"cell_type": "markdown",
"id": "6e03f913",
"metadata": {},
"source": [
"## Multiclass classification\n",
"\n",
"The characterization of confusion matrices is also very interesting when we have multiclass classification tasks. The logistic regression algorithm can also be used for multi-class classification. We are going to test this by defining the solubility of molecules in 3 classes:\n",
"- highly soluble (> 1 mM)\n",
"- medium solubility (30 μM to 1 mM)\n",
"- low solubility (< 30 μM)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "1e18e75d",
"metadata": {},
"outputs": [],
"source": [
"def isSoluble3(s):\n",
" if s > np.log10(1e-3):\n",
" return 'high'\n",
" elif s > np.log10(30e-6):\n",
" return 'medium'\n",
" else:\n",
" return 'low'\n",
"\n",
"df['Soluble3'] = df['Solubility'].apply(isSoluble3)"
]
},
{
"cell_type": "markdown",
"id": "cbbe356c",
"metadata": {},
"source": [
"We are also going to use now a bigger dataset, this time by introducing the data in G1 group (where only one experimental measurement of solubility is available):"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "0309910c",
"metadata": {},
"outputs": [],
"source": [
"df2 = df[df['Group'].isin(['G1', 'G3', 'G5'])]"
]
},
{
"cell_type": "markdown",
"id": "bb94bd07",
"metadata": {},
"source": [
"Let’s see how this new data looks like:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "0ddb4c4e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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oigiPz8f6enpvBqMiIiInFaDwk9oaCgEQaixTRRFnvYiIiIip9Wg8DNlypQaw4+3tzd69eqFdu3aWVoXERERkU00KPxMnTrV2nUQERER2UWD5/xoNBrs2LEDOTk5KC0thZ+fHyIiIhAbGwulUmnNGomIiIispkHhp7S0FE899RROnTqFli1bonnz5jhz5gx2796NDz/8EJs2bYKPj4+1ayUiIiKyWIMudV+6dCkKCgqwceNGfPnll8jKysKXX36JjRs3oqioCCtWrLB2nURERERW0aDwc/DgQcyYMQMRERFGyyMiIjBt2jR88cUXVimOiIiosZDJBPj6uNX6q6m31e4uQxZq0N9EWVkZ7rrrrhrb7rrrLly7ds2SmoiIiBofUcSlr7bV2hzYe7gdi6G6NOjIz913342vvvqqxraDBw+ibdu2FhVFREREZCsNOvIzduxYzJo1CxqNBoMHD0azZs1w5coV7Nq1C9u2bUNycrKVyyQiIiKyjgaFn4EDB+Ls2bNYvXo1tm37+xBfkyZNMGXKFIwYMcJqBRIREbmCqjlBACAA0Gsq4eMhg/jXSRhRBEpuaB1YoXQ0KPyUl5dj8uTJiI+Px/Hjx1FSUoL8/HyMGDECTZs2tXaNREREjd9tc4JkMgHuHgpUVmig14sAOCfInuo15+fkyZMYMmQI3n//fQCASqVCjx490KNHDyxfvhxPPvkkn+hORERETs3s8HP+/Hk888wzKCkpQceOHY3aFAoF5s6di7KyMjz55JMoKCiweqFERERS19S79kvpeTm9+cz+Ka1ZswZ+fn7YsmULfH19jdo8PDwQHx+PAQMGYNiwYVi9ejUnPRMREVmZIICX01uB2Ud+srOzMW7cuGrB53YBAQEYPXo0srOzrVEbERERkdWZHX4uX75s1v17QkJCeNqLiIiInJbZp738/f1RWFhost/Vq1frPDpEREREtnH75fQ14eX0t5gdfiIjI7Fjxw4MGjSozn47d+7Evffea3FhRETOysunya0btdRGBMqu37RbPUQGfMSGWcwOPwkJCRg5ciRef/11zJw5E0ql0qhdo9Fg2bJlOHToENasWWP1QomInIYAbD3+Wa3N/+5S95dEInIss8PPAw88gDlz5uC1117DJ598gocffhitW7eGTqfDxYsXkZOTg+LiYkyfPh3R0dG2rJmIiIiowep1Q4BR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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_ = sns.scatterplot(data=df2, x='MolWt', y='MolLogP', hue='Soluble3', s=5)"
]
},
{
"cell_type": "markdown",
"id": "67534ed1",
"metadata": {},
"source": [
"The workflow now should be familiar to you, but you can make changes and experiment!"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "1b187832",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Records in training data: 7173\n",
"Records in testing data: 2391\n"
]
}
],
"source": [
"train, test = train_test_split(df2, random_state=42)\n",
"print('Records in training data:', len(train))\n",
"print('Records in testing data:', len(test))\n"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "d110fabf",
"metadata": {},
"outputs": [],
"source": [
"data_train = train[otherDescriptors]\n",
"data_test = test[otherDescriptors]\n",
"\n",
"target_train = train['Soluble3']\n",
"target_test = test['Soluble3']"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "e8e55dad",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/fx/miniforge3/envs/binder-environment/lib/python3.12/site-packages/sklearn/linear_model/_logistic.py:470: ConvergenceWarning: lbfgs failed to converge after 100 iteration(s) (status=1):\n",
"STOP: TOTAL NO. OF ITERATIONS REACHED LIMIT\n",
"\n",
"Increase the number of iterations to improve the convergence (max_iter=100).\n",
"You might also want to scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
" n_iter_i = _check_optimize_result(\n"
]
}
],
"source": [
"logistic_regression = make_pipeline(\n",
" StandardScaler(), LogisticRegression(penalty=None)\n",
")\n",
"_ = logistic_regression.fit(data_train, target_train)"
]
},
{
"cell_type": "markdown",
"id": "0090ae94",
"metadata": {},
"source": [
"⚠️ That error is not usual, though. What is happening? Because we have more data (and many descriptors), the numerical procedure for the fitting of the linear model did not converge within the default number of iterations. We have to increase that number (`max_iter`) from 100 to 500:"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "a7f263ad",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
"
],
"text/plain": [
"Pipeline(steps=[('standardscaler', StandardScaler()),\n",
" ('logisticregression',\n",
" LogisticRegression(max_iter=500, penalty=None))])"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"logistic_regression = make_pipeline(\n",
" StandardScaler(), LogisticRegression(penalty=None, max_iter=500)\n",
")\n",
"logistic_regression.fit(data_train, target_train)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "02db51af",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train accuracy: 0.7023560574376133\n",
"Test accuracy: 0.698870765370138\n",
"Accuracy of dummy classifier: 0.5771643663739021\n"
]
}
],
"source": [
"train_accuracy = logistic_regression.score(data_train, target_train)\n",
"print('Train accuracy:', train_accuracy)\n",
"\n",
"test_accuracy = logistic_regression.score(data_test, target_test)\n",
"print('Test accuracy:', test_accuracy)\n",
"\n",
"# What about the accuracy of a dummy classifier?\n",
"dummy = DummyClassifier(strategy='most_frequent')\n",
"dummy.fit(data_train, target_train)\n",
"\n",
"test_accuracy = dummy.score(data_test, target_test)\n",
"print('Accuracy of dummy classifier:', test_accuracy)"
]
},
{
"cell_type": "markdown",
"id": "5f1b6c0c",
"metadata": {},
"source": [
"So the accuracy for our “simple” linear model is now lower for 3-way classification than for binary classification. But what about the confusion matrix?"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "3df8a100",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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LFhg1UP+QAf9PTZ00J/j0EF/jkUH/TmGLDvoLzmFy7cT/nvgvyiW34WczvY/gWP/dygiIiIOR79aiIiI2Axr7IRyjOeRK8ERERGxEQYsXyjsGOmNpqhERETEDqmCIyIiYkMcpQJjKSU4IiIiNsTSKSpHoSkqERERsTuq4IiIiNgUlXDMoQRHRETEhmiKyjyaohIRERG7owqOiIiIDVEBxzxKcERERGyFFZ4I7igZkhIcERERG2L5oxocg9bgiIiIiN1RBUdERMSWqIBjFiU4IiIiNkT5jXk0RSUiIiJ2RxUcERERG2HA8l1UjlIBUoIjIiJiQ7SLyjyaohIRERG7owqOiIiILVEBxyxKcERERGyI8hvzaIpKRERE7I4qOCIiIjbE4mdROQglOCIiIjZEu6jMowRHRETEhqiCYx6twRERERG7owRHRERE7I6mqERERGyIpqjMowqOiIiI2B1VcERERGyEAct3UTlKAUgJjoiIiA3RFJV5NEUlIiIidkcVHBERERuiAo55lOCIiIjYCgOWZzgOkiFpikpERETsjio4IiIiNkTPojKPEhwREREbol1U5lGCIyIiYkOU35hHa3BERETE7qiCIyIiYktUwjGLEhwRERGboSXG5tIUlYiIiNgdQ2pqamp2ByGQkppKfGJKdochWcAlh36vcCQGbXlxCAayZndTaipY+kM7q2LNbkpwRERExO7oV0kRERGxO0pwRERExO4owRERERG7owRHRERE7I4SHBEREbE7SnBERETE7ijBEREREbujBEdERETsjhIcERERsTtKcERERMTuKMERERERu6MER0REROyOEhwRERGxO0pwxCoqVKjA+vXrH9gfGhpKcHCw2dcbMmQIHTt2tEZo8oj91/97cTwdO3ZkyJAhAOzbt48KFSpw6dKlbI5KHI0SHMkSXbp0Ye3atdkdhohkserVq/Pzzz9TpEiR7A5FHEyO7A5AHEPu3LnJnTt3dochIlnMxcWFQoUKZXcY4oBUwRGrCQsLo3PnzlStWpV69eoxd+5cY98/p6guXLhAt27dqF69OvXq1WPhwoU0bdrUZKojMTGRTz75hDp16hAQEEDPnj25ceNGlt6TZN7OnTtp06aN8f/t+PHjiY+PByAkJIQxY8YYx27dupUKFSrw7bffGts+/fRT2rVrl+VxO4IKFSqwceNGXn/9dapWrUrTpk3Zvn0727dv59lnnyUgIICuXbty8+ZN43vOnDlj8m914MCBXL9+3difkJDAuHHjqFOnDjVr1mTSpEmkpKQY+/85RRUcHExoaKhJXP+c0vL39+eXX36hefPmVKlShVdffZWwsDBmz55N3bp1qVWrFqNHjyY1NfVRfrnExinBEatZunQpL774It9++y3t2rVj8uTJ7N27N9242NhYOnXqREpKCitWrGDq1Kls2LCBixcvmow7dOgQUVFRLFu2jLlz53L48GE+/fTTrLodeQhbt27l7bffpmHDhqxbt47Ro0fz3Xff8e677wJpP9x2795tHL93714MBgO//PKLsW3Xrl00adIky2N3FGPGjKF9+/Zs3LiRsmXLMnDgQGbPns2ECROYM2cOR44cYd68eQBERETQrl07ihcvztq1a5kzZw7R0dG0bduWe/fuGa+3adMmxo8fz4oVK7hy5QoHDhywKMbk5GTGjx/PuHHjWL16NZGRkbRt25YzZ86wZMkSBgwYwNKlS9m5c6elXw6xY0pwxGpee+01XnrpJYoXL07Pnj3x8PDg6NGj6cZt2rSJmzdvMmnSJPz8/KhZsyYTJ05M99tYoUKFGD16NGXKlKF27do0b948w+vJ42Pu3Lk0bdqUXr16UaZMGRo3bsyIESPYsmULZ86coXHjxpw9e5bw8HAA9uzZQ9OmTdm3bx8Aly5d4vTp0zz99NPZeRt2LSQkhGeffZYSJUoYE5X+/ftTtWpVgoKCeOqppzh58iQAK1asoHDhwnz44Yf4+vpSuXJlpk6dyo0bN9i8eTPR0dGsX7+ed955h4YNG1KuXDnGjRtnlSmpd955h4CAACpWrMgzzzxDTEwMo0ePxtfXl7Zt21KwYEFOnTpl8ecR+6UER6ymdOnSJh/nzZvXODXxd8eOHaN06dLkz5/f2FahQgU8PDxMxpUoUQJnZ2fjx/ny5SMuLs66QYtVnTx5kho1api0BQYGAvDnn39SuXJlvL292b17NxEREVy4cIG33nqL8+fPEx4ezq5duyhbtiwlS5bMjvAdwt//nbq5uQFQvHhxY5urqysJCQlA2r/VM2fOUL16deOrbt26xMfHc+bMGcLCwkhMTKRKlSom769YsaJV48yVKxcFCxYkV65cJp8no+8vIvdpkbFYzd+TkfsymiN3dnY2maPPzPXk8ZaamorBYDBpS05OBiBHjrRvN40aNWL37t04OztTuXJlKlWqRLFixdi3bx87d+5U9eYRu///4e/++f/svpSUFIKCghgxYkS6Pg8PDy5fvmz25/i7f35fSExM/M9rODnp93HJHP2NkSzn5+fH+fPnuX37trHt7Nmz3L17N/uCEqsoX748Bw8eNGm7vx7D19cXgCZNmrB37152795NUFAQAEFBQezcuZN9+/Zp/c1jpFy5cpw5c4YiRYpQsmRJSpYsSb58+Rg3bhwnT57E19cXV1dXk//nSUlJnDhx4oHXzJkzp8m/9ZSUFJ2RI4+EEhzJci1btqRAgQIMGjSIEydOcPjwYQYNGgQ8+DdJsQ1vvvkmW7ZsYebMmYSFhbFjxw5Gjx5N48aNjQlOUFAQ8fHxfP/998YEp06dOnz//ffky5fPZLpDsle7du24e/cuAwYM4Pjx45w4cYKBAwdy5MgRypUrh7u7Ox06dGD69OnGdVYjRowgIiLigdesUaMGmzZtYv/+/YSFhTFy5Ej9ciOPhKaoJMu5uLgwf/58PvroI9q0aUO+fPl46623OHr0KDlz5szu8MQCzZo1Izk5mblz5zJ79mw8PT1p2bIlffv2NY5xdXWlbt26/Pjjj8b1OnXq1CE1NZXg4GAluY+R4sWLs3TpUiZNmkS7du1wdnYmICCAxYsX4+XlBcDAgQNxdXXlo48+IiYmhmbNmv3rqeX9+/cnKiqKbt26kStXLl555RWaN2+uLd9idYZU/a2SLHbp0iXOnTtHvXr1jG0RERE0aNCAZcuWUbNmzWyMTkRE7IGmqCTLxcfH0717dxYsWMDFixc5duwYw4cPp1SpUlSrVi27wxMRETugCo5ki82bNzNnzhzCwsJwc3OjTp06DB48mKJFi2Z3aCIiYgeU4IiIiIjd0RSViIiI2B0lOCIiImJ3lOCIiIiI3VGCIyJWp6V9IpLdlOCIPGY6duxIhQoVTF6VK1emUaNGjBo1iqioqEf2udevX0+FChWMR+eHhoZSoUIFs99/9epVevTo8cBnFGXGpUuXqFChAuvXr3/gmCFDhvzroXLWek9GzIlPRLKPTjIWeQz5+/ubPOAwMTGRP/74g8mTJ3P8+HFWrFiRJSf+vvLKK9SvX9/s8Xv27GHnzp0MHz78EUYlIvLflOCIPIby5MlDQECASVtgYCAxMTFMnz6d33//PV3/o+Dj44OPj88j/zwiItamKSoRG1K5cmUArly5AqRNZ7377rv07duXGjVq0L17dyDttOhPP/2Uhg0bUrlyZZ5//nk2bdpkcq2UlBRmzZpFo0aNqFatGj179kw3/ZXRFNW3335Lq1atqFatGo0aNWLChAkkJCSwfv163n//fSDtieFDhgwxvmfNmjW0aNHCONUWGhpKUlKSyXW3bNnCCy+8QNWqVQkJCfnXJ1I/SFxcHJMmTeKZZ56hcuXK1KhRg86dO3P8+PF0Y1etWkWjRo2oWrUqb7zxBseOHTPpv3LlCgMGDKBWrVpUq1YtwzEi8vhSgiNiQ8LCwoC0hyDe991335EzZ05mzpzJ66+/TmpqKr169WLlypV07tyZ2bNnU716dfr378+XX35pfN+ECROYOXMmrVu3ZsaMGRQoUIBJkyb96+dfuXIlAwYMoGLFisyYMYMePXqwfPlyRo4cSaNGjXj77bcBmDFjBj179gRg7ty5DB8+nDp16jBnzhzat2/PvHnz+PDDD43X3b59O3379qVcuXLMmDGDZs2aGZ8wnxmDBw9m7dq1dO/enYULFzJkyBBOnjxJ//79TRY+X716ldDQUPr168fkyZOJiori9ddf5+bNmwDcvHmTtm3b8scffzB8+HAmTZpESkoK7du358yZM5mOS0SynqaoRB5DqampJhWOqKgofv31V2bPnk1AQICxkgPg5OTE6NGjcXd3B2D37t389NNPTJkyhebNmwNQv359YmNjmThxIi1btuTevXssWbKE119/nT59+hjHRERE8NNPP2UYU0pKCqGhoTRt2pSxY8ca2+Pj49mwYQN58uShRIkSAFSsWJEnnniCu3fvMnv2bF599VWGDRsGQL169cifPz/Dhg2jc+fOlCtXjpkzZ1KpUiVjgtWgQQOA/0y4/i4hIYGYmBiGDx9uvO9atWoRExPD+PHjuX79OoULFwYgOTmZGTNmGKf5qlWrxtNPP82iRYsYMGAAixcv5vbt26xYsYJixYoZY2revDnTpk1j+vTpZsclItlDFRyRx9D+/fupVKmS8VW3bl0GDBhApUqVmDx5sskC4yeeeMKY3ADs3bsXg8FAw4YNSUpKMr6Cg4O5fv06p06d4vDhwyQmJtKkSROTz9usWbMHxhQWFsaNGzd4+umnTdo7derEV199hYuLS7r3HDp0iNjYWIKDg9PFAmnJWFxcHH/88UemYsmIi4sLCxYsoHnz5ly7do39+/ezatUqduzYAaQt1L6vaNGiJmuYChUqREBAAHv27AHSvoYVK1bE29vbGLOTkxMNGjQwjhGRx5sqOCKPoUqVKjFq1CgADAYDrq6uFClShDx58qQbW7BgQZOPb9++TWpqKjVq1Mjw2teuXePOnTsAeHp6mvQVKlTogTHdvn0bAC8vL7Pv4/577q8NyiiWqKgoUlNT08Vyv9qSGT/99BPjxo3j7Nmz5M6dmwoVKpA7d27A9Gyef37NIO2+wsPDjXGfP3+eSpUqZfh5YmNjMx2biGQtJTgij6HcuXNTpUqVh3qvh4cH7u7ufPHFFxn2lyxZkiNHjgAQGRlJmTJljH33E5KM5M2bF8C4TuXv7/njjz8y3NV1/z0TJ06kVKlS6foLFixI/vz5cXJy4saNG+mumxkXLlygV69eNGnShLlz5xqny5YtW5Zu2u1+gvd3169fNyZZHh4e1KpVi8GDB2f4uTKqVonI40VTVCJ2platWty7d4/U1FSqVKlifJ06dYqZM2eSlJRE9erVcXNzY/PmzSbvvT+dk5EyZcpQoEABtm3bZtL+zTff0K1bN+Lj43FyMv2WUq1aNXLmzElERIRJLDlz5mTSpElcunQJV1dXqlevzpYtW0yqLNu3b8/UfR89epT4+Hh69OhhTG4AY3Lz92ufP3+e8+fPGz8ODw/n0KFD1K5dG0j7GoaFhVG6dGmTuL/++mvWrFmDs7NzpmITkaynCo6InWnYsCGBgYH07NmTnj174uvry5EjRwgNDaVevXrGKkXPnj2ZOnUquXLlIigoiF27dv1rguPs7EyfPn346KOPGDlyJE2bNuXcuXNMnTqV1157DU9PT2PF5ocffqBBgwb4+vrStWtXpk2bRnR0NLVr1yYiIoJp06ZhMBjw8/MDYMCAAbzxxhv07t2bV199lXPnzjF79uxM3XelSpXIkSMHEyZMoEuXLsat6zt37gTg3r17xrGurq707NmT/v37k5yczLRp08ifPz9vvPEG8Ne6ok6dOtGlSxcKFCjApk2bWL16tXErvIg83pTgiNgZJycnPvvsM6ZNm8bcuXOJjIzE29ubTp060atXL+O4Hj164O7uzuLFi1m8eDHVq1fnvffeY+TIkQ+8dvv27XF3d2fBggWsXbsWb29vunTpYlxjU7t2berWrcukSZPYu3cvn332Gf369aNQoUIsX76c+fPnky9fPurUqcOAAQPw8PAAoGbNmsybN4/JkyfTu3dvnnjiCcaNG8dbb71l9n2XLFmSSZMmMWPGDN5++23y5ctHQEAAS5YsoWPHjhw4cMB4pk+FChVo0aIFI0eO5O7du9SpU4cPPvjAmPx5e3uzcuVKJk2axMiRI4mPj6dUqVKMHTuWl19+ObP/S0QkGxhS9VQ8ERERsTNagyMiIiJ2RwmOiIiI2B0lOCIiImJ3lOCIiIiI3VGCIyIiInZHCY6IiIjYHSU4IiIiYneU4IiIiIjdUYIjIiIidkcJjoiIiNgdJTgiIiJid5TgiIiIiN35fza4MwgfrxVCAAAAAElFTkSuQmCC",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ConfusionMatrixDisplay.from_estimator(\n",
" logistic_regression, data_test, target_test,\n",
" normalize=None, cmap=plt.cm.Blues\n",
")\n",
"plt.grid(False)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "def01a19",
"metadata": {},
"source": [
"We can see what is happening: the model has a hard time predicting “medium” solubility: predictions for both low and high solubility have higher accuracy, but most of the records whose true label is medium, are predicted as either high or low (but not medium).\n",
"\n",
"Maybe a linear model is not ideal for this task. Could another type of model perform better?"
]
},
{
"cell_type": "markdown",
"id": "93bf6254",
"metadata": {},
"source": [
"## Using a nearest neighbors model\n",
"\n",
"Another category of classification models is that of [nearest neighbors methods](https://scikit-learn.org/stable/modules/neighbors.html#nearest-neighbors-classification). It is a type of **non-parametric learning**, in that it does not attempt to find ideal parameters in an general internal model (like a linear model). Instead, the “training” simply stores a copy of the training data, and classification is done by looking this data up.\n",
"\n",
"> _Nonparametric methods are good when you have a lot of data and no prior knowledge, and when you don’t want to worry too much about choosing just the right features._ ([Artificial Intelligence: A Modern Approach](http://aima.cs.berkeley.edu))\n",
"\n",
"In neighbors-based methods, classification is computed from a simple majority vote of the nearest neighbors of the point to be predicted. The $k$-nearest neighbors classification ([`KNeighborsClassifier`](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html#sklearn.neighbors.KNeighborsClassifier)) is the most common technique: for each new point, it will predict based on a fixed number ($k$) of neighbors in the training data."
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "0c43f58e",
"metadata": {},
"outputs": [],
"source": [
"kNN = make_pipeline(\n",
" StandardScaler(), KNeighborsClassifier(n_neighbors=5)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "eda70581",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
"
],
"text/plain": [
"Pipeline(steps=[('standardscaler', StandardScaler()),\n",
" ('kneighborsclassifier', KNeighborsClassifier())])"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kNN.fit(data_train, target_train)"
]
},
{
"cell_type": "markdown",
"id": "93102bf9",
"metadata": {},
"source": [
"We see that, even though the model chosen is very different in nature (kNN instead of logistic regression), the workflow remains the same, and the `scikit-learn` functions are the same:\n",
"- create a pipeline, combining normalization and a ML model\n",
"- call the `fit` function on training data\n",
"- call the `score` function on test data"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "e0dd3e2b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test accuracy: 0.7590966122961104\n"
]
}
],
"source": [
"test_accuracy = kNN.score(data_test, target_test)\n",
"print('Test accuracy:', test_accuracy)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "fb94b5af",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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aGioccyQIUNITU1lzJgxJCYmEhQURHh4uHFhsTnnMIchIyMjw6pXJ3cl+sxF/B8Zl9dhSC64sm9uXocguSgpJe2/B4nN83B1wsnp3iceJy/eoMm4bRad4/txD1G5VGErRZR/aYpKRERE7I6mqERERGyEAcunqPLvBJd1KcERERGxIfl5DU5+oikqERERsTuq4IiIiNgQVXDMowRHRETEZlhjLxvHSJA0RSUiIiJ2RxUcERERW2HA8gKMYxRwlOCIiIjYEq3BMY8SHBERERuiBMc8WoMjIiIidkcVHBERERuiAo55lOCIiIjYCD2qwXyaohIRERG7owqOiIiIDdEUlXmU4IiIiNgQ3UVlHk1RiYiIiN1RBUdERMSGqIBjHiU4IiIitsIATk4WZjgOkiBpikpERETsjio4IiIiNkRTVOZRgiMiImJDdBeVeZTgiIiI2IjMnYwtP4cj0BocERERsTuq4IiIiNgQTVGZRwmOiIiIzTBYIcFxjARJU1QiIiJid1TBERERsRUGK9wm7hgFHCU4IiIitkRrcMyjKSoRERGxO6rgiIiI2BAVcMyjBEdERMSGaIrKPJqiEhEREbujCo6IiIgNUQHHPEpwREREbETms6gsy3AcJT9SgiMiImJDVMExj9bgiIiIiN1RBUdERMSG6C4q8yjByScql/Pk/J45eR2G5IKIqMt5HYLkonqVi+d1CGJP9KgGs2mKSkREROyOKjgiIiI2RFNU5lGCIyIiYkOU35hHU1QiIiJid1TBERERsSGaojKPEhwREREbkbmTseXncASaohIRERG7owqOiIiIzTBYYYrKMWo4SnBERERsiNbgmEcJjoiIiK3QTsZm0xocERERMVtKSgozZ86kRYsW1KtXjy5duvDjjz8a+w8dOkS3bt0IDAykRYsWhIeHmxyfnp7OnDlzaNq0KQEBAfTu3ZuTJ09aPU4lOCIiIjbEYDBY9LLUggULWL9+PZMmTeKTTz6hatWq9OvXj7i4OK5cuUKvXr2oUqUK69evZ/DgwcyePZv169cbj58/fz6rV69m0qRJrFmzBoPBQL9+/UhOTrY4tr/TFJWIiIgNyeslONu3b6djx440adIEgFGjRvHRRx/x888/c+LECVxcXBg3bhwFChTA19eXkydPsnjxYjp16kRycjJLly5l+PDhNG/eHICZM2fStGlTtm7dSocO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4kWaNGnC008/zfjx4+86lvT0DG4k3/WXQmzIjyev5nUIkovqVS6e1yFILijiYsApF0orl24kM3n7cYvOMbpVVTwLu1gpovzrrhKciIgIpk2bxm+//YbBYOCjjz5i8eLFeHt7M2rUqHsRp91TguM4lOA4FiU4jiE3E5wpO6ItOsdrIT4OkeDkeJHxnj176NOnD25ubrzyyivczo/8/f354IMPeO+996wepIiIiEhO5DjBmTVrFq1ateLDDz/k2WefNSY4/fv3p2/fvnz00UdWD1JEREQyORksezmKHCc4hw4dolOnzK24/3m72YMPPsjZs2etE5mIiIiYMmQ+qsGSVzYbTNulHCc4Hh4eXLhwIdu+mJgYPDx054uIiIg9++STT2jfvj116tShQ4cObNq0ydh36NAhunXrRmBgIC1atCA8PNzk2PT0dObMmUPTpk0JCAigd+/enDx50uox5jjBadWqFTNnzuTXX381thkMBmJjY1m4cCEtWrSwZnwiIiLyN04Gg0UvS3366ae89tprPP3003zxxRe0b9+eYcOG8dNPP3HlyhV69epFlSpVWL9+PYMHD2b27NmsX7/eePz8+fNZvXo1kyZNYs2aNRgMBvr160dycrLFsf1dju+iio+Pp0ePHhw5coRSpUpx4cIFqlSpQmxsLGXLlmXFihWULFnSqkE6At1F5Th0F5Vj0V1UjiG37qK6fDOZaTtPWHSOV1pUoaT73d1FlZGRQatWrWjbti0jR440tvfp04eGDRsCsGLFCnbs2GF8CsCMGTPYsmULmzdvJjk5meDgYIYPH84zz2Q+a/DatWs0bdqUKVOmGB9ebQ053uivWLFifPTRR3zyySfs3buXq1ev4uHhQffu3XniiScoVKiQ1YITERERU3n5tIXjx49z9uxZHnnkEZP229NQ/fr1IygoyJjcQOYmuYsWLeLSpUucPXuWGzduGJ8GAFC0aFH8/f3Zt29f3iY4AC4uLjz11FM89dRTVgtEREREcse5c+fo3r37Hfu3b9+ebfuJEycAuHnzJn369CEyMpIKFSrw/PPPExISQmxsLDVqmD40t3Tp0sb3jI2NBaBs2bJZxsTExNzt5WQrxwnOJ5988p9jHn/88bsIRURERP6dNdbR3P3xCQkJAIwcOZIXXniBV155ha+++oqBAwfy3nvvkZiYiIuL6fSXq2vmo1mS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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ConfusionMatrixDisplay.from_estimator(\n",
" kNN, data_test, target_test,\n",
" normalize=None, cmap=plt.cm.Blues\n",
")\n",
"plt.grid(False)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "25e05065",
"metadata": {},
"source": [
"The accuracy is actually well improved! The $k$-nearest neighbors classifier has an accuracy of 76% (up from 70% for the logistic regression). We see in particular that it improved the quality of prediction for the “medium” solubility significantly… although it is still not ideal."
]
},
{
"cell_type": "markdown",
"id": "1ac8fb59",
"metadata": {},
"source": [
"## Going further…\n",
"\n",
"Based on the dataset given here, we have introduced classification tasks (both binary and multi-class) and see two algorithms at play. Here are some directions that you might want to explore in the future:\n",
"\n",
"- The $k$-nearest neighbors method depends on one crucial hyperparameter: $k$. How does the number of neighbors impact the model? What happens for very small and very large values of $k$? For this data set, what is the value that provides the best accuracy?\n",
"- Another family of classification algorithms are [decision trees](https://scikit-learn.org/stable/modules/tree.html). They are relatively easy to understand and interpret. Can you train a decision tree for this task? How does the accuracy compare with other models? Does an ensemble method (like a [random forest](https://scikit-learn.org/stable/modules/ensemble.html#forests-of-randomized-trees)) perform better than a single decision tree?\n",
"- How do the models produced for the “small” (highly accurate) data set and “big” data set compare? Can we make statistical comparisons between the values present in both data sets?\n",
"- We have set up our problem as a classification task by defining cut-off values of solubility for soluble and insoluble molecules. Could we, as an alternative, use the same solubility data to create a _regression_ task? How would the resulting predictions compare?"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1cf20519",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.12.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}