Team Ai
Apppublic

b22ee075/Sentiment-classification

sourceHugging Faceotherupdated 2y agoView on Hugging Face
1likes
Sentiment_classification.ipynb2924 linesDownload Raw Back to root
1{2  "nbformat": 4,3  "nbformat_minor": 0,4  "metadata": {5    "colab": {6      "provenance": [],7      "collapsed_sections": [8        "5Pbtf3u3yda9",9        "tj1vodKuyd6x"10      ]11    },12    "kernelspec": {13      "name": "python3",14      "display_name": "Python 3"15    },16    "language_info": {17      "name": "python"18    }19  },20  "cells": [21    {22      "cell_type": "markdown",23      "source": [24        "## Downloading & preparing the Dataset"25      ],26      "metadata": {27        "id": "boYPdllt-5Pg"28      }29    },30    {31      "cell_type": "code",32      "source": [33        "import pandas as pd\n",34        "import matplotlib.pyplot as plt\n",35        "import warnings\n",36        "from sklearn.model_selection import train_test_split\n",37        "from sklearn.metrics import accuracy_score,classification_report, ConfusionMatrixDisplay\n",38        "import re\n",39        "import string\n",40        "from sklearn.linear_model import LogisticRegression\n",41        "from sklearn.naive_bayes import MultinomialNB\n",42        "from sklearn.tree import DecisionTreeClassifier\n",43        "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n",44        "from sklearn.feature_extraction.text import TfidfVectorizer\n",45        "from xgboost import XGBClassifier\n",46        "from lightgbm import LGBMClassifier\n",47        "from sklearn.svm import SVC\n",48        "# Ignore FutureWarning messages\n",49        "warnings.simplefilter(action='ignore', category=FutureWarning)"50      ],51      "metadata": {52        "id": "VGIADD_ndICM"53      },54      "execution_count": 1,55      "outputs": []56    },57    {58      "cell_type": "code",59      "execution_count": 2,60      "metadata": {61        "colab": {62          "base_uri": "https://localhost:8080/"63        },64        "id": "LPDrKCy-cjhV",65        "outputId": "293b3b4a-3456-4470-c710-616b82261939"66      },67      "outputs": [68        {69          "output_type": "stream",70          "name": "stdout",71          "text": [72            "Downloading sentiment-analysis-dataset, 57092644 bytes compressed\n",73            "[==================================================] 57092644 bytes downloaded\n",74            "Downloaded and uncompressed: sentiment-analysis-dataset\n",75            "Data source import complete.\n"76          ]77        }78      ],79      "source": [80        "import os\n",81        "import sys\n",82        "from tempfile import NamedTemporaryFile\n",83        "from urllib.request import urlopen\n",84        "from urllib.parse import unquote, urlparse\n",85        "from urllib.error import HTTPError\n",86        "from zipfile import ZipFile\n",87        "import tarfile\n",88        "import shutil\n",89        "\n",90        "CHUNK_SIZE = 40960\n",91        "DATA_SOURCE_MAPPING = 'sentiment-analysis-dataset:https%3A%2F%2Fstorage.googleapis.com%2Fkaggle-data-sets%2F989445%2F1808590%2Fbundle%2Farchive.zip%3FX-Goog-Algorithm%3DGOOG4-RSA-SHA256%26X-Goog-Credential%3Dgcp-kaggle-com%2540kaggle-161607.iam.gserviceaccount.com%252F20240418%252Fauto%252Fstorage%252Fgoog4_request%26X-Goog-Date%3D20240418T100202Z%26X-Goog-Expires%3D259200%26X-Goog-SignedHeaders%3Dhost%26X-Goog-Signature%3D37697dd0d9910676a3f12986b24306fc3726be4de82536c784ffb79deff0ba33d8973d6d612a53bcf9ed39bd7ad8a1d69bb34c42a34c7d6cffee6dd3048a9ef68f047745664f48ea6f3773a1f263129a6f78d48923235cc363b4081daadea014b0958575bf8376d565858404a8b1be7e5f317bdd9f5823ce4777f0b7052445c648bcda039294c804978828087705abe4416a6f9a0e0743388667017128a5ab2ef5ab2dade0d40d1659f4313296501907b4baec3161131e151e6f5b982eee9a6f7eb1b022da9c874f216d7fac981dc1351e9001ee56d03d1da8b2e0d4c97320f18d7e9b00ec63f4ba7444d81595cc8edff2b05f13aef4b204dd2710d0fddf0ef9'\n",92        "\n",93        "KAGGLE_INPUT_PATH='/kaggle/input'\n",94        "KAGGLE_WORKING_PATH='/kaggle/working'\n",95        "KAGGLE_SYMLINK='kaggle'\n",96        "\n",97        "!umount /kaggle/input/ 2> /dev/null\n",98        "shutil.rmtree('/kaggle/input', ignore_errors=True)\n",99        "os.makedirs(KAGGLE_INPUT_PATH, 0o777, exist_ok=True)\n",100        "os.makedirs(KAGGLE_WORKING_PATH, 0o777, exist_ok=True)\n",101        "\n",102        "try:\n",103        "  os.symlink(KAGGLE_INPUT_PATH, os.path.join(\"..\", 'input'), target_is_directory=True)\n",104        "except FileExistsError:\n",105        "  pass\n",106        "try:\n",107        "  os.symlink(KAGGLE_WORKING_PATH, os.path.join(\"..\", 'working'), target_is_directory=True)\n",108        "except FileExistsError:\n",109        "  pass\n",110        "\n",111        "for data_source_mapping in DATA_SOURCE_MAPPING.split(','):\n",112        "    directory, download_url_encoded = data_source_mapping.split(':')\n",113        "    download_url = unquote(download_url_encoded)\n",114        "    filename = urlparse(download_url).path\n",115        "    destination_path = os.path.join(KAGGLE_INPUT_PATH, directory)\n",116        "    try:\n",117        "        with urlopen(download_url) as fileres, NamedTemporaryFile() as tfile:\n",118        "            total_length = fileres.headers['content-length']\n",119        "            print(f'Downloading {directory}, {total_length} bytes compressed')\n",120        "            dl = 0\n",121        "            data = fileres.read(CHUNK_SIZE)\n",122        "            while len(data) > 0:\n",123        "                dl += len(data)\n",124        "                tfile.write(data)\n",125        "                done = int(50 * dl / int(total_length))\n",126        "                sys.stdout.write(f\"\\r[{'=' * done}{' ' * (50-done)}] {dl} bytes downloaded\")\n",127        "                sys.stdout.flush()\n",128        "                data = fileres.read(CHUNK_SIZE)\n",129        "            if filename.endswith('.zip'):\n",130        "              with ZipFile(tfile) as zfile:\n",131        "                zfile.extractall(destination_path)\n",132        "            else:\n",133        "              with tarfile.open(tfile.name) as tarfile:\n",134        "                tarfile.extractall(destination_path)\n",135        "            print(f'\\nDownloaded and uncompressed: {directory}')\n",136        "    except HTTPError as e:\n",137        "        print(f'Failed to load (likely expired) {download_url} to path {destination_path}')\n",138        "        continue\n",139        "    except OSError as e:\n",140        "        print(f'Failed to load {download_url} to path {destination_path}')\n",141        "        continue\n",142        "\n",143        "print('Data source import complete.')"144      ]145    },146    {147      "cell_type": "code",148      "source": [149        "import numpy as np # linear algebra\n",150        "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",151        "\n",152        "# Input data files are available in the read-only \"../input/\" directory\n",153        "# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n",154        "\n",155        "import os\n",156        "for dirname, _, filenames in os.walk('/kaggle/input'):\n",157        "    for filename in filenames:\n",158        "        print(os.path.join(dirname, filename))"159      ],160      "metadata": {161        "colab": {162          "base_uri": "https://localhost:8080/"163        },164        "id": "Yzb-IFDGc1uc",165        "outputId": "0040685f-8549-4e6e-ec26-278fc2ac5e1a"166      },167      "execution_count": 3,168      "outputs": [169        {170          "output_type": "stream",171          "name": "stdout",172          "text": [173            "/kaggle/input/sentiment-analysis-dataset/testdata.manual.2009.06.14.csv\n",174            "/kaggle/input/sentiment-analysis-dataset/test.csv\n",175            "/kaggle/input/sentiment-analysis-dataset/training.1600000.processed.noemoticon.csv\n",176            "/kaggle/input/sentiment-analysis-dataset/train.csv\n"177          ]178        }179      ]180    },181    {182      "cell_type": "code",183      "source": [184        "d = pd.read_csv('/kaggle/input/sentiment-analysis-dataset/train.csv',encoding='latin1');\n",185        "f = pd.read_csv('/kaggle/input/sentiment-analysis-dataset/test.csv',encoding='latin1');\n",186        "df = pd.concat([d,f])"187      ],188      "metadata": {189        "id": "5Gk5uINXc75b"190      },191      "execution_count": 4,192      "outputs": []193    },194    {195      "cell_type": "code",196      "source": [197        "print(df.shape)\n",198        "display(df.info())\n",199        "display(df)"200      ],201      "metadata": {202        "colab": {203          "base_uri": "https://localhost:8080/",204          "height": 997205        },206        "id": "gZ8lChobdQFs",207        "outputId": "f21d4c96-06e3-4177-b7cf-3bc4d0360b40"208      },209      "execution_count": 5,210      "outputs": [211        {212          "output_type": "stream",213          "name": "stdout",214          "text": [215            "(32296, 10)\n",216            "<class 'pandas.core.frame.DataFrame'>\n",217            "Index: 32296 entries, 0 to 4814\n",218            "Data columns (total 10 columns):\n",219            " #   Column            Non-Null Count  Dtype  \n",220            "---  ------            --------------  -----  \n",221            " 0   textID            31015 non-null  object \n",222            " 1   text              31014 non-null  object \n",223            " 2   selected_text     27480 non-null  object \n",224            " 3   sentiment         31015 non-null  object \n",225            " 4   Time of Tweet     31015 non-null  object \n",226            " 5   Age of User       31015 non-null  object \n",227            " 6   Country           31015 non-null  object \n",228            " 7   Population -2020  31015 non-null  float64\n",229            " 8   Land Area (Km²)   31015 non-null  float64\n",230            " 9   Density (P/Km²)   31015 non-null  float64\n",231            "dtypes: float64(3), object(7)\n",232            "memory usage: 2.7+ MB\n"233          ]234        },235        {236          "output_type": "display_data",237          "data": {238            "text/plain": [239              "None"240            ]241          },242          "metadata": {}243        },244        {245          "output_type": "display_data",246          "data": {247            "text/plain": [248              "          textID                                               text  \\\n",249              "0     cb774db0d1                I`d have responded, if I were going   \n",250              "1     549e992a42      Sooo SAD I will miss you here in San Diego!!!   \n",251              "2     088c60f138                          my boss is bullying me...   \n",252              "3     9642c003ef                     what interview! leave me alone   \n",253              "4     358bd9e861   Sons of ****, why couldn`t they put them on t...   \n",254              "...          ...                                                ...   \n",255              "4810         NaN                                                NaN   \n",256              "4811         NaN                                                NaN   \n",257              "4812         NaN                                                NaN   \n",258              "4813         NaN                                                NaN   \n",259              "4814         NaN                                                NaN   \n",260              "\n",261              "                            selected_text sentiment Time of Tweet Age of User  \\\n",262              "0     I`d have responded, if I were going   neutral       morning        0-20   \n",263              "1                                Sooo SAD  negative          noon       21-30   \n",264              "2                             bullying me  negative         night       31-45   \n",265              "3                          leave me alone  negative       morning       46-60   \n",266              "4                           Sons of ****,  negative          noon       60-70   \n",267              "...                                   ...       ...           ...         ...   \n",268              "4810                                  NaN       NaN           NaN         NaN   \n",269              "4811                                  NaN       NaN           NaN         NaN   \n",270              "4812                                  NaN       NaN           NaN         NaN   \n",271              "4813                                  NaN       NaN           NaN         NaN   \n",272              "4814                                  NaN       NaN           NaN         NaN   \n",273              "\n",274              "          Country  Population -2020  Land Area (Km²)  Density (P/Km²)  \n",275              "0     Afghanistan        38928346.0         652860.0             60.0  \n",276              "1         Albania         2877797.0          27400.0            105.0  \n",277              "2         Algeria        43851044.0        2381740.0             18.0  \n",278              "3         Andorra           77265.0            470.0            164.0  \n",279              "4          Angola        32866272.0        1246700.0             26.0  \n",280              "...           ...               ...              ...              ...  \n",281              "4810          NaN               NaN              NaN              NaN  \n",282              "4811          NaN               NaN              NaN              NaN  \n",283              "4812          NaN               NaN              NaN              NaN  \n",284              "4813          NaN               NaN              NaN              NaN  \n",285              "4814          NaN               NaN              NaN              NaN  \n",286              "\n",287              "[32296 rows x 10 columns]"288            ],289            "text/html": [290              "\n",291              "  <div id=\"df-91351af5-e004-401e-882d-3a81aec772de\" class=\"colab-df-container\">\n",292              "    <div>\n",293              "<style scoped>\n",294              "    .dataframe tbody tr th:only-of-type {\n",295              "        vertical-align: middle;\n",296              "    }\n",297              "\n",298              "    .dataframe tbody tr th {\n",299              "        vertical-align: top;\n",300              "    }\n",301              "\n",302              "    .dataframe thead th {\n",303              "        text-align: right;\n",304              "    }\n",305              "</style>\n",306              "<table border=\"1\" class=\"dataframe\">\n",307              "  <thead>\n",308              "    <tr style=\"text-align: right;\">\n",309              "      <th></th>\n",310              "      <th>textID</th>\n",311              "      <th>text</th>\n",312              "      <th>selected_text</th>\n",313              "      <th>sentiment</th>\n",314              "      <th>Time of Tweet</th>\n",315              "      <th>Age of User</th>\n",316              "      <th>Country</th>\n",317              "      <th>Population -2020</th>\n",318              "      <th>Land Area (Km²)</th>\n",319              "      <th>Density (P/Km²)</th>\n",320              "    </tr>\n",321              "  </thead>\n",322              "  <tbody>\n",323              "    <tr>\n",324              "      <th>0</th>\n",325              "      <td>cb774db0d1</td>\n",326              "      <td>I`d have responded, if I were going</td>\n",327              "      <td>I`d have responded, if I were going</td>\n",328              "      <td>neutral</td>\n",329              "      <td>morning</td>\n",330              "      <td>0-20</td>\n",331              "      <td>Afghanistan</td>\n",332              "      <td>38928346.0</td>\n",333              "      <td>652860.0</td>\n",334              "      <td>60.0</td>\n",335              "    </tr>\n",336              "    <tr>\n",337              "      <th>1</th>\n",338              "      <td>549e992a42</td>\n",339              "      <td>Sooo SAD I will miss you here in San Diego!!!</td>\n",340              "      <td>Sooo SAD</td>\n",341              "      <td>negative</td>\n",342              "      <td>noon</td>\n",343              "      <td>21-30</td>\n",344              "      <td>Albania</td>\n",345              "      <td>2877797.0</td>\n",346              "      <td>27400.0</td>\n",347              "      <td>105.0</td>\n",348              "    </tr>\n",349              "    <tr>\n",350              "      <th>2</th>\n",351              "      <td>088c60f138</td>\n",352              "      <td>my boss is bullying me...</td>\n",353              "      <td>bullying me</td>\n",354              "      <td>negative</td>\n",355              "      <td>night</td>\n",356              "      <td>31-45</td>\n",357              "      <td>Algeria</td>\n",358              "      <td>43851044.0</td>\n",359              "      <td>2381740.0</td>\n",360              "      <td>18.0</td>\n",361              "    </tr>\n",362              "    <tr>\n",363              "      <th>3</th>\n",364              "      <td>9642c003ef</td>\n",365              "      <td>what interview! leave me alone</td>\n",366              "      <td>leave me alone</td>\n",367              "      <td>negative</td>\n",368              "      <td>morning</td>\n",369              "      <td>46-60</td>\n",370              "      <td>Andorra</td>\n",371              "      <td>77265.0</td>\n",372              "      <td>470.0</td>\n",373              "      <td>164.0</td>\n",374              "    </tr>\n",375              "    <tr>\n",376              "      <th>4</th>\n",377              "      <td>358bd9e861</td>\n",378              "      <td>Sons of ****, why couldn`t they put them on t...</td>\n",379              "      <td>Sons of ****,</td>\n",380              "      <td>negative</td>\n",381              "      <td>noon</td>\n",382              "      <td>60-70</td>\n",383              "      <td>Angola</td>\n",384              "      <td>32866272.0</td>\n",385              "      <td>1246700.0</td>\n",386              "      <td>26.0</td>\n",387              "    </tr>\n",388              "    <tr>\n",389              "      <th>...</th>\n",390              "      <td>...</td>\n",391              "      <td>...</td>\n",392              "      <td>...</td>\n",393              "      <td>...</td>\n",394              "      <td>...</td>\n",395              "      <td>...</td>\n",396              "      <td>...</td>\n",397              "      <td>...</td>\n",398              "      <td>...</td>\n",399              "      <td>...</td>\n",400              "    </tr>\n",401              "    <tr>\n",402              "      <th>4810</th>\n",403              "      <td>NaN</td>\n",404              "      <td>NaN</td>\n",405              "      <td>NaN</td>\n",406              "      <td>NaN</td>\n",407              "      <td>NaN</td>\n",408              "      <td>NaN</td>\n",409              "      <td>NaN</td>\n",410              "      <td>NaN</td>\n",411              "      <td>NaN</td>\n",412              "      <td>NaN</td>\n",413              "    </tr>\n",414              "    <tr>\n",415              "      <th>4811</th>\n",416              "      <td>NaN</td>\n",417              "      <td>NaN</td>\n",418              "      <td>NaN</td>\n",419              "      <td>NaN</td>\n",420              "      <td>NaN</td>\n",421              "      <td>NaN</td>\n",422              "      <td>NaN</td>\n",423              "      <td>NaN</td>\n",424              "      <td>NaN</td>\n",425              "      <td>NaN</td>\n",426              "    </tr>\n",427              "    <tr>\n",428              "      <th>4812</th>\n",429              "      <td>NaN</td>\n",430              "      <td>NaN</td>\n",431              "      <td>NaN</td>\n",432              "      <td>NaN</td>\n",433              "      <td>NaN</td>\n",434              "      <td>NaN</td>\n",435              "      <td>NaN</td>\n",436              "      <td>NaN</td>\n",437              "      <td>NaN</td>\n",438              "      <td>NaN</td>\n",439              "    </tr>\n",440              "    <tr>\n",441              "      <th>4813</th>\n",442              "      <td>NaN</td>\n",443              "      <td>NaN</td>\n",444              "      <td>NaN</td>\n",445              "      <td>NaN</td>\n",446              "      <td>NaN</td>\n",447              "      <td>NaN</td>\n",448              "      <td>NaN</td>\n",449              "      <td>NaN</td>\n",450              "      <td>NaN</td>\n",451              "      <td>NaN</td>\n",452              "    </tr>\n",453              "    <tr>\n",454              "      <th>4814</th>\n",455              "      <td>NaN</td>\n",456              "      <td>NaN</td>\n",457              "      <td>NaN</td>\n",458              "      <td>NaN</td>\n",459              "      <td>NaN</td>\n",460              "      <td>NaN</td>\n",461              "      <td>NaN</td>\n",462              "      <td>NaN</td>\n",463              "      <td>NaN</td>\n",464              "      <td>NaN</td>\n",465              "    </tr>\n",466              "  </tbody>\n",467              "</table>\n",468              "<p>32296 rows × 10 columns</p>\n",469              "</div>\n",470              "    <div class=\"colab-df-buttons\">\n",471              "\n",472              "  <div class=\"colab-df-container\">\n",473              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-91351af5-e004-401e-882d-3a81aec772de')\"\n",474              "            title=\"Convert this dataframe to an interactive table.\"\n",475              "            style=\"display:none;\">\n",476              "\n",477              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",478              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",479              "  </svg>\n",480              "    </button>\n",481              "\n",482              "  <style>\n",483              "    .colab-df-container {\n",484              "      display:flex;\n",485              "      gap: 12px;\n",486              "    }\n",487              "\n",488              "    .colab-df-convert {\n",489              "      background-color: #E8F0FE;\n",490              "      border: none;\n",491              "      border-radius: 50%;\n",492              "      cursor: pointer;\n",493              "      display: none;\n",494              "      fill: #1967D2;\n",495              "      height: 32px;\n",496              "      padding: 0 0 0 0;\n",497              "      width: 32px;\n",498              "    }\n",499              "\n",500              "    .colab-df-convert:hover {\n",501              "      background-color: #E2EBFA;\n",502              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",503              "      fill: #174EA6;\n",504              "    }\n",505              "\n",506              "    .colab-df-buttons div {\n",507              "      margin-bottom: 4px;\n",508              "    }\n",509              "\n",510              "    [theme=dark] .colab-df-convert {\n",511              "      background-color: #3B4455;\n",512              "      fill: #D2E3FC;\n",513              "    }\n",514              "\n",515              "    [theme=dark] .colab-df-convert:hover {\n",516              "      background-color: #434B5C;\n",517              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",518              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",519              "      fill: #FFFFFF;\n",520              "    }\n",521              "  </style>\n",522              "\n",523              "    <script>\n",524              "      const buttonEl =\n",525              "        document.querySelector('#df-91351af5-e004-401e-882d-3a81aec772de button.colab-df-convert');\n",526              "      buttonEl.style.display =\n",527              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",528              "\n",529              "      async function convertToInteractive(key) {\n",530              "        const element = document.querySelector('#df-91351af5-e004-401e-882d-3a81aec772de');\n",531              "        const dataTable =\n",532              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",533              "                                                    [key], {});\n",534              "        if (!dataTable) return;\n",535              "\n",536              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",537              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",538              "          + ' to learn more about interactive tables.';\n",539              "        element.innerHTML = '';\n",540              "        dataTable['output_type'] = 'display_data';\n",541              "        await google.colab.output.renderOutput(dataTable, element);\n",542              "        const docLink = document.createElement('div');\n",543              "        docLink.innerHTML = docLinkHtml;\n",544              "        element.appendChild(docLink);\n",545              "      }\n",546              "    </script>\n",547              "  </div>\n",548              "\n",549              "\n",550              "<div id=\"df-c024b0e1-2dfa-4891-8838-aec258bc8627\">\n",551              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-c024b0e1-2dfa-4891-8838-aec258bc8627')\"\n",552              "            title=\"Suggest charts\"\n",553              "            style=\"display:none;\">\n",554              "\n",555              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",556              "     width=\"24px\">\n",557              "    <g>\n",558              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",559              "    </g>\n",560              "</svg>\n",561              "  </button>\n",562              "\n",563              "<style>\n",564              "  .colab-df-quickchart {\n",565              "      --bg-color: #E8F0FE;\n",566              "      --fill-color: #1967D2;\n",567              "      --hover-bg-color: #E2EBFA;\n",568              "      --hover-fill-color: #174EA6;\n",569              "      --disabled-fill-color: #AAA;\n",570              "      --disabled-bg-color: #DDD;\n",571              "  }\n",572              "\n",573              "  [theme=dark] .colab-df-quickchart {\n",574              "      --bg-color: #3B4455;\n",575              "      --fill-color: #D2E3FC;\n",576              "      --hover-bg-color: #434B5C;\n",577              "      --hover-fill-color: #FFFFFF;\n",578              "      --disabled-bg-color: #3B4455;\n",579              "      --disabled-fill-color: #666;\n",580              "  }\n",581              "\n",582              "  .colab-df-quickchart {\n",583              "    background-color: var(--bg-color);\n",584              "    border: none;\n",585              "    border-radius: 50%;\n",586              "    cursor: pointer;\n",587              "    display: none;\n",588              "    fill: var(--fill-color);\n",589              "    height: 32px;\n",590              "    padding: 0;\n",591              "    width: 32px;\n",592              "  }\n",593              "\n",594              "  .colab-df-quickchart:hover {\n",595              "    background-color: var(--hover-bg-color);\n",596              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",597              "    fill: var(--button-hover-fill-color);\n",598              "  }\n",599              "\n",600              "  .colab-df-quickchart-complete:disabled,\n",601              "  .colab-df-quickchart-complete:disabled:hover {\n",602              "    background-color: var(--disabled-bg-color);\n",603              "    fill: var(--disabled-fill-color);\n",604              "    box-shadow: none;\n",605              "  }\n",606              "\n",607              "  .colab-df-spinner {\n",608              "    border: 2px solid var(--fill-color);\n",609              "    border-color: transparent;\n",610              "    border-bottom-color: var(--fill-color);\n",611              "    animation:\n",612              "      spin 1s steps(1) infinite;\n",613              "  }\n",614              "\n",615              "  @keyframes spin {\n",616              "    0% {\n",617              "      border-color: transparent;\n",618              "      border-bottom-color: var(--fill-color);\n",619              "      border-left-color: var(--fill-color);\n",620              "    }\n",621              "    20% {\n",622              "      border-color: transparent;\n",623              "      border-left-color: var(--fill-color);\n",624              "      border-top-color: var(--fill-color);\n",625              "    }\n",626              "    30% {\n",627              "      border-color: transparent;\n",628              "      border-left-color: var(--fill-color);\n",629              "      border-top-color: var(--fill-color);\n",630              "      border-right-color: var(--fill-color);\n",631              "    }\n",632              "    40% {\n",633              "      border-color: transparent;\n",634              "      border-right-color: var(--fill-color);\n",635              "      border-top-color: var(--fill-color);\n",636              "    }\n",637              "    60% {\n",638              "      border-color: transparent;\n",639              "      border-right-color: var(--fill-color);\n",640              "    }\n",641              "    80% {\n",642              "      border-color: transparent;\n",643              "      border-right-color: var(--fill-color);\n",644              "      border-bottom-color: var(--fill-color);\n",645              "    }\n",646              "    90% {\n",647              "      border-color: transparent;\n",648              "      border-bottom-color: var(--fill-color);\n",649              "    }\n",650              "  }\n",651              "</style>\n",652              "\n",653              "  <script>\n",654              "    async function quickchart(key) {\n",655              "      const quickchartButtonEl =\n",656              "        document.querySelector('#' + key + ' button');\n",657              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",658              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",659              "      try {\n",660              "        const charts = await google.colab.kernel.invokeFunction(\n",661              "            'suggestCharts', [key], {});\n",662              "      } catch (error) {\n",663              "        console.error('Error during call to suggestCharts:', error);\n",664              "      }\n",665              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",666              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",667              "    }\n",668              "    (() => {\n",669              "      let quickchartButtonEl =\n",670              "        document.querySelector('#df-c024b0e1-2dfa-4891-8838-aec258bc8627 button');\n",671              "      quickchartButtonEl.style.display =\n",672              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",673              "    })();\n",674              "  </script>\n",675              "</div>\n",676              "    </div>\n",677              "  </div>\n"678            ],679            "application/vnd.google.colaboratory.intrinsic+json": {680              "type": "dataframe",681              "variable_name": "df",682              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 32296,\n  \"fields\": [\n    {\n      \"column\": \"textID\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 31015,\n        \"samples\": [\n          \"de78baa02c\",\n          \"b0794b5a7e\",\n          \"ed036f1d74\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 31014,\n        \"samples\": [\n          \" I was afraid you were going to say that.\",\n          \" part 2: social networking??.. there is even room for people\",\n          \"i miss the one who would do anything to spend 5 min with me... the one who used to say just tell me when and where\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"selected_text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 22430,\n        \"samples\": [\n          \"that is why I drive a (teeny tiny) honda civic\",\n          \"Sorry...but, I bet they aren`t that bad...\",\n          \"yummy\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sentiment\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"neutral\",\n          \"negative\",\n          \"positive\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Time of Tweet\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"morning\",\n          \"noon\",\n          \"night\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Age of User\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 6,\n        \"samples\": [\n          \"0-20\",\n          \"21-30\",\n          \"70-100\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Country\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 195,\n        \"samples\": [\n          \"Philippines\",\n          \"Belgium\",\n          \"Sierra Leone\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Population -2020\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 150084504.4053449,\n        \"min\": 801.0,\n        \"max\": 1439323776.0,\n        \"num_unique_values\": 195,\n        \"samples\": [\n          109581078.0,\n          11589623.0,\n          7976983.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Land Area (Km\\u00b2)\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1811038.6572147855,\n        \"min\": 0.0,\n        \"max\": 16376870.0,\n        \"num_unique_values\": 193,\n        \"samples\": [\n          2267050.0,\n          1280000.0,\n          100250.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Density (P/Km\\u00b2)\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 2008.4507293311128,\n        \"min\": 2.0,\n        \"max\": 26337.0,\n        \"num_unique_values\": 136,\n        \"samples\": [\n          400.0,\n          71.0,\n          331.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"683            }684          },685          "metadata": {}686        }687      ]688    },689    {690      "cell_type": "markdown",691      "source": [692        "## Preprocessing the dataset"693      ],694      "metadata": {695        "id": "5GLaYntUf0e1"696      }697    },698    {699      "cell_type": "code",700      "source": [701        "df.dropna(inplace=True)"702      ],703      "metadata": {704        "id": "YwLU8XIkdUhy"705      },706      "execution_count": 6,707      "outputs": []708    },709    {710      "cell_type": "code",711      "source": [712        "df['sentiment'].value_counts(normalize=True).plot(kind='bar');"713      ],714      "metadata": {715        "colab": {716          "base_uri": "https://localhost:8080/",717          "height": 496718        },719        "id": "rxtOBkQWd-hM",720        "outputId": "473c0377-e4fb-422d-a373-9154696c0f98"721      },722      "execution_count": 7,723      "outputs": [724        {725          "output_type": "display_data",726          "data": {727            "text/plain": [728              "<Figure size 640x480 with 1 Axes>"729            ],730            "image/png": "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67XXXlNMTIxWrFih+Ph4DR482NvlwcccP35ckydP1rJlyyRJ//znP5WQkKDJkycrJiZGjz/+uJcrbNsILD5q3rx5Z9XPZrMRWOAVr7/+uu666y6NGzdOn376qerq6iRJVVVVeuqpp7RmzRovVwhfk5OTo82bN6ukpETp6emudrvdrunTpxNYzjOedAvASNdcc40eeughZWRkqGPHjtq8ebMSEhL06aefatiwYXI6nd4uET6ma9euWrVqlQYOHOj2ndy1a5f69eun6upqb5fYprGGBYCRduzYoRtuuKFJe2hoqI4ePXrhC4LPO3TokMLDw5u019bWymazeaEi38IlIUiS9u3bpz//+c+qqKhQfX29276CggIvVQVfFhkZqV27dikuLs6tfe3atUpISPBOUfBpycnJeuuttzR58mRJcoWUxYsXKzU11Zul+QQCC+RwOHTrrbcqISFBn3/+ua6++mqVl5fLsiz169fP2+XBR2VlZemBBx7QkiVLZLPZtH//fpWWlurhhx/WtGnTvF0efNBTTz2lYcOGadu2bTp16pSee+45bdu2TevWrdMHH3zg7fLaPNawQAMGDNCwYcM0Y8YM13XZ8PBwjRs3Tunp6Zo4caK3S4QPsixLTz31lPLz83X8+HFJUmBgoB5++GHNmjXLy9XBV+3evVuzZ8/W5s2bVVNTo379+umxxx5Tnz59vF1am0dggTp27KhNmzapW7du6ty5s9auXaurrrpKmzdv1ogRI1ReXu7tEuHD6uvrtWvXLtXU1Kh3797q0KGDt0sC4AUsuoXat2/vWrcSFRWl3bt3u/YdPnzYW2XBx7388ss6fvy4AgIC1Lt3bw0YMICwAq+y2+1aunQpdwN5CYEFGjhwoNauXStJGj58uH75y1/qySef1C9+8QsNHDjQy9XBVz300EMKDw/XnXfeqTVr1qihocHbJcHHXXXVVcrJyVFkZKTuuOMO/elPf9LJkye9XZbP4JIQ9MUXX6impkaJiYmqra3VL3/5S61bt049evRQQUGBunbt6u0S4YNOnTql4uJivfLKK/rTn/6k4OBg3XHHHRo3bpwGDRrk7fLgoxobG/Xee+9p5cqV+uMf/yh/f3+NGjVK48aN04033ujt8to0AouPa2ho0IcffqjExER16tTJ2+UAzTp+/Lj++Mc/auXKlXrvvfd0xRVXuF26BLzhxIkT+stf/qInn3xS//jHP5gFPM+4rdnH+fv7a+jQodq+fTuBBcYKDg5WWlqavv76a/3rX//S9u3bvV0SfJzT6dSrr76ql19+WVu2bNGAAQO8XVKbxxoW6Oqrr9YXX3zh7TKAJo4fP67f/e53Gj58uGJiYlRYWKjbbrtNn332mbdLgw+qrq7WSy+9pB//+MeKjY3VwoULdeutt2rnzp366KOPvF1em8clIai4uFg5OTmaNWuW+vfvr/bt27vtDwkJ8VJl8GVjxozRm2++qeDgYP3P//yPxo0bx9NE4VXt2rVT586dNXr0aI0bN07JycneLsmnEFggP79vJ9r+830YlmXJZrNxXRZeMW7cOI0bN05paWny9/f3djmA3n33XQ0ZMsTtv5m4cAgs+M5HSrPyHQDgbSy6heLj4xUbG9vkbaOWZWnv3r1eqgq+aP78+br33nsVFBSk+fPnn7HvlClTLlBV8GX9+vWTw+FQ586ddc0115zxrcwbN268gJX5HgILFB8frwMHDjR5bfpXX32l+Ph4Lgnhgpk3b57GjRunoKAgzZs3r8V+NpuNwIILYsSIEQoMDHT9fKbAgvOLS0KQn5+fKisrdfnll7u1/+tf/1Lv3r1VW1vrpcoAADiNGRYflp2dLen031anTZum4OBg176GhgaVlZUpKSnJS9XB182cOVMPP/yw2/dSkv7973/rmWeeUW5urpcqg69KSEjQxx9/rMsuu8yt/ejRo+rXrx+PhzjPmGHxYTfffLOk04tuU1NTFRAQ4NoXEBCguLg4Pfzww+rRo4e3SoQP8/f3b/ZS5ZEjRxQeHs6lSlxwfn5+cjqdTb6TlZWVio2Ndb1EFucHMyw+7P3335ckZWZm6rnnnuN5KzDKN7fV/7fNmzerS5cuXqgIvurPf/6z6+e3335boaGhrs8NDQ1yOByKj4/3Rmk+hRkWAEbp3LmzbDabqqqqFBIS4hZaGhoaVFNTo/vuu08LFizwYpXwJd88d8Vms+m//8i89NJLFRcXp2effVY/+clPvFGezyCwQD/60Y/OuP9vf/vbBaoEkJYtWybLsvSLX/xChYWFbn+b/eZSJU+8hTfEx8fr448/VlhYmLdL8UlcEoL69u3r9vnkyZPatGmTtm7dqvHjx3upKviqb75z8fHxGjRokC699FIvVwSctmfPHm+X4NOYYUGLpk+frpqaGs2dO9fbpcBHVFdXu9ZSVVdXn7Eva67gDbW1tfrggw9UUVHRZJEtzwY6vwgsaNGuXbs0YMAAffXVV94uBT7iP+8M8vPza3bRLe+4grd8+umnGj58uI4fP67a2lp16dJFhw8fVnBwsMLDw7mt+TzjkhBaVFpaqqCgIG+XAR/yt7/9zXUH0Dd3sQGmeOihh/TTn/5URUVFCg0N1UcffaRLL71UP//5z/XAAw94u7w2jxkW6Gc/+5nbZ8uydODAAX3yySeaNm2a8vLyvFQZAJijU6dOKisr05VXXqlOnTqptLRUvXr1UllZmcaPH6/PP//c2yW2abwjGwoNDXXbunTpoptuuklr1qwhrMBriouLtXbtWtfnBQsWKCkpSXfeeae+/vprL1YGX3XppZe6bnEODw9XRUWFpNP/DeVFsecfMywAjNSnTx89/fTTGj58uP7xj38oOTlZv/zlL/X++++rZ8+eeumll7xdInzM0KFDNWHCBN15553KysrSli1bNGXKFK1YsUJff/21ysrKvF1im0ZggaTT78J47bXXtHv3bj3yyCPq0qWLNm7cqIiICMXExHi7PPigDh06aOvWrYqLi9P06dO1detWvfbaa9q4caOGDx8up9Pp7RLhYz755BMdO3ZMN998sw4ePKiMjAytW7dOPXr00JIlS5o8IgLnFotuoS1btmjIkCHq1KmTysvLlZWVpS5duuiNN95QRUWFli9f7u0S4YMCAgJ0/PhxSdJ7772njIwMSVKXLl2+85Zn4HxITk52/RweHq7i4mIvVuN7WMMCZWdnKzMzUzt37nS7K2j48OH6+9//7sXK4MsGDx6s7OxszZo1S+vXr9ctt9wiSfrnP/+pK664wsvVAbjQmGGBPv74Y/3mN79p0h4TE8O0O7zmhRde0P3336/XXntNCxcudF2a/Otf/6r09HQvVwdfdM011zT7bCCbzaagoCB1795dEyZM0M033+yF6to+AgsUGBjY7BT7P//5T11++eVeqAiQfvCDH+jNN99s0j5v3jwvVANI6enpWrhwofr06aMBAwZIOv0Xvi1btmjChAnatm2b7Ha73njjDY0YMcLL1bY9LLqF7rnnHh05ckS///3v1aVLF23ZskX+/v4aOXKkbrjhBhUWFnq7RPiohoYGrV69Wtu3b5ckXXXVVbr11lvl7+/v5crgi7KysvSDH/xA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\n"731          },732          "metadata": {}733        }734      ]735    },736    {737      "cell_type": "code",738      "source": [739        "df['sentiment'] = df['sentiment'].astype('category').cat.codes\n",740        "df['sentiment'].value_counts(normalize=True).plot(kind='bar');"741      ],742      "metadata": {743        "colab": {744          "base_uri": "https://localhost:8080/",745          "height": 444746        },747        "id": "M7HswPcdeCkd",748        "outputId": "ceb470f4-44b7-48aa-be8c-168b770216ae"749      },750      "execution_count": 8,751      "outputs": [752        {753          "output_type": "display_data",754          "data": {755            "text/plain": [756              "<Figure size 640x480 with 1 Axes>"757            ],758            "image/png": "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\n"759          },760          "metadata": {}761        }762      ]763    },764    {765      "cell_type": "code",766      "source": [767        "df['Time of Tweet'] = df['Time of Tweet'].astype('category').cat.codes\n",768        "# Convert Country column to categorical variable\n",769        "df['Country'] = df['Country'].astype('category').cat.codes\n",770        "# convert Age of User to integer\n",771        "df['Age of User']=df['Age of User'].replace({'0-20':18,'21-30':25,'31-45':38,'46-60':53,'60-70':65,'70-100':80})"772      ],773      "metadata": {774        "id": "tbthdXH-eIYk"775      },776      "execution_count": 9,777      "outputs": []778    },779    {780      "cell_type": "code",781      "source": [782        "df.info()"783      ],784      "metadata": {785        "colab": {786          "base_uri": "https://localhost:8080/"787        },788        "id": "eaL6GXe_eNkD",789        "outputId": "1e763452-c8a6-4ab4-8e13-750605c9782c"790      },791      "execution_count": 10,792      "outputs": [793        {794          "output_type": "stream",795          "name": "stdout",796          "text": [797            "<class 'pandas.core.frame.DataFrame'>\n",798            "Index: 27480 entries, 0 to 27480\n",799            "Data columns (total 10 columns):\n",800            " #   Column            Non-Null Count  Dtype  \n",801            "---  ------            --------------  -----  \n",802            " 0   textID            27480 non-null  object \n",803            " 1   text              27480 non-null  object \n",804            " 2   selected_text     27480 non-null  object \n",805            " 3   sentiment         27480 non-null  int8   \n",806            " 4   Time of Tweet     27480 non-null  int8   \n",807            " 5   Age of User       27480 non-null  int64  \n",808            " 6   Country           27480 non-null  int16  \n",809            " 7   Population -2020  27480 non-null  float64\n",810            " 8   Land Area (Km²)   27480 non-null  float64\n",811            " 9   Density (P/Km²)   27480 non-null  float64\n",812            "dtypes: float64(3), int16(1), int64(1), int8(2), object(3)\n",813            "memory usage: 1.8+ MB\n"814          ]815        }816      ]817    },818    {819      "cell_type": "code",820      "source": [821        "df.drop(columns=['textID','Time of Tweet', 'Age of User', 'Country', 'Population -2020', 'Land Area (Km²)', 'Density (P/Km²)'])"822      ],823      "metadata": {824        "colab": {825          "base_uri": "https://localhost:8080/",826          "height": 424827        },828        "id": "M5N7UAfKeQ-8",829        "outputId": "5ff56d5f-ec34-40cb-b04d-150451095f7e"830      },831      "execution_count": 11,832      "outputs": [833        {834          "output_type": "execute_result",835          "data": {836            "text/plain": [837              "                                                    text  \\\n",838              "0                    I`d have responded, if I were going   \n",839              "1          Sooo SAD I will miss you here in San Diego!!!   \n",840              "2                              my boss is bullying me...   \n",841              "3                         what interview! leave me alone   \n",842              "4       Sons of ****, why couldn`t they put them on t...   \n",843              "...                                                  ...   \n",844              "27476   wish we could come see u on Denver  husband l...   \n",845              "27477   I`ve wondered about rake to.  The client has ...   \n",846              "27478   Yay good for both of you. Enjoy the break - y...   \n",847              "27479                         But it was worth it  ****.   \n",848              "27480     All this flirting going on - The ATG smiles...   \n",849              "\n",850              "                                           selected_text  sentiment  \n",851              "0                    I`d have responded, if I were going          1  \n",852              "1                                               Sooo SAD          0  \n",853              "2                                            bullying me          0  \n",854              "3                                         leave me alone          0  \n",855              "4                                          Sons of ****,          0  \n",856              "...                                                  ...        ...  \n",857              "27476                                             d lost          0  \n",858              "27477                                      , don`t force          0  \n",859              "27478                          Yay good for both of you.          2  \n",860              "27479                         But it was worth it  ****.          2  \n",861              "27480  All this flirting going on - The ATG smiles. Y...          1  \n",862              "\n",863              "[27480 rows x 3 columns]"864            ],865            "text/html": [866              "\n",867              "  <div id=\"df-c56baa4c-eb57-487e-98f9-1b276b1f44d8\" class=\"colab-df-container\">\n",868              "    <div>\n",869              "<style scoped>\n",870              "    .dataframe tbody tr th:only-of-type {\n",871              "        vertical-align: middle;\n",872              "    }\n",873              "\n",874              "    .dataframe tbody tr th {\n",875              "        vertical-align: top;\n",876              "    }\n",877              "\n",878              "    .dataframe thead th {\n",879              "        text-align: right;\n",880              "    }\n",881              "</style>\n",882              "<table border=\"1\" class=\"dataframe\">\n",883              "  <thead>\n",884              "    <tr style=\"text-align: right;\">\n",885              "      <th></th>\n",886              "      <th>text</th>\n",887              "      <th>selected_text</th>\n",888              "      <th>sentiment</th>\n",889              "    </tr>\n",890              "  </thead>\n",891              "  <tbody>\n",892              "    <tr>\n",893              "      <th>0</th>\n",894              "      <td>I`d have responded, if I were going</td>\n",895              "      <td>I`d have responded, if I were going</td>\n",896              "      <td>1</td>\n",897              "    </tr>\n",898              "    <tr>\n",899              "      <th>1</th>\n",900              "      <td>Sooo SAD I will miss you here in San Diego!!!</td>\n",901              "      <td>Sooo SAD</td>\n",902              "      <td>0</td>\n",903              "    </tr>\n",904              "    <tr>\n",905              "      <th>2</th>\n",906              "      <td>my boss is bullying me...</td>\n",907              "      <td>bullying me</td>\n",908              "      <td>0</td>\n",909              "    </tr>\n",910              "    <tr>\n",911              "      <th>3</th>\n",912              "      <td>what interview! leave me alone</td>\n",913              "      <td>leave me alone</td>\n",914              "      <td>0</td>\n",915              "    </tr>\n",916              "    <tr>\n",917              "      <th>4</th>\n",918              "      <td>Sons of ****, why couldn`t they put them on t...</td>\n",919              "      <td>Sons of ****,</td>\n",920              "      <td>0</td>\n",921              "    </tr>\n",922              "    <tr>\n",923              "      <th>...</th>\n",924              "      <td>...</td>\n",925              "      <td>...</td>\n",926              "      <td>...</td>\n",927              "    </tr>\n",928              "    <tr>\n",929              "      <th>27476</th>\n",930              "      <td>wish we could come see u on Denver  husband l...</td>\n",931              "      <td>d lost</td>\n",932              "      <td>0</td>\n",933              "    </tr>\n",934              "    <tr>\n",935              "      <th>27477</th>\n",936              "      <td>I`ve wondered about rake to.  The client has ...</td>\n",937              "      <td>, don`t force</td>\n",938              "      <td>0</td>\n",939              "    </tr>\n",940              "    <tr>\n",941              "      <th>27478</th>\n",942              "      <td>Yay good for both of you. Enjoy the break - y...</td>\n",943              "      <td>Yay good for both of you.</td>\n",944              "      <td>2</td>\n",945              "    </tr>\n",946              "    <tr>\n",947              "      <th>27479</th>\n",948              "      <td>But it was worth it  ****.</td>\n",949              "      <td>But it was worth it  ****.</td>\n",950              "      <td>2</td>\n",951              "    </tr>\n",952              "    <tr>\n",953              "      <th>27480</th>\n",954              "      <td>All this flirting going on - The ATG smiles...</td>\n",955              "      <td>All this flirting going on - The ATG smiles. Y...</td>\n",956              "      <td>1</td>\n",957              "    </tr>\n",958              "  </tbody>\n",959              "</table>\n",960              "<p>27480 rows × 3 columns</p>\n",961              "</div>\n",962              "    <div class=\"colab-df-buttons\">\n",963              "\n",964              "  <div class=\"colab-df-container\">\n",965              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-c56baa4c-eb57-487e-98f9-1b276b1f44d8')\"\n",966              "            title=\"Convert this dataframe to an interactive table.\"\n",967              "            style=\"display:none;\">\n",968              "\n",969              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",970              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",971              "  </svg>\n",972              "    </button>\n",973              "\n",974              "  <style>\n",975              "    .colab-df-container {\n",976              "      display:flex;\n",977              "      gap: 12px;\n",978              "    }\n",979              "\n",980              "    .colab-df-convert {\n",981              "      background-color: #E8F0FE;\n",982              "      border: none;\n",983              "      border-radius: 50%;\n",984              "      cursor: pointer;\n",985              "      display: none;\n",986              "      fill: #1967D2;\n",987              "      height: 32px;\n",988              "      padding: 0 0 0 0;\n",989              "      width: 32px;\n",990              "    }\n",991              "\n",992              "    .colab-df-convert:hover {\n",993              "      background-color: #E2EBFA;\n",994              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",995              "      fill: #174EA6;\n",996              "    }\n",997              "\n",998              "    .colab-df-buttons div {\n",999              "      margin-bottom: 4px;\n",1000              "    }\n",1001              "\n",1002              "    [theme=dark] .colab-df-convert {\n",1003              "      background-color: #3B4455;\n",1004              "      fill: #D2E3FC;\n",1005              "    }\n",1006              "\n",1007              "    [theme=dark] .colab-df-convert:hover {\n",1008              "      background-color: #434B5C;\n",1009              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",1010              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",1011              "      fill: #FFFFFF;\n",1012              "    }\n",1013              "  </style>\n",1014              "\n",1015              "    <script>\n",1016              "      const buttonEl =\n",1017              "        document.querySelector('#df-c56baa4c-eb57-487e-98f9-1b276b1f44d8 button.colab-df-convert');\n",1018              "      buttonEl.style.display =\n",1019              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",1020              "\n",1021              "      async function convertToInteractive(key) {\n",1022              "        const element = document.querySelector('#df-c56baa4c-eb57-487e-98f9-1b276b1f44d8');\n",1023              "        const dataTable =\n",1024              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",1025              "                                                    [key], {});\n",1026              "        if (!dataTable) return;\n",1027              "\n",1028              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",1029              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",1030              "          + ' to learn more about interactive tables.';\n",1031              "        element.innerHTML = '';\n",1032              "        dataTable['output_type'] = 'display_data';\n",1033              "        await google.colab.output.renderOutput(dataTable, element);\n",1034              "        const docLink = document.createElement('div');\n",1035              "        docLink.innerHTML = docLinkHtml;\n",1036              "        element.appendChild(docLink);\n",1037              "      }\n",1038              "    </script>\n",1039              "  </div>\n",1040              "\n",1041              "\n",1042              "<div id=\"df-dae2e5e8-a668-4c2c-b5bd-6e71eed446dd\">\n",1043              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-dae2e5e8-a668-4c2c-b5bd-6e71eed446dd')\"\n",1044              "            title=\"Suggest charts\"\n",1045              "            style=\"display:none;\">\n",1046              "\n",1047              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",1048              "     width=\"24px\">\n",1049              "    <g>\n",1050              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",1051              "    </g>\n",1052              "</svg>\n",1053              "  </button>\n",1054              "\n",1055              "<style>\n",1056              "  .colab-df-quickchart {\n",1057              "      --bg-color: #E8F0FE;\n",1058              "      --fill-color: #1967D2;\n",1059              "      --hover-bg-color: #E2EBFA;\n",1060              "      --hover-fill-color: #174EA6;\n",1061              "      --disabled-fill-color: #AAA;\n",1062              "      --disabled-bg-color: #DDD;\n",1063              "  }\n",1064              "\n",1065              "  [theme=dark] .colab-df-quickchart {\n",1066              "      --bg-color: #3B4455;\n",1067              "      --fill-color: #D2E3FC;\n",1068              "      --hover-bg-color: #434B5C;\n",1069              "      --hover-fill-color: #FFFFFF;\n",1070              "      --disabled-bg-color: #3B4455;\n",1071              "      --disabled-fill-color: #666;\n",1072              "  }\n",1073              "\n",1074              "  .colab-df-quickchart {\n",1075              "    background-color: var(--bg-color);\n",1076              "    border: none;\n",1077              "    border-radius: 50%;\n",1078              "    cursor: pointer;\n",1079              "    display: none;\n",1080              "    fill: var(--fill-color);\n",1081              "    height: 32px;\n",1082              "    padding: 0;\n",1083              "    width: 32px;\n",1084              "  }\n",1085              "\n",1086              "  .colab-df-quickchart:hover {\n",1087              "    background-color: var(--hover-bg-color);\n",1088              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",1089              "    fill: var(--button-hover-fill-color);\n",1090              "  }\n",1091              "\n",1092              "  .colab-df-quickchart-complete:disabled,\n",1093              "  .colab-df-quickchart-complete:disabled:hover {\n",1094              "    background-color: var(--disabled-bg-color);\n",1095              "    fill: var(--disabled-fill-color);\n",1096              "    box-shadow: none;\n",1097              "  }\n",1098              "\n",1099              "  .colab-df-spinner {\n",1100              "    border: 2px solid var(--fill-color);\n",1101              "    border-color: transparent;\n",1102              "    border-bottom-color: var(--fill-color);\n",1103              "    animation:\n",1104              "      spin 1s steps(1) infinite;\n",1105              "  }\n",1106              "\n",1107              "  @keyframes spin {\n",1108              "    0% {\n",1109              "      border-color: transparent;\n",1110              "      border-bottom-color: var(--fill-color);\n",1111              "      border-left-color: var(--fill-color);\n",1112              "    }\n",1113              "    20% {\n",1114              "      border-color: transparent;\n",1115              "      border-left-color: var(--fill-color);\n",1116              "      border-top-color: var(--fill-color);\n",1117              "    }\n",1118              "    30% {\n",1119              "      border-color: transparent;\n",1120              "      border-left-color: var(--fill-color);\n",1121              "      border-top-color: var(--fill-color);\n",1122              "      border-right-color: var(--fill-color);\n",1123              "    }\n",1124              "    40% {\n",1125              "      border-color: transparent;\n",1126              "      border-right-color: var(--fill-color);\n",1127              "      border-top-color: var(--fill-color);\n",1128              "    }\n",1129              "    60% {\n",1130              "      border-color: transparent;\n",1131              "      border-right-color: var(--fill-color);\n",1132              "    }\n",1133              "    80% {\n",1134              "      border-color: transparent;\n",1135              "      border-right-color: var(--fill-color);\n",1136              "      border-bottom-color: var(--fill-color);\n",1137              "    }\n",1138              "    90% {\n",1139              "      border-color: transparent;\n",1140              "      border-bottom-color: var(--fill-color);\n",1141              "    }\n",1142              "  }\n",1143              "</style>\n",1144              "\n",1145              "  <script>\n",1146              "    async function quickchart(key) {\n",1147              "      const quickchartButtonEl =\n",1148              "        document.querySelector('#' + key + ' button');\n",1149              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",1150              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",1151              "      try {\n",1152              "        const charts = await google.colab.kernel.invokeFunction(\n",1153              "            'suggestCharts', [key], {});\n",1154              "      } catch (error) {\n",1155              "        console.error('Error during call to suggestCharts:', error);\n",1156              "      }\n",1157              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",1158              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",1159              "    }\n",1160              "    (() => {\n",1161              "      let quickchartButtonEl =\n",1162              "        document.querySelector('#df-dae2e5e8-a668-4c2c-b5bd-6e71eed446dd button');\n",1163              "      quickchartButtonEl.style.display =\n",1164              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",1165              "    })();\n",1166              "  </script>\n",1167              "</div>\n",1168              "    </div>\n",1169              "  </div>\n"1170            ],1171            "application/vnd.google.colaboratory.intrinsic+json": {1172              "type": "dataframe",1173              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 27480,\n  \"fields\": [\n    {\n      \"column\": \"text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 27480,\n        \"samples\": [\n          \" Enjoy! Family trumps everything\",\n          \" --of them kinda turns me off of it all.  And then I buy more of them and dig a deeper hole, etc. ;;\",\n          \"Clive it`s my birthday pat me  http://apps.facebook.com/dogbook/profile/view/6386106\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"selected_text\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 22430,\n        \"samples\": [\n          \"that is why I drive a (teeny tiny) honda civic\",\n          \"Sorry...but, I bet they aren`t that bad...\",\n          \"yummy\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sentiment\",\n      \"properties\": {\n        \"dtype\": \"int8\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          1,\n          0,\n          2\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"1174            }1175          },1176          "metadata": {},1177          "execution_count": 111178        }1179      ]1180    },1181    {1182      "cell_type": "code",1183      "source": [1184        "def wp(text):\n",1185        "    text = text.lower()\n",1186        "    text = re.sub('\\[.*?\\]', '', text)\n",1187        "    text = re.sub(\"\\\\W\",\" \",text)\n",1188        "    text = re.sub('https?://\\S+|www\\.\\S+', '', text)\n",1189        "    text = re.sub('<.*?>+', '', text)\n",1190        "    text = re.sub('[%s]' % re.escape(string.punctuation), '', text)\n",1191        "    text = re.sub('\\n', '', text)\n",1192        "    text = re.sub('\\w*\\d\\w*', '', text)\n",1193        "    return text"1194      ],1195      "metadata": {1196        "id": "l5b-DFoTeWcO"1197      },1198      "execution_count": 12,1199      "outputs": []1200    },

Showing the first 1,200 of 2924 lines. Download the file for the rest.