diff --git a/Assignment_2_Set.ipynb b/Assignment_2_Set.ipynb
new file mode 100644
index 0000000..c2a113c
--- /dev/null
+++ b/Assignment_2_Set.ipynb
@@ -0,0 +1,1530 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "Assignment_2_Set.ipynb",
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Software Engineering Tools Lab \n",
+ "Assignement 2 \n",
+ "PRN-2019BTECS00094 \n",
+ "\n"
+ ],
+ "metadata": {
+ "id": "jamncb6P7jRm"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "**Dataset Information**\n",
+ "\n",
+ "The dataset contains 9358 instances of hourly averaged responses from an array of 5 metal oxide chemical sensors embedded in an Air Quality Chemical Multisensor Device. The device was located on the field in a significantly polluted area, at road level,within an Italian city. Data were recorded from March 2004 to February 2005 (one year)representing the longest freely available recordings of on field deployed air quality chemical sensor devices responses. Ground Truth hourly averaged concentrations for CO, Non Metanic Hydrocarbons, Benzene, Total Nitrogen Oxides (NOx) and Nitrogen Dioxide (NO2) and were provided by a co-located reference certified analyzer. Evidences of cross-sensitivities as well as both concept and sensor drifts are present as described in De Vito et al., Sens. And Act. B, Vol. 129,2,2008 (citation required) eventually affecting sensors concentration estimation capabilities. **Missing values are tagged with -200 value.**\n",
+ "This dataset can be used exclusively for research purposes. Commercial purposes are fully excluded. \n",
+ "\n",
+ "\n",
+ "**Attribute Information:**\n",
+ "\n",
+ "0 Date (DD/MM/YYYY)\n",
+ "\n",
+ "1 Time (HH.MM.SS)\n",
+ "\n",
+ "2 True hourly averaged concentration CO in mg/m^3 (reference analyzer)\n",
+ "\n",
+ "3 PT08.S1 (tin oxide) hourly averaged sensor response (nominally CO targeted)\n",
+ "\n",
+ "4 True hourly averaged overall Non Metanic HydroCarbons concentration in microg/m^3 (reference analyzer)\n",
+ "\n",
+ "5 True hourly averaged Benzene concentration in microg/m^3 (reference analyzer)\n",
+ "\n",
+ "6 PT08.S2 (titania) hourly averaged sensor response (nominally NMHC targeted)\n",
+ "\n",
+ "7 True hourly averaged NOx concentration in ppb (reference analyzer)\n",
+ "\n",
+ "8 PT08.S3 (tungsten oxide) hourly averaged sensor response (nominally NOx targeted)\n",
+ "\n",
+ "9 True hourly averaged NO2 concentration in microg/m^3 (reference analyzer)\n",
+ "\n",
+ "10 PT08.S4 (tungsten oxide) hourly averaged sensor response (nominally NO2 targeted)\n",
+ "\n",
+ "11 PT08.S5 (indium oxide) hourly averaged sensor response (nominally O3 targeted)\n",
+ "\n",
+ "12 Temperature in °C\n",
+ "\n",
+ "13 Relative Humidity (%)\n",
+ "\n",
+ "14 AH Absolute Humidity"
+ ],
+ "metadata": {
+ "id": "LkHgD56FGmIG"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# importing libraries\n",
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt"
+ ],
+ "metadata": {
+ "id": "lEXvZ6Xx73hc"
+ },
+ "execution_count": 19,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# dataset\n",
+ "# link https://archive.ics.uci.edu/ml/machine-learning-databases/00360/\n",
+ "Data = pd.read_excel('AirQualityUCI.xlsx')\n",
+ "Data\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 661
+ },
+ "id": "zFsVZvJ1BmGR",
+ "outputId": "24ba4c5e-7b93-4ccf-cb3a-6da0b67047fa"
+ },
+ "execution_count": 20,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " Time | \n",
+ " CO(GT) | \n",
+ " PT08.S1(CO) | \n",
+ " NMHC(GT) | \n",
+ " C6H6(GT) | \n",
+ " PT08.S2(NMHC) | \n",
+ " NOx(GT) | \n",
+ " PT08.S3(NOx) | \n",
+ " NO2(GT) | \n",
+ " PT08.S4(NO2) | \n",
+ " PT08.S5(O3) | \n",
+ " T | \n",
+ " RH | \n",
+ " AH | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2004-03-10 | \n",
+ " 18:00:00 | \n",
+ " 2.6 | \n",
+ " 1360.00 | \n",
+ " 150 | \n",
+ " 11.881723 | \n",
+ " 1045.50 | \n",
+ " 166.0 | \n",
+ " 1056.25 | \n",
+ " 113.0 | \n",
+ " 1692.00 | \n",
+ " 1267.50 | \n",
+ " 13.600 | \n",
+ " 48.875001 | \n",
+ " 0.757754 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2004-03-10 | \n",
+ " 19:00:00 | \n",
+ " 2.0 | \n",
+ " 1292.25 | \n",
+ " 112 | \n",
+ " 9.397165 | \n",
+ " 954.75 | \n",
+ " 103.0 | \n",
+ " 1173.75 | \n",
+ " 92.0 | \n",
+ " 1558.75 | \n",
+ " 972.25 | \n",
+ " 13.300 | \n",
+ " 47.700000 | \n",
+ " 0.725487 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2004-03-10 | \n",
+ " 20:00:00 | \n",
+ " 2.2 | \n",
+ " 1402.00 | \n",
+ " 88 | \n",
+ " 8.997817 | \n",
+ " 939.25 | \n",
+ " 131.0 | \n",
+ " 1140.00 | \n",
+ " 114.0 | \n",
+ " 1554.50 | \n",
+ " 1074.00 | \n",
+ " 11.900 | \n",
+ " 53.975000 | \n",
+ " 0.750239 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2004-03-10 | \n",
+ " 21:00:00 | \n",
+ " 2.2 | \n",
+ " 1375.50 | \n",
+ " 80 | \n",
+ " 9.228796 | \n",
+ " 948.25 | \n",
+ " 172.0 | \n",
+ " 1092.00 | \n",
+ " 122.0 | \n",
+ " 1583.75 | \n",
+ " 1203.25 | \n",
+ " 11.000 | \n",
+ " 60.000000 | \n",
+ " 0.786713 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2004-03-10 | \n",
+ " 22:00:00 | \n",
+ " 1.6 | \n",
+ " 1272.25 | \n",
+ " 51 | \n",
+ " 6.518224 | \n",
+ " 835.50 | \n",
+ " 131.0 | \n",
+ " 1205.00 | \n",
+ " 116.0 | \n",
+ " 1490.00 | \n",
+ " 1110.00 | \n",
+ " 11.150 | \n",
+ " 59.575001 | \n",
+ " 0.788794 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 9352 | \n",
+ " 2005-04-04 | \n",
+ " 10:00:00 | \n",
+ " 3.1 | \n",
+ " 1314.25 | \n",
+ " -200 | \n",
+ " 13.529605 | \n",
+ " 1101.25 | \n",
+ " 471.7 | \n",
+ " 538.50 | \n",
+ " 189.8 | \n",
+ " 1374.25 | \n",
+ " 1728.50 | \n",
+ " 21.850 | \n",
+ " 29.250000 | \n",
+ " 0.756824 | \n",
+ "
\n",
+ " \n",
+ " | 9353 | \n",
+ " 2005-04-04 | \n",
+ " 11:00:00 | \n",
+ " 2.4 | \n",
+ " 1162.50 | \n",
+ " -200 | \n",
+ " 11.355157 | \n",
+ " 1027.00 | \n",
+ " 353.3 | \n",
+ " 603.75 | \n",
+ " 179.2 | \n",
+ " 1263.50 | \n",
+ " 1269.00 | \n",
+ " 24.325 | \n",
+ " 23.725000 | \n",
+ " 0.711864 | \n",
+ "
\n",
+ " \n",
+ " | 9354 | \n",
+ " 2005-04-04 | \n",
+ " 12:00:00 | \n",
+ " 2.4 | \n",
+ " 1142.00 | \n",
+ " -200 | \n",
+ " 12.374538 | \n",
+ " 1062.50 | \n",
+ " 293.0 | \n",
+ " 603.25 | \n",
+ " 174.7 | \n",
+ " 1240.75 | \n",
+ " 1092.00 | \n",
+ " 26.900 | \n",
+ " 18.350000 | \n",
+ " 0.640649 | \n",
+ "
\n",
+ " \n",
+ " | 9355 | \n",
+ " 2005-04-04 | \n",
+ " 13:00:00 | \n",
+ " 2.1 | \n",
+ " 1002.50 | \n",
+ " -200 | \n",
+ " 9.547187 | \n",
+ " 960.50 | \n",
+ " 234.5 | \n",
+ " 701.50 | \n",
+ " 155.7 | \n",
+ " 1041.00 | \n",
+ " 769.75 | \n",
+ " 28.325 | \n",
+ " 13.550000 | \n",
+ " 0.513866 | \n",
+ "
\n",
+ " \n",
+ " | 9356 | \n",
+ " 2005-04-04 | \n",
+ " 14:00:00 | \n",
+ " 2.2 | \n",
+ " 1070.75 | \n",
+ " -200 | \n",
+ " 11.932060 | \n",
+ " 1047.25 | \n",
+ " 265.2 | \n",
+ " 654.00 | \n",
+ " 167.7 | \n",
+ " 1128.50 | \n",
+ " 816.00 | \n",
+ " 28.500 | \n",
+ " 13.125000 | \n",
+ " 0.502804 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
9357 rows × 15 columns
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ " Date Time CO(GT) ... T RH AH\n",
+ "0 2004-03-10 18:00:00 2.6 ... 13.600 48.875001 0.757754\n",
+ "1 2004-03-10 19:00:00 2.0 ... 13.300 47.700000 0.725487\n",
+ "2 2004-03-10 20:00:00 2.2 ... 11.900 53.975000 0.750239\n",
+ "3 2004-03-10 21:00:00 2.2 ... 11.000 60.000000 0.786713\n",
+ "4 2004-03-10 22:00:00 1.6 ... 11.150 59.575001 0.788794\n",
+ "... ... ... ... ... ... ... ...\n",
+ "9352 2005-04-04 10:00:00 3.1 ... 21.850 29.250000 0.756824\n",
+ "9353 2005-04-04 11:00:00 2.4 ... 24.325 23.725000 0.711864\n",
+ "9354 2005-04-04 12:00:00 2.4 ... 26.900 18.350000 0.640649\n",
+ "9355 2005-04-04 13:00:00 2.1 ... 28.325 13.550000 0.513866\n",
+ "9356 2005-04-04 14:00:00 2.2 ... 28.500 13.125000 0.502804\n",
+ "\n",
+ "[9357 rows x 15 columns]"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 20
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "Data.shape\n",
+ "#shows number of rows and columns in the dataset"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "vV9NRO47CoC6",
+ "outputId": "7ab09972-1c75-4e48-b4ef-eb0d7a832110"
+ },
+ "execution_count": 21,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(9357, 15)"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 21
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Data Pre-processing\n",
+ "\n",
+ "In dataset information it is given that missing value are tagged with -200 ,so we will replace it with 0."
+ ],
+ "metadata": {
+ "id": "5ALrcMzEI4ne"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "Data['CO(GT)'].value_counts()\n",
+ "# i.e all -200 are replaced with 0"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "ROSeBaKuIwxH",
+ "outputId": "a21634d7-2d2e-404c-b13e-6affeae8e0b6"
+ },
+ "execution_count": 22,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "-200.0 1683\n",
+ " 1.0 305\n",
+ " 1.4 279\n",
+ " 1.6 275\n",
+ " 1.5 273\n",
+ " ... \n",
+ " 9.9 1\n",
+ " 7.6 1\n",
+ " 9.3 1\n",
+ " 7.0 1\n",
+ " 8.5 1\n",
+ "Name: CO(GT), Length: 97, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 22
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# FINDING -200 USING SIMPLE FOR LOOPS WHICH CAN ALSO BE DONE WITH VALUE_COUNTS AND THEN REPLACED\n",
+ "l=[]\n",
+ "for i in range(len(Data.columns)):\n",
+ " f=Data.columns[i]\n",
+ " count=0\n",
+ " for j in range(len(Data[f])):\n",
+ " if Data[f][j]==-200:\n",
+ " count+=1\n",
+ " l.append((f,count)) \n",
+ "print(\"Values from each column that needs to be replaced with avg \\n \",l) "
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "oMzr28s0Efck",
+ "outputId": "a9a84fae-2e77-4165-debc-142f60611d69"
+ },
+ "execution_count": 23,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Values from each column that needs to be replaced with avg \n",
+ " [('Date', 0), ('Time', 0), ('CO(GT)', 1683), ('PT08.S1(CO)', 366), ('NMHC(GT)', 8443), ('C6H6(GT)', 366), ('PT08.S2(NMHC)', 366), ('NOx(GT)', 1639), ('PT08.S3(NOx)', 366), ('NO2(GT)', 1642), ('PT08.S4(NO2)', 366), ('PT08.S5(O3)', 366), ('T', 366), ('RH', 366), ('AH', 366)]\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "num=Data._get_numeric_data()\n",
+ "num[num<0]=0\n",
+ "Data"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 661
+ },
+ "id": "AC1dRYWbIiXL",
+ "outputId": "1a7bddd8-7a5d-46fe-f08c-ab4a026a1855"
+ },
+ "execution_count": 24,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " Time | \n",
+ " CO(GT) | \n",
+ " PT08.S1(CO) | \n",
+ " NMHC(GT) | \n",
+ " C6H6(GT) | \n",
+ " PT08.S2(NMHC) | \n",
+ " NOx(GT) | \n",
+ " PT08.S3(NOx) | \n",
+ " NO2(GT) | \n",
+ " PT08.S4(NO2) | \n",
+ " PT08.S5(O3) | \n",
+ " T | \n",
+ " RH | \n",
+ " AH | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2004-03-10 | \n",
+ " 18:00:00 | \n",
+ " 2.6 | \n",
+ " 1360.00 | \n",
+ " 150 | \n",
+ " 11.881723 | \n",
+ " 1045.50 | \n",
+ " 166.0 | \n",
+ " 1056.25 | \n",
+ " 113.0 | \n",
+ " 1692.00 | \n",
+ " 1267.50 | \n",
+ " 13.600 | \n",
+ " 48.875001 | \n",
+ " 0.757754 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2004-03-10 | \n",
+ " 19:00:00 | \n",
+ " 2.0 | \n",
+ " 1292.25 | \n",
+ " 112 | \n",
+ " 9.397165 | \n",
+ " 954.75 | \n",
+ " 103.0 | \n",
+ " 1173.75 | \n",
+ " 92.0 | \n",
+ " 1558.75 | \n",
+ " 972.25 | \n",
+ " 13.300 | \n",
+ " 47.700000 | \n",
+ " 0.725487 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2004-03-10 | \n",
+ " 20:00:00 | \n",
+ " 2.2 | \n",
+ " 1402.00 | \n",
+ " 88 | \n",
+ " 8.997817 | \n",
+ " 939.25 | \n",
+ " 131.0 | \n",
+ " 1140.00 | \n",
+ " 114.0 | \n",
+ " 1554.50 | \n",
+ " 1074.00 | \n",
+ " 11.900 | \n",
+ " 53.975000 | \n",
+ " 0.750239 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2004-03-10 | \n",
+ " 21:00:00 | \n",
+ " 2.2 | \n",
+ " 1375.50 | \n",
+ " 80 | \n",
+ " 9.228796 | \n",
+ " 948.25 | \n",
+ " 172.0 | \n",
+ " 1092.00 | \n",
+ " 122.0 | \n",
+ " 1583.75 | \n",
+ " 1203.25 | \n",
+ " 11.000 | \n",
+ " 60.000000 | \n",
+ " 0.786713 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2004-03-10 | \n",
+ " 22:00:00 | \n",
+ " 1.6 | \n",
+ " 1272.25 | \n",
+ " 51 | \n",
+ " 6.518224 | \n",
+ " 835.50 | \n",
+ " 131.0 | \n",
+ " 1205.00 | \n",
+ " 116.0 | \n",
+ " 1490.00 | \n",
+ " 1110.00 | \n",
+ " 11.150 | \n",
+ " 59.575001 | \n",
+ " 0.788794 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 9352 | \n",
+ " 2005-04-04 | \n",
+ " 10:00:00 | \n",
+ " 3.1 | \n",
+ " 1314.25 | \n",
+ " 0 | \n",
+ " 13.529605 | \n",
+ " 1101.25 | \n",
+ " 471.7 | \n",
+ " 538.50 | \n",
+ " 189.8 | \n",
+ " 1374.25 | \n",
+ " 1728.50 | \n",
+ " 21.850 | \n",
+ " 29.250000 | \n",
+ " 0.756824 | \n",
+ "
\n",
+ " \n",
+ " | 9353 | \n",
+ " 2005-04-04 | \n",
+ " 11:00:00 | \n",
+ " 2.4 | \n",
+ " 1162.50 | \n",
+ " 0 | \n",
+ " 11.355157 | \n",
+ " 1027.00 | \n",
+ " 353.3 | \n",
+ " 603.75 | \n",
+ " 179.2 | \n",
+ " 1263.50 | \n",
+ " 1269.00 | \n",
+ " 24.325 | \n",
+ " 23.725000 | \n",
+ " 0.711864 | \n",
+ "
\n",
+ " \n",
+ " | 9354 | \n",
+ " 2005-04-04 | \n",
+ " 12:00:00 | \n",
+ " 2.4 | \n",
+ " 1142.00 | \n",
+ " 0 | \n",
+ " 12.374538 | \n",
+ " 1062.50 | \n",
+ " 293.0 | \n",
+ " 603.25 | \n",
+ " 174.7 | \n",
+ " 1240.75 | \n",
+ " 1092.00 | \n",
+ " 26.900 | \n",
+ " 18.350000 | \n",
+ " 0.640649 | \n",
+ "
\n",
+ " \n",
+ " | 9355 | \n",
+ " 2005-04-04 | \n",
+ " 13:00:00 | \n",
+ " 2.1 | \n",
+ " 1002.50 | \n",
+ " 0 | \n",
+ " 9.547187 | \n",
+ " 960.50 | \n",
+ " 234.5 | \n",
+ " 701.50 | \n",
+ " 155.7 | \n",
+ " 1041.00 | \n",
+ " 769.75 | \n",
+ " 28.325 | \n",
+ " 13.550000 | \n",
+ " 0.513866 | \n",
+ "
\n",
+ " \n",
+ " | 9356 | \n",
+ " 2005-04-04 | \n",
+ " 14:00:00 | \n",
+ " 2.2 | \n",
+ " 1070.75 | \n",
+ " 0 | \n",
+ " 11.932060 | \n",
+ " 1047.25 | \n",
+ " 265.2 | \n",
+ " 654.00 | \n",
+ " 167.7 | \n",
+ " 1128.50 | \n",
+ " 816.00 | \n",
+ " 28.500 | \n",
+ " 13.125000 | \n",
+ " 0.502804 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
9357 rows × 15 columns
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ " Date Time CO(GT) ... T RH AH\n",
+ "0 2004-03-10 18:00:00 2.6 ... 13.600 48.875001 0.757754\n",
+ "1 2004-03-10 19:00:00 2.0 ... 13.300 47.700000 0.725487\n",
+ "2 2004-03-10 20:00:00 2.2 ... 11.900 53.975000 0.750239\n",
+ "3 2004-03-10 21:00:00 2.2 ... 11.000 60.000000 0.786713\n",
+ "4 2004-03-10 22:00:00 1.6 ... 11.150 59.575001 0.788794\n",
+ "... ... ... ... ... ... ... ...\n",
+ "9352 2005-04-04 10:00:00 3.1 ... 21.850 29.250000 0.756824\n",
+ "9353 2005-04-04 11:00:00 2.4 ... 24.325 23.725000 0.711864\n",
+ "9354 2005-04-04 12:00:00 2.4 ... 26.900 18.350000 0.640649\n",
+ "9355 2005-04-04 13:00:00 2.1 ... 28.325 13.550000 0.513866\n",
+ "9356 2005-04-04 14:00:00 2.2 ... 28.500 13.125000 0.502804\n",
+ "\n",
+ "[9357 rows x 15 columns]"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 24
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "Data['CO(GT)'].value_counts()\n",
+ "# i.e all -200 are replaced with 0"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "TFsh3YyuItQn",
+ "outputId": "84e655fc-6321-4351-bf12-4d95a8a7816e"
+ },
+ "execution_count": 25,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "0.0 1683\n",
+ "1.0 305\n",
+ "1.4 279\n",
+ "1.6 275\n",
+ "1.5 273\n",
+ " ... \n",
+ "9.9 1\n",
+ "7.6 1\n",
+ "9.3 1\n",
+ "7.0 1\n",
+ "8.5 1\n",
+ "Name: CO(GT), Length: 97, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 25
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Training and Testing"
+ ],
+ "metadata": {
+ "id": "KpW_9LHwLiDk"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#features\n",
+ "feature=Data\n",
+ "feature=feature.drop('Date',axis=1)\n",
+ "feature=feature.drop('Time',axis=1)\n",
+ "feature=feature.drop('C6H6(GT)',axis=1)"
+ ],
+ "metadata": {
+ "id": "uTooBrR3LfIw"
+ },
+ "execution_count": 26,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "feature.head()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 206
+ },
+ "id": "CE8rCV12MAul",
+ "outputId": "2531bdeb-596b-483f-e82b-259aeccebb18"
+ },
+ "execution_count": 27,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " CO(GT) | \n",
+ " PT08.S1(CO) | \n",
+ " NMHC(GT) | \n",
+ " PT08.S2(NMHC) | \n",
+ " NOx(GT) | \n",
+ " PT08.S3(NOx) | \n",
+ " NO2(GT) | \n",
+ " PT08.S4(NO2) | \n",
+ " PT08.S5(O3) | \n",
+ " T | \n",
+ " RH | \n",
+ " AH | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2.6 | \n",
+ " 1360.00 | \n",
+ " 150 | \n",
+ " 1045.50 | \n",
+ " 166.0 | \n",
+ " 1056.25 | \n",
+ " 113.0 | \n",
+ " 1692.00 | \n",
+ " 1267.50 | \n",
+ " 13.60 | \n",
+ " 48.875001 | \n",
+ " 0.757754 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2.0 | \n",
+ " 1292.25 | \n",
+ " 112 | \n",
+ " 954.75 | \n",
+ " 103.0 | \n",
+ " 1173.75 | \n",
+ " 92.0 | \n",
+ " 1558.75 | \n",
+ " 972.25 | \n",
+ " 13.30 | \n",
+ " 47.700000 | \n",
+ " 0.725487 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2.2 | \n",
+ " 1402.00 | \n",
+ " 88 | \n",
+ " 939.25 | \n",
+ " 131.0 | \n",
+ " 1140.00 | \n",
+ " 114.0 | \n",
+ " 1554.50 | \n",
+ " 1074.00 | \n",
+ " 11.90 | \n",
+ " 53.975000 | \n",
+ " 0.750239 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2.2 | \n",
+ " 1375.50 | \n",
+ " 80 | \n",
+ " 948.25 | \n",
+ " 172.0 | \n",
+ " 1092.00 | \n",
+ " 122.0 | \n",
+ " 1583.75 | \n",
+ " 1203.25 | \n",
+ " 11.00 | \n",
+ " 60.000000 | \n",
+ " 0.786713 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1.6 | \n",
+ " 1272.25 | \n",
+ " 51 | \n",
+ " 835.50 | \n",
+ " 131.0 | \n",
+ " 1205.00 | \n",
+ " 116.0 | \n",
+ " 1490.00 | \n",
+ " 1110.00 | \n",
+ " 11.15 | \n",
+ " 59.575001 | \n",
+ " 0.788794 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ " CO(GT) PT08.S1(CO) NMHC(GT) ... T RH AH\n",
+ "0 2.6 1360.00 150 ... 13.60 48.875001 0.757754\n",
+ "1 2.0 1292.25 112 ... 13.30 47.700000 0.725487\n",
+ "2 2.2 1402.00 88 ... 11.90 53.975000 0.750239\n",
+ "3 2.2 1375.50 80 ... 11.00 60.000000 0.786713\n",
+ "4 1.6 1272.25 51 ... 11.15 59.575001 0.788794\n",
+ "\n",
+ "[5 rows x 12 columns]"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 27
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#labels\n",
+ "label = Data['C6H6(GT)']"
+ ],
+ "metadata": {
+ "id": "XlG4H5FEMJb_"
+ },
+ "execution_count": 28,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "label.head()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "69IcYKTSMTVQ",
+ "outputId": "1c0ed30a-91b0-40e8-bfc3-4aeaacc5530d"
+ },
+ "execution_count": 29,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "0 11.881723\n",
+ "1 9.397165\n",
+ "2 8.997817\n",
+ "3 9.228796\n",
+ "4 6.518224\n",
+ "Name: C6H6(GT), dtype: float64"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 29
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#test and train split\n",
+ "X_train,X_test,y_train,y_test = train_test_split(feature,label,test_size=.3)"
+ ],
+ "metadata": {
+ "id": "Q7DD1ImWMVZ6"
+ },
+ "execution_count": 30,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "print(X_train.shape,y_train.shape)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "U4Fu1doTMar6",
+ "outputId": "f39a64ce-7db5-4476-a877-ecdd6a3cd3ab"
+ },
+ "execution_count": 31,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "(6549, 12) (6549,)\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "print(X_test.shape,y_test.shape)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "191l4vlJMj9u",
+ "outputId": "bc265eef-1b6e-4289-dbc6-eadfe8007570"
+ },
+ "execution_count": 32,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "(2808, 12) (2808,)\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from sklearn.linear_model import LinearRegression\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.metrics import mean_squared_error, r2_score\n",
+ "lr = LinearRegression()\n",
+ "lr.fit(X_train,y_train)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "VT39Vg44MnwP",
+ "outputId": "48a5155b-d112-4b8c-b8a7-af404111d139"
+ },
+ "execution_count": 34,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "LinearRegression()"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 34
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "lr.score(X_test,y_test)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "wpjv1qqgNqOC",
+ "outputId": "e99ac38c-f6e6-4603-c701-aa891494603c"
+ },
+ "execution_count": 35,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "0.9593836249769289"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 35
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "y_pred = lr.predict(X_test)\n",
+ "y_pred"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "3oR9qsr0OAe8",
+ "outputId": "86e32613-ff03-46c2-9bca-cfc4e5c5c3d5"
+ },
+ "execution_count": 36,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([25.22105165, 8.8237993 , 9.16831067, ..., 7.79737906,\n",
+ " 3.70307572, 3.58615659])"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 36
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# The coefficients\n",
+ "print('Coefficients: \\n',lr.coef_)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "8yL9HO1IOH6U",
+ "outputId": "f0d38c41-c528-4665-997d-9c193fdd2940"
+ },
+ "execution_count": 37,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Coefficients: \n",
+ " [ 4.44175279e-01 -4.18014722e-03 5.40808435e-04 2.14754542e-02\n",
+ " 5.48115313e-03 -2.93017951e-03 -2.00242201e-02 4.99707842e-03\n",
+ " -1.55447838e-04 -2.71503044e-01 -1.02636097e-01 1.60707701e+00]\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# The mean squared error\n",
+ "print('Mean squared error: %.2f'\n",
+ " % mean_squared_error(y_test, y_pred))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "w2xlBE63OQ2-",
+ "outputId": "2bf69bd0-4eed-49a8-ff9c-092df07b930d"
+ },
+ "execution_count": 38,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Mean squared error: 2.30\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# The coefficient of determination: 1 is perfect prediction\n",
+ "print('Coefficient of determination: %.2f'\n",
+ " % r2_score(y_test, y_pred))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "QTRmo0IGOcWj",
+ "outputId": "acea7556-fc39-43b4-cc69-138da2e0e777"
+ },
+ "execution_count": 40,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Coefficient of determination: 0.96\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# the r squared value\n",
+ "print('R squared value: %.2f'%r2_score(y_test, y_pred))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "U6LvlxL9OmsO",
+ "outputId": "174208f1-a30f-42b5-a182-6a03aaa688e9"
+ },
+ "execution_count": 41,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "R squared value: 0.96\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.scatter(y_pred, y_test, edgecolors=(0, 0, 1))\n",
+ "ax.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--', lw=3)\n",
+ "ax.set_xlabel('Predicted')\n",
+ "ax.set_ylabel('Actual')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 279
+ },
+ "id": "ULG4mOgCOtSO",
+ "outputId": "647e802c-b056-470f-f138-f487ab94476b"
+ },
+ "execution_count": 43,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Student assignment updates.txt b/Student assignment updates.txt
index 9979d7c..c6477e0 100644
--- a/Student assignment updates.txt
+++ b/Student assignment updates.txt
@@ -1,2 +1,4 @@
Write your name and PRN no
Hello Updated
+Sweety Shrawan Gupta
+2019BTECS00094