Skip to content
Snippets Groups Projects
Lets_rock.ipynb 148 KiB
Newer Older
Antoine Lucas's avatar
Antoine Lucas committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Example of Rock type classification\n",
    "=====\n",
    "\n",
    "This is a simple example of classification of rock types using Scikit-Learn lib. We take the major and some trace elements as features in order to classify some rock samples. The data base is obtained from georoc : http://georoc.mpch-mainz.gwdg.de/.\n",
    "\n",
    "\n",
    " Antoine Lucas (lucas@ipgp.fr) \n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "-----------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Some Preambule"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "np.set_printoptions(precision=4)\n",
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import confusion_matrix\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn import metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We need to arrange the data in a nice way. We change the label into interger ans we replace some Nans with 0 (although this may not be ideal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def GetData(filename):\n",
    "    rock_df = pd.read_csv(filename,sep=';')\n",
    "    rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"VOLCANIC ROCK\"] = 0\n",
    "    rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"MANTLE XENOLITH\"] = 1\n",
    "    rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"PLUTONIC ROCK\"] = 2\n",
    "    rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"METAMORPHIC ROCK\"] = 3\n",
    "\n",
    "    X = rock_df.copy()\n",
    "\n",
    "\n",
    "    lbl=['SIO2(WT%)', 'TIO2(WT%)', 'AL2O3(WT%)','CAO(WT%)', 'MGO(WT%)'];\n",
    "    X  = X[lbl]\n",
    "    X = X.fillna(0)\n",
    "\n",
    "\n",
    "    y = rock_df[\"ROCK TYPE\"]\n",
    "    y = np.asarray(y)\n",
    "    y=y.astype(int)\n",
    "    dtype = pd.CategoricalDtype(['a', 'b','c','d'], ordered=True)\n",
    "\n",
    "    pd.Categorical.from_codes(codes=y, dtype=dtype)\n",
    "    return X,y,lbl\n",
    "\n",
    "def DoClassif(classif,X_train,X_test,y_train,y_test,name):\n",
    "    \n",
    "    classif.fit(X_train,y_train)\n",
    "    y_pred=classif.predict(X_test)\n",
    "    accuracy = accuracy_score(y_test, y_pred)\n",
    "    print(\"Accuracy (train) for %s: %0.1f%% \" % (name, accuracy * 100))\n",
    "    cnf_matrix = metrics.confusion_matrix(y_test, y_pred)\n",
    "    class_names=[0,1] # name  of classes\n",
    "    fig, ax = plt.subplots()\n",
    "    tick_marks = np.arange(len(class_names))\n",
    "    plt.xticks(tick_marks, class_names)\n",
    "    plt.yticks(tick_marks, class_names)\n",
    "    # create heatmap\n",
    "    sns.heatmap(pd.DataFrame(cnf_matrix), annot=True, cmap=\"YlGnBu\" ,fmt='g')   \n",
    "    ax.xaxis.set_label_position(\"top\")\n",
    "    plt.tight_layout()\n",
    "    plt.title('Confusion matrix', y=1.1)\n",
    "    plt.ylabel('Actual label')\n",
    "    plt.xlabel('Predicted label')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/_g/1hjn4l610d19qpg4_12q4mxm0000gn/T/ipykernel_11620/3937813518.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"VOLCANIC ROCK\"] = 0\n",
      "/var/folders/_g/1hjn4l610d19qpg4_12q4mxm0000gn/T/ipykernel_11620/3937813518.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"MANTLE XENOLITH\"] = 1\n",
      "/var/folders/_g/1hjn4l610d19qpg4_12q4mxm0000gn/T/ipykernel_11620/3937813518.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"PLUTONIC ROCK\"] = 2\n",
      "/var/folders/_g/1hjn4l610d19qpg4_12q4mxm0000gn/T/ipykernel_11620/3937813518.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  rock_df[\"ROCK TYPE\"][rock_df[\"ROCK TYPE\"] == \"METAMORPHIC ROCK\"] = 3\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SIO2(WT%)</th>\n",
       "      <th>TIO2(WT%)</th>\n",
       "      <th>AL2O3(WT%)</th>\n",
       "      <th>CAO(WT%)</th>\n",
       "      <th>MGO(WT%)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>60.73</td>\n",
       "      <td>1.08</td>\n",
       "      <td>16.75</td>\n",
       "      <td>3.55</td>\n",
       "      <td>1.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>63.34</td>\n",
       "      <td>0.78</td>\n",
       "      <td>16.18</td>\n",
       "      <td>2.45</td>\n",
       "      <td>0.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>52.93</td>\n",
       "      <td>0.50</td>\n",
       "      <td>6.51</td>\n",
       "      <td>20.18</td>\n",
       "      <td>15.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>52.18</td>\n",
       "      <td>0.32</td>\n",
       "      <td>7.42</td>\n",
       "      <td>19.67</td>\n",
       "      <td>15.22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>51.15</td>\n",
       "      <td>0.87</td>\n",
       "      <td>7.30</td>\n",
       "      <td>16.53</td>\n",
       "      <td>15.41</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   SIO2(WT%)  TIO2(WT%)  AL2O3(WT%)  CAO(WT%)  MGO(WT%)\n",
       "0      60.73       1.08       16.75      3.55      1.11\n",
       "1      63.34       0.78       16.18      2.45      0.78\n",
       "2      52.93       0.50        6.51     20.18     15.11\n",
       "3      52.18       0.32        7.42     19.67     15.22\n",
       "4      51.15       0.87        7.30     16.53     15.41"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X,y,lbl = GetData(\"RockData2.csv\")\n",
    "X.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, we want to train our model, so we split the data set into a training set and a test set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=41)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We instantiate the model (using the default parameters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "logreg = LogisticRegression(max_iter=5000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "fit the model with data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(max_iter=5000)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "logreg.fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now make a prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred=logreg.predict(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we evaluate the results by analysing the confusion matrix:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy on test data: 0.76\n",
      " \n",
      "0: VOLCANIC ROCK\n",
      "1: MANTLE XENOLITH\n",
      "2: PLUTONIC ROCK\n",
      "3: METAMORPHIC ROCK\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"Accuracy on test data: {:.2f}\".format(logreg.score(X_test, y_test)))\n",
    "print(\" \")\n",
    "\n",
    "cnf_matrix = confusion_matrix(y_test, y_pred)\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "class_names=[0,1,2,3] # name  of classes\n",
    "fig, ax = plt.subplots()\n",
    "tick_marks = np.arange(len(class_names))\n",
    "plt.xticks(tick_marks, class_names)\n",
    "plt.yticks(tick_marks, class_names)\n",
    "# create heatmap\n",
    "sns.heatmap(pd.DataFrame(cnf_matrix), annot=True, cmap=\"YlGnBu\" ,fmt='g')\n",
    "ax.xaxis.set_label_position(\"top\")\n",
    "plt.tight_layout();\n",
    "plt.title('Confusion matrix', y=1.1);\n",
    "plt.ylabel('Actual label');\n",
    "plt.xlabel('Predicted label');\n",
    "\n",
    "print(\"0: VOLCANIC ROCK\")\n",
    "print(\"1: MANTLE XENOLITH\")\n",
    "print(\"2: PLUTONIC ROCK\")\n",
    "print(\"3: METAMORPHIC ROCK\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's assess now the feature importance from the Logistic Regression Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[False  True False False False]\n",
      "[5 1 4 3 2]\n",
      "[[-0.0731  0.1422 -0.1495 -0.0777 -0.1442]\n",
      " [ 0.0288 -0.3011  0.0655  0.0876  0.1268]\n",
      " [ 0.0196  0.3178  0.0537 -0.0438  0.0293]\n",
      " [ 0.0247 -0.1589  0.0303  0.0339 -0.012 ]]\n",
      "[5 1 4 3 2]\n",
      "[4 0 3 2 1]\n",
      "[-4.1265  1.6439  2.6833 -0.2007]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from  sklearn.feature_selection import RFE\n",
    "feat_selec = RFE(logreg,n_features_to_select=1)\n",
    "feat_selec = feat_selec.fit(X_train,y_train)\n",
    "feat_impo_order = feat_selec.ranking_\n",
    "\n",
    "\n",
    "# Print the feature ranking\n",
    "\n",
    "print(feat_selec.support_)\n",
    "print(feat_selec.ranking_)\n",
    "\n",
    "indices = (feat_impo_order)-1\n",
    "print(logreg.coef_)\n",
    "print(feat_impo_order)\n",
    "print(indices)\n",
    "print(np.dot(logreg.coef_,np.std(X,0)))\n",
    "# Plot the feature importances of the forest\n",
    "plt.figure()\n",
    "plt.bar(range(X.shape[1]), feat_impo_order[indices],\n",
    "       color=\"r\", align=\"center\")\n",
    "plt.xticks(range(X.shape[1]), [lbl[element] for element in indices])\n",
    "plt.xlim([-1, X.shape[1]])\n",
    "plt.ylabel('Feature importance rank')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's be more specific on this ranking and on the respective contribution by performing permutation over the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEUCAYAAABkhkJAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAzVElEQVR4nO3df3xP9f//8dtrM9XasMl459dbZJMl+ZGxUX7ONrNSeleiQsvPqHdMSCkp4k3lR295x1uJT6GGdxIb2hJhek/yK/m1ha3Z2BY22/P7h6/zNuwXM2frfr1cXNrrnOfznMfznLX7zvN1XmcOY4xBRETkBnO60QWIiIiAAklERGxCgSQiIragQBIREVtQIImIiC0okERExBYUSFJqEhISaNSoEWFhYda/7t27s2TJkhtSz+eff87ChQuL1W7RokXMmTOnxGro0KEDO3bsKLHtFdX69et59913S32/RbVhwwamTZsGwIwZM1i7dm2xtxEWFsapU6dKurQ84uPjGTduHAAZGRn079+fM2fOXNd9lmcVbnQB8udy8803ExkZab0+fvw43bp1w9fXFx8fn1KtZdu2bdx5553Favf4449f77JKxY4dOzh58uSNLuOKMjIymDJlCp999hkAmzdvpkGDBsXezsXfZ9fLL7/8wvHjxwFwc3OjW7duvPvuu0RERFz3fZdHCiS5oapXr07dunU5ePAgPj4+fP755yxatIjc3FyqVKnCK6+8Qv369Rk1ahRpaWkcOXKEBx54gJSUFG6++Wb27t1LSkoKHTp0oEqVKqxbt47k5GQmTJhA69atGTVqFHfeeSf9+vUDsF7XqVOH6OhovvvuO26++WYCAwMZN24cKSkpJCcnU7NmTaZPn05cXFyedidOnCA1NZVx48axb98+Xn/9ddLS0nA4HPTt25cHH3yQzZs3M23aNGrXrs2+ffs4d+4c48ePp3nz5gUei7vvvptnnnmGjRs38scffzBkyBC+/vpr9u7di5eXFx988AGurq7cddddPPvss8TExPDHH3/w4osv0qVLFwBmzpzJf/7zH5ydnalXrx6vvPIK1apVo3fv3lSuXJlff/2V4OBgFi9eTE5ODu7u7jz33HO89tprHDp0iLS0NG699VamTJnCHXfcQe/evWnatClxcXEcPXqU1q1b88Ybb+Dk5MS6deuYPn06ubm5uLq6Mn78eHx8fIiLi2PKlCmcPn0aJycnhgwZQvv27UlOTiYiIoLU1FQA7r//foYPH37Zcfj0008JCAjglltuYeHChfz0009MnjwZZ2dnoqKi8nwfPPLII7z++utkZmaSnJyMj48P06dP56abbsLb25vvv/+e9evXs2bNGpycnDh06BA333wzkyZNon79+nn2W1B9V/q+dHV15b333iM9PZ2XX36Zt956i6CgIKZMmUK/fv247bbbruV/jT8nI1JKjhw5Ypo2bZpnWVxcnGnZsqX57bffzObNm80TTzxh/vjjD2OMMTExMaZr167GGGMiIiLMU089ZfWLiIgwPXv2NFlZWSYpKck0bNjQLFiwwBhjzPz5880zzzxjtZs7d26efhdeX/z1/PnzzT//+U9jjDG5ubmmf//+5l//+tdl7d577z0zfvx4k52dbTp27GhWr15tjDHm2LFjpm3btiYuLs5s2rTJNGrUyPz888/GGGP+9a9/mV69el3xmLRv397Ex8cbY4xp2LCh+fe//22MMeaf//ynuffee82xY8dMTk6Oeeihh8zy5cutdrNnzzbGGLNr1y7TvHlzk5KSYpYsWWL+9re/mczMTKvWvn37GmOMefLJJ83LL79s7ffCOIwxZtWqVeaNN96w1r3yyivm9ddft/o9//zzJicnx6Snp5uAgADz/fffm+TkZNO8eXOzc+dOY4wxq1evNv369TNpaWmmS5cu5siRI9ZxadeunUlMTDQzZswwr7zyijHGmMzMTDN8+HBz6tSpy47JQw89ZDZt2mS9fvLJJ82qVausc3Hx98Hbb79tvvzyS2OMMVlZWaZbt27m66+/to5TSkqKWbp0qWnevLk5evSoMcaY119/3YwcOfKy/eZXX0Hfl0uXLjXh4eF5tvPcc8+ZJUuWXLZ9KZyukKRUnTlzhrCwMABycnLw8PDgnXfe4S9/+Qsff/wxhw4d4rHHHrPanzp1irS0NIDLrjDat2+Pi4sL1apVw9XVlbZt2wJQp04dq09RPfXUU2zdupV58+Zx8OBB9u3bxz333JNv+4MHD3L27FnryqR69ep06dKFmJgYWrVqxe23306jRo0AuOuuu/jiiy+KVEdgYKA1hoYNG1K9enUAatWqlWeK7cknnwTAx8eHhg0bsmXLFr799lt69OiBq6srAH369OGDDz4gKysLgBYtWlxxn127dqV2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hQsXlvq+hwwZwtChQ/H29i5yH03Zla7yOCYon+Mqj2OCaxuXl1elEp+yu5o/P+EePr9I27raekt1yu56qlatGp07d87zgdjSEB8fT82aNYsVRiIixeHj0+hGl1As16veMvUH+p5++ulS32eTJk2ueCu4iEhJ+fbbzTe6hGK5XvWWmSskEREp3xRIIiJiCwokERGxBQWSiIjYQpm6qUFERIqmuI8iWjW0I0FX6OPh4VFSJRVKgSQiUs5c7Weakl65fFlpfm5MU3YiImILCiQREbEFBZKIiNiCAklERGxBgSQiIragQBIREVtQIImIiC0okERExBYUSCIiYgsKJBERsQUFkoiI2IICSUREbEGBJCIitqBAEhERW1AgiYiILSiQRETEFhRIIiJiCwokERGxBQWSiIjYggJJRERsQYEkIiK2UOFGFyByNRo2rENaWtoV160a2pGg96OoUqUKe/ceLt3CROSq6QpJyqS0tDSSkk5Z/4wx1tcNq1cmKelUvoElIvakQBIREVtQIImIiC0okERExBYUSCIiYgsKJLG1du1alclti0jxKZDE1nbv3lUmty0ixVfkQNq7dy/e3t6sXr3aWtahQwcSEhIua7tt2zYeeeQRwsLCeOqpp0hMTLTWxcTE0LNnT4KCgggJCWHixImcPn3aWv/uu+8SHBxMSEgI8+bNy7PdkSNH8ttvv3HvvffmuaW3R48ePPPMM9brX3/9lQ4dOjB79mzCwsIICwvD29vb+nr27NmkpKTw8MMP06VLF7755hur77Bhw0hJSbFez58/n3Xr1hX1MEkZtWzZ5zRt6oOXVyW8vCrRtKkPy5Z9fqPLEvlTKXIgLV26lK5du/J///d/hbYdMWIEEyZMIDIyktDQUCZMmADA999/z6uvvsprr73GqlWr+OKLLzh37hyDBg3CGMMPP/zApk2bWL58OUuXLuXjjz/m119/BWDdunVUr16d22+/nWbNmvHjjz8CcOLECQAOHDhgBdu2bdto06YNAwcOJDIyksjISADr64EDB7Jy5Uq6du3K4sWLmT17tlXfnXfeSdWqVa2xPPHEE8yePZusrKyiHiopY5Yt+5wxYyLIycnhs8++5LPPvuTcuRzGjo1QKImUoiIFUnZ2NitWrGD48OHs3LmTw4fz//R7VlYWw4YNw8fHBwBvb2+OHj0KwKxZsxgyZAiNGzcG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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.inspection import permutation_importance\n",
    "result = permutation_importance(logreg, X, y, n_repeats=15,\n",
    "                                random_state=42, n_jobs=2)\n",
    "\n",
    "sorted_idx = result.importances_mean.argsort()\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "ax.boxplot(result.importances[sorted_idx].T,\n",
    "           vert=False, labels=X_train.columns[sorted_idx])\n",
    "ax.set_title(\"Permutation Importances (train set)\")\n",
    "fig.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So, clearly CaO, TiO2 and Si02 may lead to overfitting. We may consider removing them, or converting them to element ratios for instance (i.e., change in feature space domain). We can also consider the minor elements as well. And finally, we can also consider other classifier:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/alucas/miniconda/envs/lsforce/lib/python3.10/site-packages/sklearn/linear_model/_logistic.py:814: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
      "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
      "\n",
      "Increase the number of iterations (max_iter) or 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"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy (train) for LogisticRegression: 74.5% \n",
      "Accuracy (train) for QuadraticDiscriminantAnalysis: 72.7% \n",
      "Accuracy (train) for SVC: 77.3% \n",
      "Accuracy (train) for GaussianProcessClassifier: 85.2% \n",
      "Accuracy (train) for DecisionTreeClassifier: 80.1% \n"
     ]
    },
    {
     "data": {
      "image/png": "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1xGDCYiISNaMa2abGExAREQyZmxTq8VgAiIikjEFlFKHUGNMQEREMlabDeGkxgRERCRrTEBERCQBjgEREZFEOA2biIgkwBYQERFJgpMQiIhIIkxAREQkAQXHgIiISBpsARERkQQ4BkRERBJhAiIiIglwDIiIiCTCFhAREUmAX0QlIiJJcBICERFJhGNAREQkATl3wck3dRIRERQKE1GHGElJSfD29oanpyfi4+PrPHa2gIiIZM0w7YisrCwsWrQImzdvhrm5OYYNG4Y+ffrA1dW1zupgAiIikjGxXXBqtRpqtbpKuZ2dHezs7HTnqampeOGFF9CsWTMAwMCBA5GcnIzQ0NBaxfswWSQgpaKb1CEQERkpN1FXx8V9i9jY2CrloaGhCAsL051nZ2fD3t5ed65SqXD69Omah/kIskhARERUN0JCQhAYGFil/OHWDwBotdpKU7wFQajzKd9MQEREjcg/u9oex9HREcePH9ed5+TkQKVS1WksnAVHRERVvPjiizh8+DDy8vJQXFyMPXv2oF+/fnVaB1tARERUhYODAyZOnIgRI0agvLwcQ4YMQbdudTserxAEQajTOxIRET0BdsEREZEkmICIiEgSTEBERCQJJiAiIpIEExAREUmCCaiGDL1KbENVWFgIX19f3LhxQ+pQZCE2NhY+Pj7w8fHBggULpA5HNhYvXgxvb2/4+PhgxYoVUodDj8EEVAN/rxK7du1abN26FevXr8elS5ekDsvonTp1CsHBwUhPT5c6FFlITU3FwYMHsWXLFmzduhVnz57F3r17pQ7L6B07dgxHjhzB9u3bsWnTJqxevRpXrlyROix6BCagGnh4lVhra2vdKrFUvcTERERFRdX5ch4Nlb29PaZOnQpzc3OYmZmhffv2uHXrltRhGb3evXtj1apVMDU1xZ07d6DRaGBtbS11WPQIXAmhBupjldiGaO7cuVKHICsdOnTQ/Zyeno5du3YhISFBwojkw8zMDN988w1++ukneHl5wcHBQeqQ6BHYAqqB+lglluhvf/31F0aNGoUpU6agXbt2UocjG+Hh4Th8+DAyMzORmJgodTj0CExANeDo6IicnBzduSFWiSUCgBMnTmDkyJH45JNPHrmEPlV1+fJlnD9/HgBgZWUFT09P/PnnnxJHRY/CBFQD9bFKLFFmZibGjx+PmJgY+Pj4SB2ObNy4cQORkZEoKytDWVkZfvnlF/Ts2VPqsOgROAZUA/WxSizR8uXLUVpainnz5unKhg0bhuDgYAmjMn4eHh44ffo0AgICoFQq4enpyQRupLgaNhERSYJdcEREJAkmICIikgQTEBERSYIJiIiIJMEEREREkmACIiIiSTABERGRJP4/fNUsQSyG8kAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAE6CAYAAABQy4Z8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAwFUlEQVR4nO3deVhUZf8/8PcMmyCCYgyoLC4IPo9rmZlFolbsxKKVVIpZqSVQlpq4lkuuZSZfy3o0EVHTXDFFM5MyUNPH3K1cABUEXGBCZJs5vz/8NY+GOB5kuOfg++V1rotz5nDOe0YuPtz3uc99VJIkSSAiIqpnatEBiIjowcQCREREQrAAERGRECxAREQkBAsQEREJwQJERERCsACRyeh0Onz99deIiopCeHg4goODMXfuXFRUVNzXMd98800EBARgxYoVsr//6NGjiI+Pr/X569pff/2FwYMH1/h6eHg4tFptPSYiqj8q3gdEpjJp0iQUFxdjxowZaNKkCUpLSzF69Gg0btwYc+fOrdUxc3NzERAQgN9++w0WFhZ1nLj+XbhwAWFhYTh06JDoKET1ji0gMokLFy4gNTUVH330EZo0aQIAsLOzw4cffohnnnkGwM2//kePHo3Q0FCEhYVhzpw5qKqqAgB07twZCxcuxMCBA9GvXz+sXLkSJSUleP3111FVVYWoqCjk5OTAx8cHV69eNZz37/Xr168jPj4e4eHhiIyMxMSJE6HX67Fv3z6EhobW6vx30rlzZ3zyyScYMGAAgoODsXXrVsTHxyMwMBCDBw9GaWkpAODbb7/F888/j4iICPTt29dwvISEBJSVlSE8PBw6nQ6dOnXC22+/jYCAABw9etTwfhITEzFw4EDodDoUFhbC19cXe/fuNcH/HFE9kohMIC0tTerfv/9d9xk7dqw0bdo0Sa/XS+Xl5dLQoUOlxYsXS5IkSd7e3lJycrIkSZJ09OhRqVOnTlJZWZl0/vx5qVu3boZjeHt7S1euXKm2vmHDBmno0KGSJElSVVWVNGHCBCkrK0vau3evFBISUuvz/5O3t7eUlJQkSZIkLV68WHr44YelS5cuSTqdToqMjJQ2b94slZSUSC+88IJ09epVSZIk6dChQ4b3cKf3s2HDhmrvp6qqSnr55ZelxYsXS0OGDJE+//xzY/8FRGaPLSAyCbVaDb1ef9d9fvrpJ7zyyitQqVSwtrbGwIED8dNPPxlef/rppwEAHTt2REVFhaE1cS+6d++O06dPY9CgQfjyyy8RExMDT09Pk5w/ICAAAODh4QFvb2+4uLhArVbDzc0NxcXFaNy4Mb744gukp6fj008/xRdffHHX9/Loo49W22ZhYYF58+bhq6++giRJGD58+D1/FkTmigWITKJLly44e/YsSkpKbtuen5+PYcOGoaysDHq9HiqVyvCaXq83dIEBgI2NDQAY9pGMXK68dXCDu7s7vv/+ewwbNgwlJSV49dVXsWvXrtv2r6vzW1lZ3fHrv126dAkRERG4ePEiunfvjnfeeeeu78POzu6O2y9evAgbGxvk5OSguLj4rscgUgIWIDIJFxcXhIWFYfz48YYiVFJSgg8++ABNmzZFo0aN4OvrixUrVkCSJFRUVGDNmjV44oknZJ3HyckJR48eBQBs2bLFsH3lypVISEiAr68vxowZA19fX5w4ceK2762L89+LY8eOwcnJCW+99RZ8fX3x448/Arg5os/S0hI6nc5ocdVqtRgzZgxmzZqF0NBQTJgwoc5zEtU3FiAymSlTpsDLywsDBw5EeHg4nn/+eXh5eWH69OkAgIkTJ+Lq1asICwtDWFgY2rRpgxEjRsg6x8SJEzF16lRERkbizJkzcHZ2BgBERERAp9MhODgYUVFR+OuvvzBo0KBq33u/578XTz75JFxcXBAYGIigoCDk5eXByckJ2dnZcHZ2RpcuXRASEoJr167d9X326dMHvr6+iI2Nxfnz55GSklLnWYnqE4dhExGREGwBERGRECxAREQkBAsQEREJwQJERERCsAAREZEQLEBERCQECxAREQnBAkREREKwABERkRAsQEREJAQLEBERCcECREREQrAAERGRECxAREQkBAsQEREJwQJERERCsAAREZEQLEBUry5cuIB//etfCA8PNyzPPfccvv322/s+9vDhw7F+/XoAQHh4OLRabY37/vXXXxg8eLDsc6SlpVV7tDcA7Nu3D6GhoUa/38fHB1evXpV1znHjxmHJkiWyvodICSxFB6AHT6NGjbBp0ybDen5+PkJDQ9GpUyd06NChTs5x6/HvpLi4GEePHq2TcxFR7bAAkXAuLi7w9PREVlYWTpw4gW+//RY3btyAvb09kpOTsXbtWqxatQp6vR5NmzbFpEmT0K5dO+Tn52PcuHEoKChAy5Yt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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "logreg = LogisticRegression()\n",
    "Name=\"LogisticRegression\";\n",
    "DoClassif(logreg,X_train,X_test,y_train,y_test,Name)\n",
    "\n",
    "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\n",
    "Name=\"QuadraticDiscriminantAnalysis\";\n",
    "qda = QuadraticDiscriminantAnalysis()\n",
    "DoClassif(qda,X_train,X_test,y_train,y_test,Name)\n",
    "\n",
    "from sklearn.svm import SVC\n",
    "cl = SVC()\n",
    "Name=\"SVC\";\n",
    "DoClassif(cl,X_train,X_test,y_train,y_test,Name)\n",
    "\n",
    "from sklearn.gaussian_process import GaussianProcessClassifier\n",
    "Name=\"GaussianProcessClassifier\";\n",
    "cl = GaussianProcessClassifier()\n",
    "DoClassif(cl,X_train,X_test,y_train,y_test,Name)\n",
    "\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "cl = DecisionTreeClassifier()\n",
    "Name=\"DecisionTreeClassifier\";\n",
    "DoClassif(cl,X_train,X_test,y_train,y_test,Name)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "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.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}