{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "ir",
      "display_name": "R"
    },
    "language_info": {
      "name": "R"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "dv0dUJ5bVE5Z",
        "outputId": "c9383c87-257c-4c8d-c9a6-ec5f5274520c"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Installing package into ‘/usr/local/lib/R/site-library’\n",
            "(as ‘lib’ is unspecified)\n",
            "\n",
            "Installing package into ‘/usr/local/lib/R/site-library’\n",
            "(as ‘lib’ is unspecified)\n",
            "\n",
            "also installing the dependency ‘Deriv’\n",
            "\n",
            "\n",
            "Installing package into ‘/usr/local/lib/R/site-library’\n",
            "(as ‘lib’ is unspecified)\n",
            "\n",
            "also installing the dependencies ‘listenv’, ‘parallelly’, ‘future’, ‘globals’, ‘shape’, ‘future.apply’, ‘numDeriv’, ‘progressr’, ‘SQUAREM’, ‘diagram’, ‘lava’, ‘prodlim’, ‘proxy’, ‘iterators’, ‘clock’, ‘gower’, ‘hardhat’, ‘ipred’, ‘sparsevctrs’, ‘timeDate’, ‘e1071’, ‘foreach’, ‘ModelMetrics’, ‘plyr’, ‘pROC’, ‘recipes’, ‘reshape2’\n",
            "\n",
            "\n",
            "Loading required package: ggplot2\n",
            "\n",
            "Loading required package: lattice\n",
            "\n"
          ]
        }
      ],
      "source": [
        "install.packages(\"mlbench\")\n",
        "install.packages(\"neuralnet\")\n",
        "install.packages(\"caret\")\n",
        "\n",
        "library(mlbench)\n",
        "library(neuralnet)\n",
        "library(caret)"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "data(BreastCancer)\n",
        "\n",
        "df <- BreastCancer\n",
        "df <- df[complete.cases(df), ]\n",
        "df"
      ],
      "metadata": {
        "id": "MaQ0-NF-VIFX",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "be723489-a896-4bfd-e005-bdacffc4d6cc"
      },
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<table class=\"dataframe\">\n",
              "<caption>A data.frame: 683 × 11</caption>\n",
              "<thead>\n",
              "\t<tr><th></th><th scope=col>Id</th><th scope=col>Cl.thickness</th><th scope=col>Cell.size</th><th scope=col>Cell.shape</th><th scope=col>Marg.adhesion</th><th scope=col>Epith.c.size</th><th scope=col>Bare.nuclei</th><th scope=col>Bl.cromatin</th><th scope=col>Normal.nucleoli</th><th scope=col>Mitoses</th><th scope=col>Class</th></tr>\n",
              "\t<tr><th></th><th scope=col>&lt;chr&gt;</th><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;fct&gt;</th><th scope=col>&lt;fct&gt;</th><th scope=col>&lt;fct&gt;</th><th scope=col>&lt;fct&gt;</th><th scope=col>&lt;fct&gt;</th></tr>\n",
              "</thead>\n",
              "<tbody>\n",
              "\t<tr><th scope=row>1</th><td>1000025</td><td>5 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>2</th><td>1002945</td><td>5 </td><td>4 </td><td>4 </td><td>5 </td><td>7</td><td>10</td><td>3</td><td>2 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>3</th><td>1015425</td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>2 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>4</th><td>1016277</td><td>6 </td><td>8 </td><td>8 </td><td>1 </td><td>3</td><td>4 </td><td>3</td><td>7 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>5</th><td>1017023</td><td>4 </td><td>1 </td><td>1 </td><td>3 </td><td>2</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>6</th><td>1017122</td><td>8 </td><td>10</td><td>10</td><td>8 </td><td>7</td><td>10</td><td>9</td><td>7 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>7</th><td>1018099</td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>10</td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>8</th><td>1018561</td><td>2 </td><td>1 </td><td>2 </td><td>1 </td><td>2</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>9</th><td>1033078</td><td>2 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>1 </td><td>5</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>10</th><td>1033078</td><td>4 </td><td>2 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>11</th><td>1035283</td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>12</th><td>1036172</td><td>2 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>13</th><td>1041801</td><td>5 </td><td>3 </td><td>3 </td><td>3 </td><td>2</td><td>3 </td><td>4</td><td>4 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>14</th><td>1043999</td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>3 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>15</th><td>1044572</td><td>8 </td><td>7 </td><td>5 </td><td>10</td><td>7</td><td>9 </td><td>5</td><td>5 </td><td>4</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>16</th><td>1047630</td><td>7 </td><td>4 </td><td>6 </td><td>4 </td><td>6</td><td>1 </td><td>4</td><td>3 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>17</th><td>1048672</td><td>4 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>18</th><td>1049815</td><td>4 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>19</th><td>1050670</td><td>10</td><td>7 </td><td>7 </td><td>6 </td><td>4</td><td>10</td><td>4</td><td>1 </td><td>2</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>20</th><td>1050718</td><td>6 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>21</th><td>1054590</td><td>7 </td><td>3 </td><td>2 </td><td>10</td><td>5</td><td>10</td><td>5</td><td>4 </td><td>4</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>22</th><td>1054593</td><td>10</td><td>5 </td><td>5 </td><td>3 </td><td>6</td><td>7 </td><td>7</td><td>10</td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>23</th><td>1056784</td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>25</th><td>1059552</td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>3</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>26</th><td>1065726</td><td>5 </td><td>2 </td><td>3 </td><td>4 </td><td>2</td><td>7 </td><td>3</td><td>6 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>27</th><td>1066373</td><td>3 </td><td>2 </td><td>1 </td><td>1 </td><td>1</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>28</th><td>1066979</td><td>5 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>29</th><td>1067444</td><td>2 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>30</th><td>1070935</td><td>1 </td><td>1 </td><td>3 </td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>31</th><td>1070935</td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>1 </td><td>2</td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>⋮</th><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td><td>⋮</td></tr>\n",
              "\t<tr><th scope=row>670</th><td>1350423</td><td>5 </td><td>10</td><td>10</td><td>8 </td><td>5</td><td>5 </td><td>7 </td><td>10</td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>671</th><td>1352848</td><td>3 </td><td>10</td><td>7 </td><td>8 </td><td>5</td><td>8 </td><td>7 </td><td>4 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>672</th><td>1353092</td><td>3 </td><td>2 </td><td>1 </td><td>2 </td><td>2</td><td>1 </td><td>3 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>673</th><td>1354840</td><td>2 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>3 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>674</th><td>1354840</td><td>5 </td><td>3 </td><td>2 </td><td>1 </td><td>3</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>675</th><td>1355260</td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>676</th><td>1365075</td><td>4 </td><td>1 </td><td>4 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>677</th><td>1365328</td><td>1 </td><td>1 </td><td>2 </td><td>1 </td><td>2</td><td>1 </td><td>2 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>678</th><td>1368267</td><td>5 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>679</th><td>1368273</td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>680</th><td>1368882</td><td>2 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>681</th><td>1369821</td><td>10</td><td>10</td><td>10</td><td>10</td><td>5</td><td>10</td><td>10</td><td>10</td><td>7</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>682</th><td>1371026</td><td>5 </td><td>10</td><td>10</td><td>10</td><td>4</td><td>10</td><td>5 </td><td>6 </td><td>3</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>683</th><td>1371920</td><td>5 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>3 </td><td>2 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>684</th><td>466906 </td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>685</th><td>466906 </td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>686</th><td>534555 </td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>687</th><td>536708 </td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>688</th><td>566346 </td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2 </td><td>3 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>689</th><td>603148 </td><td>4 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>690</th><td>654546 </td><td>1 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>8</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>691</th><td>654546 </td><td>1 </td><td>1 </td><td>1 </td><td>3 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>692</th><td>695091 </td><td>5 </td><td>10</td><td>10</td><td>5 </td><td>4</td><td>5 </td><td>4 </td><td>4 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>693</th><td>714039 </td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>694</th><td>763235 </td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>2 </td><td>1 </td><td>2</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>695</th><td>776715 </td><td>3 </td><td>1 </td><td>1 </td><td>1 </td><td>3</td><td>2 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>696</th><td>841769 </td><td>2 </td><td>1 </td><td>1 </td><td>1 </td><td>2</td><td>1 </td><td>1 </td><td>1 </td><td>1</td><td>benign   </td></tr>\n",
              "\t<tr><th scope=row>697</th><td>888820 </td><td>5 </td><td>10</td><td>10</td><td>3 </td><td>7</td><td>3 </td><td>8 </td><td>10</td><td>2</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>698</th><td>897471 </td><td>4 </td><td>8 </td><td>6 </td><td>4 </td><td>3</td><td>4 </td><td>10</td><td>6 </td><td>1</td><td>malignant</td></tr>\n",
              "\t<tr><th scope=row>699</th><td>897471 </td><td>4 </td><td>8 </td><td>8 </td><td>5 </td><td>4</td><td>5 </td><td>10</td><td>4 </td><td>1</td><td>malignant</td></tr>\n",
              "</tbody>\n",
              "</table>\n"
            ],
            "text/markdown": "\nA data.frame: 683 × 11\n\n| <!--/--> | Id &lt;chr&gt; | Cl.thickness &lt;ord&gt; | Cell.size &lt;ord&gt; | Cell.shape &lt;ord&gt; | Marg.adhesion &lt;ord&gt; | Epith.c.size &lt;ord&gt; | Bare.nuclei &lt;fct&gt; | Bl.cromatin &lt;fct&gt; | Normal.nucleoli &lt;fct&gt; | Mitoses &lt;fct&gt; | Class &lt;fct&gt; |\n|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1 | 1000025 | 5  | 1  | 1  | 1  | 2 | 1  | 3 | 1  | 1 | benign    |\n| 2 | 1002945 | 5  | 4  | 4  | 5  | 7 | 10 | 3 | 2  | 1 | benign    |\n| 3 | 1015425 | 3  | 1  | 1  | 1  | 2 | 2  | 3 | 1  | 1 | benign    |\n| 4 | 1016277 | 6  | 8  | 8  | 1  | 3 | 4  | 3 | 7  | 1 | benign    |\n| 5 | 1017023 | 4  | 1  | 1  | 3  | 2 | 1  | 3 | 1  | 1 | benign    |\n| 6 | 1017122 | 8  | 10 | 10 | 8  | 7 | 10 | 9 | 7  | 1 | malignant |\n| 7 | 1018099 | 1  | 1  | 1  | 1  | 2 | 10 | 3 | 1  | 1 | benign    |\n| 8 | 1018561 | 2  | 1  | 2  | 1  | 2 | 1  | 3 | 1  | 1 | benign    |\n| 9 | 1033078 | 2  | 1  | 1  | 1  | 2 | 1  | 1 | 1  | 5 | benign    |\n| 10 | 1033078 | 4  | 2  | 1  | 1  | 2 | 1  | 2 | 1  | 1 | benign    |\n| 11 | 1035283 | 1  | 1  | 1  | 1  | 1 | 1  | 3 | 1  | 1 | benign    |\n| 12 | 1036172 | 2  | 1  | 1  | 1  | 2 | 1  | 2 | 1  | 1 | benign    |\n| 13 | 1041801 | 5  | 3  | 3  | 3  | 2 | 3  | 4 | 4  | 1 | malignant |\n| 14 | 1043999 | 1  | 1  | 1  | 1  | 2 | 3  | 3 | 1  | 1 | benign    |\n| 15 | 1044572 | 8  | 7  | 5  | 10 | 7 | 9  | 5 | 5  | 4 | malignant |\n| 16 | 1047630 | 7  | 4  | 6  | 4  | 6 | 1  | 4 | 3  | 1 | malignant |\n| 17 | 1048672 | 4  | 1  | 1  | 1  | 2 | 1  | 2 | 1  | 1 | benign    |\n| 18 | 1049815 | 4  | 1  | 1  | 1  | 2 | 1  | 3 | 1  | 1 | benign    |\n| 19 | 1050670 | 10 | 7  | 7  | 6  | 4 | 10 | 4 | 1  | 2 | malignant |\n| 20 | 1050718 | 6  | 1  | 1  | 1  | 2 | 1  | 3 | 1  | 1 | benign    |\n| 21 | 1054590 | 7  | 3  | 2  | 10 | 5 | 10 | 5 | 4  | 4 | malignant |\n| 22 | 1054593 | 10 | 5  | 5  | 3  | 6 | 7  | 7 | 10 | 1 | malignant |\n| 23 | 1056784 | 3  | 1  | 1  | 1  | 2 | 1  | 2 | 1  | 1 | benign    |\n| 25 | 1059552 | 1  | 1  | 1  | 1  | 2 | 1  | 3 | 1  | 1 | benign    |\n| 26 | 1065726 | 5  | 2  | 3  | 4  | 2 | 7  | 3 | 6  | 1 | malignant |\n| 27 | 1066373 | 3  | 2  | 1  | 1  | 1 | 1  | 2 | 1  | 1 | benign    |\n| 28 | 1066979 | 5  | 1  | 1  | 1  | 2 | 1  | 2 | 1  | 1 | benign    |\n| 29 | 1067444 | 2  | 1  | 1  | 1  | 2 | 1  | 2 | 1  | 1 | benign    |\n| 30 | 1070935 | 1  | 1  | 3  | 1  | 2 | 1  | 1 | 1  | 1 | benign    |\n| 31 | 1070935 | 3  | 1  | 1  | 1  | 1 | 1  | 2 | 1  | 1 | benign    |\n| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n| 670 | 1350423 | 5  | 10 | 10 | 8  | 5 | 5  | 7  | 10 | 1 | malignant |\n| 671 | 1352848 | 3  | 10 | 7  | 8  | 5 | 8  | 7  | 4  | 1 | malignant |\n| 672 | 1353092 | 3  | 2  | 1  | 2  | 2 | 1  | 3  | 1  | 1 | benign    |\n| 673 | 1354840 | 2  | 1  | 1  | 1  | 2 | 1  | 3  | 1  | 1 | benign    |\n| 674 | 1354840 | 5  | 3  | 2  | 1  | 3 | 1  | 1  | 1  | 1 | benign    |\n| 675 | 1355260 | 1  | 1  | 1  | 1  | 2 | 1  | 2  | 1  | 1 | benign    |\n| 676 | 1365075 | 4  | 1  | 4  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 677 | 1365328 | 1  | 1  | 2  | 1  | 2 | 1  | 2  | 1  | 1 | benign    |\n| 678 | 1368267 | 5  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 679 | 1368273 | 1  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 680 | 1368882 | 2  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 681 | 1369821 | 10 | 10 | 10 | 10 | 5 | 10 | 10 | 10 | 7 | malignant |\n| 682 | 1371026 | 5  | 10 | 10 | 10 | 4 | 10 | 5  | 6  | 3 | malignant |\n| 683 | 1371920 | 5  | 1  | 1  | 1  | 2 | 1  | 3  | 2  | 1 | benign    |\n| 684 | 466906  | 1  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 685 | 466906  | 1  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 686 | 534555  | 1  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 687 | 536708  | 1  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 688 | 566346  | 3  | 1  | 1  | 1  | 2 | 1  | 2  | 3  | 1 | benign    |\n| 689 | 603148  | 4  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 690 | 654546  | 1  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 8 | benign    |\n| 691 | 654546  | 1  | 1  | 1  | 3  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 692 | 695091  | 5  | 10 | 10 | 5  | 4 | 5  | 4  | 4  | 1 | malignant |\n| 693 | 714039  | 3  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 694 | 763235  | 3  | 1  | 1  | 1  | 2 | 1  | 2  | 1  | 2 | benign    |\n| 695 | 776715  | 3  | 1  | 1  | 1  | 3 | 2  | 1  | 1  | 1 | benign    |\n| 696 | 841769  | 2  | 1  | 1  | 1  | 2 | 1  | 1  | 1  | 1 | benign    |\n| 697 | 888820  | 5  | 10 | 10 | 3  | 7 | 3  | 8  | 10 | 2 | malignant |\n| 698 | 897471  | 4  | 8  | 6  | 4  | 3 | 4  | 10 | 6  | 1 | malignant |\n| 699 | 897471  | 4  | 8  | 8  | 5  | 4 | 5  | 10 | 4  | 1 | malignant |\n\n",
            "text/latex": "A data.frame: 683 × 11\n\\begin{tabular}{r|lllllllllll}\n  & Id & Cl.thickness & Cell.size & Cell.shape & Marg.adhesion & Epith.c.size & Bare.nuclei & Bl.cromatin & Normal.nucleoli & Mitoses & Class\\\\\n  & <chr> & <ord> & <ord> & <ord> & <ord> & <ord> & <fct> & <fct> & <fct> & <fct> & <fct>\\\\\n\\hline\n\t1 & 1000025 & 5  & 1  & 1  & 1  & 2 & 1  & 3 & 1  & 1 & benign   \\\\\n\t2 & 1002945 & 5  & 4  & 4  & 5  & 7 & 10 & 3 & 2  & 1 & benign   \\\\\n\t3 & 1015425 & 3  & 1  & 1  & 1  & 2 & 2  & 3 & 1  & 1 & benign   \\\\\n\t4 & 1016277 & 6  & 8  & 8  & 1  & 3 & 4  & 3 & 7  & 1 & benign   \\\\\n\t5 & 1017023 & 4  & 1  & 1  & 3  & 2 & 1  & 3 & 1  & 1 & benign   \\\\\n\t6 & 1017122 & 8  & 10 & 10 & 8  & 7 & 10 & 9 & 7  & 1 & malignant\\\\\n\t7 & 1018099 & 1  & 1  & 1  & 1  & 2 & 10 & 3 & 1  & 1 & benign   \\\\\n\t8 & 1018561 & 2  & 1  & 2  & 1  & 2 & 1  & 3 & 1  & 1 & benign   \\\\\n\t9 & 1033078 & 2  & 1  & 1  & 1  & 2 & 1  & 1 & 1  & 5 & benign   \\\\\n\t10 & 1033078 & 4  & 2  & 1  & 1  & 2 & 1  & 2 & 1  & 1 & benign   \\\\\n\t11 & 1035283 & 1  & 1  & 1  & 1  & 1 & 1  & 3 & 1  & 1 & benign   \\\\\n\t12 & 1036172 & 2  & 1  & 1  & 1  & 2 & 1  & 2 & 1  & 1 & benign   \\\\\n\t13 & 1041801 & 5  & 3  & 3  & 3  & 2 & 3  & 4 & 4  & 1 & malignant\\\\\n\t14 & 1043999 & 1  & 1  & 1  & 1  & 2 & 3  & 3 & 1  & 1 & benign   \\\\\n\t15 & 1044572 & 8  & 7  & 5  & 10 & 7 & 9  & 5 & 5  & 4 & malignant\\\\\n\t16 & 1047630 & 7  & 4  & 6  & 4  & 6 & 1  & 4 & 3  & 1 & malignant\\\\\n\t17 & 1048672 & 4  & 1  & 1  & 1  & 2 & 1  & 2 & 1  & 1 & benign   \\\\\n\t18 & 1049815 & 4  & 1  & 1  & 1  & 2 & 1  & 3 & 1  & 1 & benign   \\\\\n\t19 & 1050670 & 10 & 7  & 7  & 6  & 4 & 10 & 4 & 1  & 2 & malignant\\\\\n\t20 & 1050718 & 6  & 1  & 1  & 1  & 2 & 1  & 3 & 1  & 1 & benign   \\\\\n\t21 & 1054590 & 7  & 3  & 2  & 10 & 5 & 10 & 5 & 4  & 4 & malignant\\\\\n\t22 & 1054593 & 10 & 5  & 5  & 3  & 6 & 7  & 7 & 10 & 1 & malignant\\\\\n\t23 & 1056784 & 3  & 1  & 1  & 1  & 2 & 1  & 2 & 1  & 1 & benign   \\\\\n\t25 & 1059552 & 1  & 1  & 1  & 1  & 2 & 1  & 3 & 1  & 1 & benign   \\\\\n\t26 & 1065726 & 5  & 2  & 3  & 4  & 2 & 7  & 3 & 6  & 1 & malignant\\\\\n\t27 & 1066373 & 3  & 2  & 1  & 1  & 1 & 1  & 2 & 1  & 1 & benign   \\\\\n\t28 & 1066979 & 5  & 1  & 1  & 1  & 2 & 1  & 2 & 1  & 1 & benign   \\\\\n\t29 & 1067444 & 2  & 1  & 1  & 1  & 2 & 1  & 2 & 1  & 1 & benign   \\\\\n\t30 & 1070935 & 1  & 1  & 3  & 1  & 2 & 1  & 1 & 1  & 1 & benign   \\\\\n\t31 & 1070935 & 3  & 1  & 1  & 1  & 1 & 1  & 2 & 1  & 1 & benign   \\\\\n\t⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n\t670 & 1350423 & 5  & 10 & 10 & 8  & 5 & 5  & 7  & 10 & 1 & malignant\\\\\n\t671 & 1352848 & 3  & 10 & 7  & 8  & 5 & 8  & 7  & 4  & 1 & malignant\\\\\n\t672 & 1353092 & 3  & 2  & 1  & 2  & 2 & 1  & 3  & 1  & 1 & benign   \\\\\n\t673 & 1354840 & 2  & 1  & 1  & 1  & 2 & 1  & 3  & 1  & 1 & benign   \\\\\n\t674 & 1354840 & 5  & 3  & 2  & 1  & 3 & 1  & 1  & 1  & 1 & benign   \\\\\n\t675 & 1355260 & 1  & 1  & 1  & 1  & 2 & 1  & 2  & 1  & 1 & benign   \\\\\n\t676 & 1365075 & 4  & 1  & 4  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t677 & 1365328 & 1  & 1  & 2  & 1  & 2 & 1  & 2  & 1  & 1 & benign   \\\\\n\t678 & 1368267 & 5  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t679 & 1368273 & 1  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t680 & 1368882 & 2  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t681 & 1369821 & 10 & 10 & 10 & 10 & 5 & 10 & 10 & 10 & 7 & malignant\\\\\n\t682 & 1371026 & 5  & 10 & 10 & 10 & 4 & 10 & 5  & 6  & 3 & malignant\\\\\n\t683 & 1371920 & 5  & 1  & 1  & 1  & 2 & 1  & 3  & 2  & 1 & benign   \\\\\n\t684 & 466906  & 1  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t685 & 466906  & 1  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t686 & 534555  & 1  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t687 & 536708  & 1  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t688 & 566346  & 3  & 1  & 1  & 1  & 2 & 1  & 2  & 3  & 1 & benign   \\\\\n\t689 & 603148  & 4  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t690 & 654546  & 1  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 8 & benign   \\\\\n\t691 & 654546  & 1  & 1  & 1  & 3  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t692 & 695091  & 5  & 10 & 10 & 5  & 4 & 5  & 4  & 4  & 1 & malignant\\\\\n\t693 & 714039  & 3  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t694 & 763235  & 3  & 1  & 1  & 1  & 2 & 1  & 2  & 1  & 2 & benign   \\\\\n\t695 & 776715  & 3  & 1  & 1  & 1  & 3 & 2  & 1  & 1  & 1 & benign   \\\\\n\t696 & 841769  & 2  & 1  & 1  & 1  & 2 & 1  & 1  & 1  & 1 & benign   \\\\\n\t697 & 888820  & 5  & 10 & 10 & 3  & 7 & 3  & 8  & 10 & 2 & malignant\\\\\n\t698 & 897471  & 4  & 8  & 6  & 4  & 3 & 4  & 10 & 6  & 1 & malignant\\\\\n\t699 & 897471  & 4  & 8  & 8  & 5  & 4 & 5  & 10 & 4  & 1 & malignant\\\\\n\\end{tabular}\n",
            "text/plain": [
              "    Id      Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size\n",
              "1   1000025 5            1         1          1             2           \n",
              "2   1002945 5            4         4          5             7           \n",
              "3   1015425 3            1         1          1             2           \n",
              "4   1016277 6            8         8          1             3           \n",
              "5   1017023 4            1         1          3             2           \n",
              "6   1017122 8            10        10         8             7           \n",
              "7   1018099 1            1         1          1             2           \n",
              "8   1018561 2            1         2          1             2           \n",
              "9   1033078 2            1         1          1             2           \n",
              "10  1033078 4            2         1          1             2           \n",
              "11  1035283 1            1         1          1             1           \n",
              "12  1036172 2            1         1          1             2           \n",
              "13  1041801 5            3         3          3             2           \n",
              "14  1043999 1            1         1          1             2           \n",
              "15  1044572 8            7         5          10            7           \n",
              "16  1047630 7            4         6          4             6           \n",
              "17  1048672 4            1         1          1             2           \n",
              "18  1049815 4            1         1          1             2           \n",
              "19  1050670 10           7         7          6             4           \n",
              "20  1050718 6            1         1          1             2           \n",
              "21  1054590 7            3         2          10            5           \n",
              "22  1054593 10           5         5          3             6           \n",
              "23  1056784 3            1         1          1             2           \n",
              "25  1059552 1            1         1          1             2           \n",
              "26  1065726 5            2         3          4             2           \n",
              "27  1066373 3            2         1          1             1           \n",
              "28  1066979 5            1         1          1             2           \n",
              "29  1067444 2            1         1          1             2           \n",
              "30  1070935 1            1         3          1             2           \n",
              "31  1070935 3            1         1          1             1           \n",
              "⋮   ⋮       ⋮            ⋮         ⋮          ⋮             ⋮           \n",
              "670 1350423 5            10        10         8             5           \n",
              "671 1352848 3            10        7          8             5           \n",
              "672 1353092 3            2         1          2             2           \n",
              "673 1354840 2            1         1          1             2           \n",
              "674 1354840 5            3         2          1             3           \n",
              "675 1355260 1            1         1          1             2           \n",
              "676 1365075 4            1         4          1             2           \n",
              "677 1365328 1            1         2          1             2           \n",
              "678 1368267 5            1         1          1             2           \n",
              "679 1368273 1            1         1          1             2           \n",
              "680 1368882 2            1         1          1             2           \n",
              "681 1369821 10           10        10         10            5           \n",
              "682 1371026 5            10        10         10            4           \n",
              "683 1371920 5            1         1          1             2           \n",
              "684 466906  1            1         1          1             2           \n",
              "685 466906  1            1         1          1             2           \n",
              "686 534555  1            1         1          1             2           \n",
              "687 536708  1            1         1          1             2           \n",
              "688 566346  3            1         1          1             2           \n",
              "689 603148  4            1         1          1             2           \n",
              "690 654546  1            1         1          1             2           \n",
              "691 654546  1            1         1          3             2           \n",
              "692 695091  5            10        10         5             4           \n",
              "693 714039  3            1         1          1             2           \n",
              "694 763235  3            1         1          1             2           \n",
              "695 776715  3            1         1          1             3           \n",
              "696 841769  2            1         1          1             2           \n",
              "697 888820  5            10        10         3             7           \n",
              "698 897471  4            8         6          4             3           \n",
              "699 897471  4            8         8          5             4           \n",
              "    Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses Class    \n",
              "1   1           3           1               1       benign   \n",
              "2   10          3           2               1       benign   \n",
              "3   2           3           1               1       benign   \n",
              "4   4           3           7               1       benign   \n",
              "5   1           3           1               1       benign   \n",
              "6   10          9           7               1       malignant\n",
              "7   10          3           1               1       benign   \n",
              "8   1           3           1               1       benign   \n",
              "9   1           1           1               5       benign   \n",
              "10  1           2           1               1       benign   \n",
              "11  1           3           1               1       benign   \n",
              "12  1           2           1               1       benign   \n",
              "13  3           4           4               1       malignant\n",
              "14  3           3           1               1       benign   \n",
              "15  9           5           5               4       malignant\n",
              "16  1           4           3               1       malignant\n",
              "17  1           2           1               1       benign   \n",
              "18  1           3           1               1       benign   \n",
              "19  10          4           1               2       malignant\n",
              "20  1           3           1               1       benign   \n",
              "21  10          5           4               4       malignant\n",
              "22  7           7           10              1       malignant\n",
              "23  1           2           1               1       benign   \n",
              "25  1           3           1               1       benign   \n",
              "26  7           3           6               1       malignant\n",
              "27  1           2           1               1       benign   \n",
              "28  1           2           1               1       benign   \n",
              "29  1           2           1               1       benign   \n",
              "30  1           1           1               1       benign   \n",
              "31  1           2           1               1       benign   \n",
              "⋮   ⋮           ⋮           ⋮               ⋮       ⋮        \n",
              "670 5           7           10              1       malignant\n",
              "671 8           7           4               1       malignant\n",
              "672 1           3           1               1       benign   \n",
              "673 1           3           1               1       benign   \n",
              "674 1           1           1               1       benign   \n",
              "675 1           2           1               1       benign   \n",
              "676 1           1           1               1       benign   \n",
              "677 1           2           1               1       benign   \n",
              "678 1           1           1               1       benign   \n",
              "679 1           1           1               1       benign   \n",
              "680 1           1           1               1       benign   \n",
              "681 10          10          10              7       malignant\n",
              "682 10          5           6               3       malignant\n",
              "683 1           3           2               1       benign   \n",
              "684 1           1           1               1       benign   \n",
              "685 1           1           1               1       benign   \n",
              "686 1           1           1               1       benign   \n",
              "687 1           1           1               1       benign   \n",
              "688 1           2           3               1       benign   \n",
              "689 1           1           1               1       benign   \n",
              "690 1           1           1               8       benign   \n",
              "691 1           1           1               1       benign   \n",
              "692 5           4           4               1       malignant\n",
              "693 1           1           1               1       benign   \n",
              "694 1           2           1               2       benign   \n",
              "695 2           1           1               1       benign   \n",
              "696 1           1           1               1       benign   \n",
              "697 3           8           10              2       malignant\n",
              "698 4           10          6               1       malignant\n",
              "699 5           10          4               1       malignant"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df$Id <- NULL\n",
        "df$Class <- ifelse(df$Class == \"malignant\", 1, 0)\n",
        "df[, -10] <- lapply(df[, -10], function(x) as.numeric(as.character(x)))"
      ],
      "metadata": {
        "id": "vRyYINJybE4r"
      },
      "execution_count": 14,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "normalize <- function(x) {\n",
        "  (x - min(x)) / (max(x) - min(x))\n",
        "}\n",
        "\n",
        "df_scaled <- as.data.frame(lapply(df, normalize))\n",
        "head(df_scaled)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 287
        },
        "id": "0B4uzxzzbKUZ",
        "outputId": "7d91d4ef-26ae-44cc-a230-b9fd4abe0269"
      },
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<table class=\"dataframe\">\n",
              "<caption>A data.frame: 6 × 10</caption>\n",
              "<thead>\n",
              "\t<tr><th></th><th scope=col>Cl.thickness</th><th scope=col>Cell.size</th><th scope=col>Cell.shape</th><th scope=col>Marg.adhesion</th><th scope=col>Epith.c.size</th><th scope=col>Bare.nuclei</th><th scope=col>Bl.cromatin</th><th scope=col>Normal.nucleoli</th><th scope=col>Mitoses</th><th scope=col>Class</th></tr>\n",
              "\t<tr><th></th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th></tr>\n",
              "</thead>\n",
              "<tbody>\n",
              "\t<tr><th scope=row>1</th><td>0.4444444</td><td>0.0000000</td><td>0.0000000</td><td>0.0000000</td><td>0.1111111</td><td>0.0000000</td><td>0.2222222</td><td>0.0000000</td><td>0</td><td>0</td></tr>\n",
              "\t<tr><th scope=row>2</th><td>0.4444444</td><td>0.3333333</td><td>0.3333333</td><td>0.4444444</td><td>0.6666667</td><td>1.0000000</td><td>0.2222222</td><td>0.1111111</td><td>0</td><td>0</td></tr>\n",
              "\t<tr><th scope=row>3</th><td>0.2222222</td><td>0.0000000</td><td>0.0000000</td><td>0.0000000</td><td>0.1111111</td><td>0.1111111</td><td>0.2222222</td><td>0.0000000</td><td>0</td><td>0</td></tr>\n",
              "\t<tr><th scope=row>4</th><td>0.5555556</td><td>0.7777778</td><td>0.7777778</td><td>0.0000000</td><td>0.2222222</td><td>0.3333333</td><td>0.2222222</td><td>0.6666667</td><td>0</td><td>0</td></tr>\n",
              "\t<tr><th scope=row>5</th><td>0.3333333</td><td>0.0000000</td><td>0.0000000</td><td>0.2222222</td><td>0.1111111</td><td>0.0000000</td><td>0.2222222</td><td>0.0000000</td><td>0</td><td>0</td></tr>\n",
              "\t<tr><th scope=row>6</th><td>0.7777778</td><td>1.0000000</td><td>1.0000000</td><td>0.7777778</td><td>0.6666667</td><td>1.0000000</td><td>0.8888889</td><td>0.6666667</td><td>0</td><td>1</td></tr>\n",
              "</tbody>\n",
              "</table>\n"
            ],
            "text/markdown": "\nA data.frame: 6 × 10\n\n| <!--/--> | Cl.thickness &lt;dbl&gt; | Cell.size &lt;dbl&gt; | Cell.shape &lt;dbl&gt; | Marg.adhesion &lt;dbl&gt; | Epith.c.size &lt;dbl&gt; | Bare.nuclei &lt;dbl&gt; | Bl.cromatin &lt;dbl&gt; | Normal.nucleoli &lt;dbl&gt; | Mitoses &lt;dbl&gt; | Class &lt;dbl&gt; |\n|---|---|---|---|---|---|---|---|---|---|---|\n| 1 | 0.4444444 | 0.0000000 | 0.0000000 | 0.0000000 | 0.1111111 | 0.0000000 | 0.2222222 | 0.0000000 | 0 | 0 |\n| 2 | 0.4444444 | 0.3333333 | 0.3333333 | 0.4444444 | 0.6666667 | 1.0000000 | 0.2222222 | 0.1111111 | 0 | 0 |\n| 3 | 0.2222222 | 0.0000000 | 0.0000000 | 0.0000000 | 0.1111111 | 0.1111111 | 0.2222222 | 0.0000000 | 0 | 0 |\n| 4 | 0.5555556 | 0.7777778 | 0.7777778 | 0.0000000 | 0.2222222 | 0.3333333 | 0.2222222 | 0.6666667 | 0 | 0 |\n| 5 | 0.3333333 | 0.0000000 | 0.0000000 | 0.2222222 | 0.1111111 | 0.0000000 | 0.2222222 | 0.0000000 | 0 | 0 |\n| 6 | 0.7777778 | 1.0000000 | 1.0000000 | 0.7777778 | 0.6666667 | 1.0000000 | 0.8888889 | 0.6666667 | 0 | 1 |\n\n",
            "text/latex": "A data.frame: 6 × 10\n\\begin{tabular}{r|llllllllll}\n  & Cl.thickness & Cell.size & Cell.shape & Marg.adhesion & Epith.c.size & Bare.nuclei & Bl.cromatin & Normal.nucleoli & Mitoses & Class\\\\\n  & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl>\\\\\n\\hline\n\t1 & 0.4444444 & 0.0000000 & 0.0000000 & 0.0000000 & 0.1111111 & 0.0000000 & 0.2222222 & 0.0000000 & 0 & 0\\\\\n\t2 & 0.4444444 & 0.3333333 & 0.3333333 & 0.4444444 & 0.6666667 & 1.0000000 & 0.2222222 & 0.1111111 & 0 & 0\\\\\n\t3 & 0.2222222 & 0.0000000 & 0.0000000 & 0.0000000 & 0.1111111 & 0.1111111 & 0.2222222 & 0.0000000 & 0 & 0\\\\\n\t4 & 0.5555556 & 0.7777778 & 0.7777778 & 0.0000000 & 0.2222222 & 0.3333333 & 0.2222222 & 0.6666667 & 0 & 0\\\\\n\t5 & 0.3333333 & 0.0000000 & 0.0000000 & 0.2222222 & 0.1111111 & 0.0000000 & 0.2222222 & 0.0000000 & 0 & 0\\\\\n\t6 & 0.7777778 & 1.0000000 & 1.0000000 & 0.7777778 & 0.6666667 & 1.0000000 & 0.8888889 & 0.6666667 & 0 & 1\\\\\n\\end{tabular}\n",
            "text/plain": [
              "  Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size Bare.nuclei\n",
              "1 0.4444444    0.0000000 0.0000000  0.0000000     0.1111111    0.0000000  \n",
              "2 0.4444444    0.3333333 0.3333333  0.4444444     0.6666667    1.0000000  \n",
              "3 0.2222222    0.0000000 0.0000000  0.0000000     0.1111111    0.1111111  \n",
              "4 0.5555556    0.7777778 0.7777778  0.0000000     0.2222222    0.3333333  \n",
              "5 0.3333333    0.0000000 0.0000000  0.2222222     0.1111111    0.0000000  \n",
              "6 0.7777778    1.0000000 1.0000000  0.7777778     0.6666667    1.0000000  \n",
              "  Bl.cromatin Normal.nucleoli Mitoses Class\n",
              "1 0.2222222   0.0000000       0       0    \n",
              "2 0.2222222   0.1111111       0       0    \n",
              "3 0.2222222   0.0000000       0       0    \n",
              "4 0.2222222   0.6666667       0       0    \n",
              "5 0.2222222   0.0000000       0       0    \n",
              "6 0.8888889   0.6666667       0       1    "
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "set.seed(123)\n",
        "\n",
        "train_index <- createDataPartition(df_scaled$Class, p = 0.7, list = FALSE)\n",
        "\n",
        "train_data <- df_scaled[train_index, ]\n",
        "test_data  <- df_scaled[-train_index, ]"
      ],
      "metadata": {
        "id": "JbNjN1tsbL-a"
      },
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "nn_model <- neuralnet(\n",
        "  Class ~ .,\n",
        "  data = train_data,\n",
        "  hidden = 5,\n",
        "  linear.output = FALSE\n",
        ")"
      ],
      "metadata": {
        "id": "W0vFGMpvbOCH"
      },
      "execution_count": 8,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "predictions <- compute(nn_model, test_data[, -10])\n",
        "predicted_prob <- predictions$net.result\n",
        "\n",
        "predicted_class <- ifelse(predicted_prob > 0.5, 1, 0)"
      ],
      "metadata": {
        "id": "WoSlJ1qybQi3"
      },
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "cm <- table(test_data$Class, predicted_class)\n",
        "print(cm)\n",
        "\n",
        "accuracy <- sum(diag(cm)) / sum(cm)\n",
        "cat(\"\\nTest Accuracy:\", accuracy * 100, \"%\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "1UALrsywbSPD",
        "outputId": "468d6f2a-67d3-48ac-d98b-d99e3b635a60"
      },
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "   predicted_class\n",
            "      0   1\n",
            "  0 134   4\n",
            "  1   1  65\n",
            "\n",
            "Test Accuracy: 97.54902 %"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "pqVZMHrnbUQl"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}