wafer-detection / model_training.ipynb
model_training.ipynb
Raw
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "ba837a2c",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.cluster import KMeans\n",
    "import pandas as pd\n",
    "import os\n",
    "import matplotlib.pyplot as plt\n",
    "from kneed import KneeLocator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "dbef6d56",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/Users/mohi9282/Desktop/iNeuron/Machine Learning/Projects/waferFaultDetection/waferClassifier'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "os.getcwd()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "e6c82a4e",
   "metadata": {},
   "outputs": [
    {
     "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>Unnamed: 0</th>\n",
       "      <th>Sensor - 1</th>\n",
       "      <th>Sensor - 2</th>\n",
       "      <th>Sensor - 3</th>\n",
       "      <th>Sensor - 4</th>\n",
       "      <th>Sensor - 5</th>\n",
       "      <th>Sensor - 7</th>\n",
       "      <th>Sensor - 8</th>\n",
       "      <th>Sensor - 9</th>\n",
       "      <th>Sensor - 10</th>\n",
       "      <th>...</th>\n",
       "      <th>Sensor - 581</th>\n",
       "      <th>Sensor - 582</th>\n",
       "      <th>Sensor - 583</th>\n",
       "      <th>Sensor - 584</th>\n",
       "      <th>Sensor - 585</th>\n",
       "      <th>Sensor - 586</th>\n",
       "      <th>Sensor - 587</th>\n",
       "      <th>Sensor - 588</th>\n",
       "      <th>Sensor - 589</th>\n",
       "      <th>Sensor - 590</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3073.48</td>\n",
       "      <td>2467.18</td>\n",
       "      <td>2200.2000</td>\n",
       "      <td>1121.1875</td>\n",
       "      <td>1.3171</td>\n",
       "      <td>103.8978</td>\n",
       "      <td>0.1191</td>\n",
       "      <td>1.4015</td>\n",
       "      <td>0.0095</td>\n",
       "      <td>...</td>\n",
       "      <td>0.004133</td>\n",
       "      <td>64.582000</td>\n",
       "      <td>0.5046</td>\n",
       "      <td>0.0065</td>\n",
       "      <td>0.0022</td>\n",
       "      <td>1.2845</td>\n",
       "      <td>0.0267</td>\n",
       "      <td>0.0174</td>\n",
       "      <td>0.0050</td>\n",
       "      <td>65.1609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>3027.61</td>\n",
       "      <td>2430.03</td>\n",
       "      <td>2219.7667</td>\n",
       "      <td>2086.4710</td>\n",
       "      <td>1.3381</td>\n",
       "      <td>98.8900</td>\n",
       "      <td>0.1234</td>\n",
       "      <td>1.4090</td>\n",
       "      <td>0.0160</td>\n",
       "      <td>...</td>\n",
       "      <td>0.003000</td>\n",
       "      <td>50.177800</td>\n",
       "      <td>0.4984</td>\n",
       "      <td>0.0130</td>\n",
       "      <td>0.0033</td>\n",
       "      <td>2.6161</td>\n",
       "      <td>0.0267</td>\n",
       "      <td>0.0174</td>\n",
       "      <td>0.0050</td>\n",
       "      <td>65.1609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>2950.97</td>\n",
       "      <td>2533.95</td>\n",
       "      <td>2249.2556</td>\n",
       "      <td>2065.0624</td>\n",
       "      <td>2.1216</td>\n",
       "      <td>95.7967</td>\n",
       "      <td>0.1222</td>\n",
       "      <td>1.3418</td>\n",
       "      <td>-0.0112</td>\n",
       "      <td>...</td>\n",
       "      <td>0.005633</td>\n",
       "      <td>100.867867</td>\n",
       "      <td>0.5062</td>\n",
       "      <td>0.0117</td>\n",
       "      <td>0.0033</td>\n",
       "      <td>2.3019</td>\n",
       "      <td>0.0267</td>\n",
       "      <td>0.0174</td>\n",
       "      <td>0.0050</td>\n",
       "      <td>65.1609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>3093.12</td>\n",
       "      <td>2500.90</td>\n",
       "      <td>2219.7667</td>\n",
       "      <td>2086.4710</td>\n",
       "      <td>1.3381</td>\n",
       "      <td>98.8900</td>\n",
       "      <td>0.1234</td>\n",
       "      <td>1.4117</td>\n",
       "      <td>0.0087</td>\n",
       "      <td>...</td>\n",
       "      <td>0.010500</td>\n",
       "      <td>106.558200</td>\n",
       "      <td>0.5038</td>\n",
       "      <td>0.0133</td>\n",
       "      <td>0.0040</td>\n",
       "      <td>2.6341</td>\n",
       "      <td>0.0292</td>\n",
       "      <td>0.0311</td>\n",
       "      <td>0.0105</td>\n",
       "      <td>106.5582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>2988.76</td>\n",
       "      <td>2497.58</td>\n",
       "      <td>2153.9778</td>\n",
       "      <td>1192.6994</td>\n",
       "      <td>1.3522</td>\n",
       "      <td>100.9367</td>\n",
       "      <td>0.1225</td>\n",
       "      <td>1.4590</td>\n",
       "      <td>-0.0074</td>\n",
       "      <td>...</td>\n",
       "      <td>0.007000</td>\n",
       "      <td>76.751000</td>\n",
       "      <td>0.5001</td>\n",
       "      <td>0.0099</td>\n",
       "      <td>0.0025</td>\n",
       "      <td>1.9807</td>\n",
       "      <td>0.0282</td>\n",
       "      <td>0.0217</td>\n",
       "      <td>0.0070</td>\n",
       "      <td>76.7510</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 475 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0  Sensor - 1  Sensor - 2  Sensor - 3  Sensor - 4  Sensor - 5  \\\n",
       "0           0     3073.48     2467.18   2200.2000   1121.1875      1.3171   \n",
       "1           1     3027.61     2430.03   2219.7667   2086.4710      1.3381   \n",
       "2           2     2950.97     2533.95   2249.2556   2065.0624      2.1216   \n",
       "3           3     3093.12     2500.90   2219.7667   2086.4710      1.3381   \n",
       "4           4     2988.76     2497.58   2153.9778   1192.6994      1.3522   \n",
       "\n",
       "   Sensor - 7  Sensor - 8  Sensor - 9  Sensor - 10  ...  Sensor - 581  \\\n",
       "0    103.8978      0.1191      1.4015       0.0095  ...      0.004133   \n",
       "1     98.8900      0.1234      1.4090       0.0160  ...      0.003000   \n",
       "2     95.7967      0.1222      1.3418      -0.0112  ...      0.005633   \n",
       "3     98.8900      0.1234      1.4117       0.0087  ...      0.010500   \n",
       "4    100.9367      0.1225      1.4590      -0.0074  ...      0.007000   \n",
       "\n",
       "   Sensor - 582  Sensor - 583  Sensor - 584  Sensor - 585  Sensor - 586  \\\n",
       "0     64.582000        0.5046        0.0065        0.0022        1.2845   \n",
       "1     50.177800        0.4984        0.0130        0.0033        2.6161   \n",
       "2    100.867867        0.5062        0.0117        0.0033        2.3019   \n",
       "3    106.558200        0.5038        0.0133        0.0040        2.6341   \n",
       "4     76.751000        0.5001        0.0099        0.0025        1.9807   \n",
       "\n",
       "   Sensor - 587  Sensor - 588  Sensor - 589  Sensor - 590  \n",
       "0        0.0267        0.0174        0.0050       65.1609  \n",
       "1        0.0267        0.0174        0.0050       65.1609  \n",
       "2        0.0267        0.0174        0.0050       65.1609  \n",
       "3        0.0292        0.0311        0.0105      106.5582  \n",
       "4        0.0282        0.0217        0.0070       76.7510  \n",
       "\n",
       "[5 rows x 475 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('Data_Preprocessing/clean_X.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "3a93f98d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(837, 474)\n"
     ]
    }
   ],
   "source": [
    "X = data.drop('Unnamed: 0', axis=1)\n",
    "print(X.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "a18bd0ce",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[84331035818.0085,\n",
       " 44028817403.003654,\n",
       " 34181715443.897434,\n",
       " 27505250479.50228,\n",
       " 24487238145.79915,\n",
       " 21857237993.667805,\n",
       " 19913967751.71556,\n",
       " 18149083253.730568,\n",
       " 16667110417.11506,\n",
       " 15501355292.352467]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wcss = []\n",
    "for i in range(1,11):\n",
    "    kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)\n",
    "    pred = kmeans.fit(X)\n",
    "    wcss.append(pred.inertia_)\n",
    "    \n",
    "wcss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "e90ea461",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'WCSS')"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(range(1,11), wcss)\n",
    "plt.title('Elbow Plot')\n",
    "plt.xlabel('Clusters')\n",
    "plt.ylabel('WCSS')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "44b8474e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knee_loc = KneeLocator(range(1,11), wcss, curve='convex', direction='decreasing')\n",
    "optimal_clusters = knee_loc.knee\n",
    "optimal_clusters\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "ac186e79",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Elapsed = 0.0022 mins\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "start = time.time()\n",
    "kmeans = KMeans(n_clusters=optimal_clusters, init=\"k-means++\", random_state=42)\n",
    "preds = kmeans.fit_predict(X)\n",
    "X['Cluster'] = preds\n",
    "print(f'Elapsed = {(time.time()-start)/60:.4f} mins')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "bf71da15",
   "metadata": {},
   "outputs": [
    {
     "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>Sensor - 1</th>\n",
       "      <th>Sensor - 2</th>\n",
       "      <th>Sensor - 3</th>\n",
       "      <th>Sensor - 4</th>\n",
       "      <th>Sensor - 5</th>\n",
       "      <th>Sensor - 7</th>\n",
       "      <th>Sensor - 8</th>\n",
       "      <th>Sensor - 9</th>\n",
       "      <th>Sensor - 10</th>\n",
       "      <th>Sensor - 11</th>\n",
       "      <th>...</th>\n",
       "      <th>Sensor - 582</th>\n",
       "      <th>Sensor - 583</th>\n",
       "      <th>Sensor - 584</th>\n",
       "      <th>Sensor - 585</th>\n",
       "      <th>Sensor - 586</th>\n",
       "      <th>Sensor - 587</th>\n",
       "      <th>Sensor - 588</th>\n",
       "      <th>Sensor - 589</th>\n",
       "      <th>Sensor - 590</th>\n",
       "      <th>Cluster</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3073.48</td>\n",
       "      <td>2467.18</td>\n",
       "      <td>2200.2000</td>\n",
       "      <td>1121.1875</td>\n",
       "      <td>1.3171</td>\n",
       "      <td>103.8978</td>\n",
       "      <td>0.1191</td>\n",
       "      <td>1.4015</td>\n",
       "      <td>0.0095</td>\n",
       "      <td>-0.0070</td>\n",
       "      <td>...</td>\n",
       "      <td>64.582000</td>\n",
       "      <td>0.5046</td>\n",
       "      <td>0.0065</td>\n",
       "      <td>0.0022</td>\n",
       "      <td>1.2845</td>\n",
       "      <td>0.0267</td>\n",
       "      <td>0.0174</td>\n",
       "      <td>0.0050</td>\n",
       "      <td>65.1609</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3027.61</td>\n",
       "      <td>2430.03</td>\n",
       "      <td>2219.7667</td>\n",
       "      <td>2086.4710</td>\n",
       "      <td>1.3381</td>\n",
       "      <td>98.8900</td>\n",
       "      <td>0.1234</td>\n",
       "      <td>1.4090</td>\n",
       "      <td>0.0160</td>\n",
       "      <td>0.0018</td>\n",
       "      <td>...</td>\n",
       "      <td>50.177800</td>\n",
       "      <td>0.4984</td>\n",
       "      <td>0.0130</td>\n",
       "      <td>0.0033</td>\n",
       "      <td>2.6161</td>\n",
       "      <td>0.0267</td>\n",
       "      <td>0.0174</td>\n",
       "      <td>0.0050</td>\n",
       "      <td>65.1609</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2950.97</td>\n",
       "      <td>2533.95</td>\n",
       "      <td>2249.2556</td>\n",
       "      <td>2065.0624</td>\n",
       "      <td>2.1216</td>\n",
       "      <td>95.7967</td>\n",
       "      <td>0.1222</td>\n",
       "      <td>1.3418</td>\n",
       "      <td>-0.0112</td>\n",
       "      <td>0.0015</td>\n",
       "      <td>...</td>\n",
       "      <td>100.867867</td>\n",
       "      <td>0.5062</td>\n",
       "      <td>0.0117</td>\n",
       "      <td>0.0033</td>\n",
       "      <td>2.3019</td>\n",
       "      <td>0.0267</td>\n",
       "      <td>0.0174</td>\n",
       "      <td>0.0050</td>\n",
       "      <td>65.1609</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3093.12</td>\n",
       "      <td>2500.90</td>\n",
       "      <td>2219.7667</td>\n",
       "      <td>2086.4710</td>\n",
       "      <td>1.3381</td>\n",
       "      <td>98.8900</td>\n",
       "      <td>0.1234</td>\n",
       "      <td>1.4117</td>\n",
       "      <td>0.0087</td>\n",
       "      <td>-0.0108</td>\n",
       "      <td>...</td>\n",
       "      <td>106.558200</td>\n",
       "      <td>0.5038</td>\n",
       "      <td>0.0133</td>\n",
       "      <td>0.0040</td>\n",
       "      <td>2.6341</td>\n",
       "      <td>0.0292</td>\n",
       "      <td>0.0311</td>\n",
       "      <td>0.0105</td>\n",
       "      <td>106.5582</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2988.76</td>\n",
       "      <td>2497.58</td>\n",
       "      <td>2153.9778</td>\n",
       "      <td>1192.6994</td>\n",
       "      <td>1.3522</td>\n",
       "      <td>100.9367</td>\n",
       "      <td>0.1225</td>\n",
       "      <td>1.4590</td>\n",
       "      <td>-0.0074</td>\n",
       "      <td>-0.0060</td>\n",
       "      <td>...</td>\n",
       "      <td>76.751000</td>\n",
       "      <td>0.5001</td>\n",
       "      <td>0.0099</td>\n",
       "      <td>0.0025</td>\n",
       "      <td>1.9807</td>\n",
       "      <td>0.0282</td>\n",
       "      <td>0.0217</td>\n",
       "      <td>0.0070</td>\n",
       "      <td>76.7510</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2990.69</td>\n",
       "      <td>2428.85</td>\n",
       "      <td>2249.2556</td>\n",
       "      <td>2065.0624</td>\n",
       "      <td>2.1216</td>\n",
       "      <td>95.7967</td>\n",
       "      <td>0.1222</td>\n",
       "      <td>1.3682</td>\n",
       "      <td>-0.0110</td>\n",
       "      <td>-0.0085</td>\n",
       "      <td>...</td>\n",
       "      <td>79.617000</td>\n",
       "      <td>0.4964</td>\n",
       "      <td>0.0108</td>\n",
       "      <td>0.0028</td>\n",
       "      <td>2.1740</td>\n",
       "      <td>0.0229</td>\n",
       "      <td>0.0182</td>\n",
       "      <td>0.0063</td>\n",
       "      <td>79.6170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2978.77</td>\n",
       "      <td>2441.17</td>\n",
       "      <td>2254.7111</td>\n",
       "      <td>1981.2999</td>\n",
       "      <td>2.1046</td>\n",
       "      <td>90.9167</td>\n",
       "      <td>0.1224</td>\n",
       "      <td>1.4726</td>\n",
       "      <td>0.0041</td>\n",
       "      <td>0.0060</td>\n",
       "      <td>...</td>\n",
       "      <td>54.532300</td>\n",
       "      <td>0.4966</td>\n",
       "      <td>0.0078</td>\n",
       "      <td>0.0024</td>\n",
       "      <td>1.5646</td>\n",
       "      <td>0.0229</td>\n",
       "      <td>0.0182</td>\n",
       "      <td>0.0063</td>\n",
       "      <td>79.6170</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>3036.99</td>\n",
       "      <td>2448.38</td>\n",
       "      <td>2194.9555</td>\n",
       "      <td>1108.2246</td>\n",
       "      <td>1.2476</td>\n",
       "      <td>102.2822</td>\n",
       "      <td>0.1202</td>\n",
       "      <td>1.5149</td>\n",
       "      <td>0.0025</td>\n",
       "      <td>-0.0063</td>\n",
       "      <td>...</td>\n",
       "      <td>94.756367</td>\n",
       "      <td>0.4942</td>\n",
       "      <td>0.0172</td>\n",
       "      <td>0.0052</td>\n",
       "      <td>3.4764</td>\n",
       "      <td>0.0229</td>\n",
       "      <td>0.0182</td>\n",
       "      <td>0.0063</td>\n",
       "      <td>79.6170</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>3006.75</td>\n",
       "      <td>2517.09</td>\n",
       "      <td>2254.7111</td>\n",
       "      <td>1981.2999</td>\n",
       "      <td>2.1046</td>\n",
       "      <td>90.9167</td>\n",
       "      <td>0.1224</td>\n",
       "      <td>1.5901</td>\n",
       "      <td>-0.0071</td>\n",
       "      <td>0.0127</td>\n",
       "      <td>...</td>\n",
       "      <td>48.370800</td>\n",
       "      <td>0.5020</td>\n",
       "      <td>0.0111</td>\n",
       "      <td>0.0031</td>\n",
       "      <td>2.2182</td>\n",
       "      <td>0.0506</td>\n",
       "      <td>0.0245</td>\n",
       "      <td>0.0093</td>\n",
       "      <td>48.3708</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2960.63</td>\n",
       "      <td>2570.46</td>\n",
       "      <td>2206.1444</td>\n",
       "      <td>1876.9899</td>\n",
       "      <td>2.0607</td>\n",
       "      <td>95.9511</td>\n",
       "      <td>0.1246</td>\n",
       "      <td>1.5341</td>\n",
       "      <td>0.0350</td>\n",
       "      <td>-0.0068</td>\n",
       "      <td>...</td>\n",
       "      <td>45.701900</td>\n",
       "      <td>0.4937</td>\n",
       "      <td>0.0146</td>\n",
       "      <td>0.0035</td>\n",
       "      <td>2.9664</td>\n",
       "      <td>0.0437</td>\n",
       "      <td>0.0200</td>\n",
       "      <td>0.0074</td>\n",
       "      <td>45.7019</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 475 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Sensor - 1  Sensor - 2  Sensor - 3  Sensor - 4  Sensor - 5  Sensor - 7  \\\n",
       "0     3073.48     2467.18   2200.2000   1121.1875      1.3171    103.8978   \n",
       "1     3027.61     2430.03   2219.7667   2086.4710      1.3381     98.8900   \n",
       "2     2950.97     2533.95   2249.2556   2065.0624      2.1216     95.7967   \n",
       "3     3093.12     2500.90   2219.7667   2086.4710      1.3381     98.8900   \n",
       "4     2988.76     2497.58   2153.9778   1192.6994      1.3522    100.9367   \n",
       "5     2990.69     2428.85   2249.2556   2065.0624      2.1216     95.7967   \n",
       "6     2978.77     2441.17   2254.7111   1981.2999      2.1046     90.9167   \n",
       "7     3036.99     2448.38   2194.9555   1108.2246      1.2476    102.2822   \n",
       "8     3006.75     2517.09   2254.7111   1981.2999      2.1046     90.9167   \n",
       "9     2960.63     2570.46   2206.1444   1876.9899      2.0607     95.9511   \n",
       "\n",
       "   Sensor - 8  Sensor - 9  Sensor - 10  Sensor - 11  ...  Sensor - 582  \\\n",
       "0      0.1191      1.4015       0.0095      -0.0070  ...     64.582000   \n",
       "1      0.1234      1.4090       0.0160       0.0018  ...     50.177800   \n",
       "2      0.1222      1.3418      -0.0112       0.0015  ...    100.867867   \n",
       "3      0.1234      1.4117       0.0087      -0.0108  ...    106.558200   \n",
       "4      0.1225      1.4590      -0.0074      -0.0060  ...     76.751000   \n",
       "5      0.1222      1.3682      -0.0110      -0.0085  ...     79.617000   \n",
       "6      0.1224      1.4726       0.0041       0.0060  ...     54.532300   \n",
       "7      0.1202      1.5149       0.0025      -0.0063  ...     94.756367   \n",
       "8      0.1224      1.5901      -0.0071       0.0127  ...     48.370800   \n",
       "9      0.1246      1.5341       0.0350      -0.0068  ...     45.701900   \n",
       "\n",
       "   Sensor - 583  Sensor - 584  Sensor - 585  Sensor - 586  Sensor - 587  \\\n",
       "0        0.5046        0.0065        0.0022        1.2845        0.0267   \n",
       "1        0.4984        0.0130        0.0033        2.6161        0.0267   \n",
       "2        0.5062        0.0117        0.0033        2.3019        0.0267   \n",
       "3        0.5038        0.0133        0.0040        2.6341        0.0292   \n",
       "4        0.5001        0.0099        0.0025        1.9807        0.0282   \n",
       "5        0.4964        0.0108        0.0028        2.1740        0.0229   \n",
       "6        0.4966        0.0078        0.0024        1.5646        0.0229   \n",
       "7        0.4942        0.0172        0.0052        3.4764        0.0229   \n",
       "8        0.5020        0.0111        0.0031        2.2182        0.0506   \n",
       "9        0.4937        0.0146        0.0035        2.9664        0.0437   \n",
       "\n",
       "   Sensor - 588  Sensor - 589  Sensor - 590  Cluster  \n",
       "0        0.0174        0.0050       65.1609        0  \n",
       "1        0.0174        0.0050       65.1609        0  \n",
       "2        0.0174        0.0050       65.1609        0  \n",
       "3        0.0311        0.0105      106.5582        0  \n",
       "4        0.0217        0.0070       76.7510        2  \n",
       "5        0.0182        0.0063       79.6170        0  \n",
       "6        0.0182        0.0063       79.6170        0  \n",
       "7        0.0182        0.0063       79.6170        1  \n",
       "8        0.0245        0.0093       48.3708        1  \n",
       "9        0.0200        0.0074       45.7019        0  \n",
       "\n",
       "[10 rows x 475 columns]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37f43249",
   "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.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}