diff --git "a/Emotion_Detection.ipynb" "b/Emotion_Detection.ipynb" new file mode 100644--- /dev/null +++ "b/Emotion_Detection.ipynb" @@ -0,0 +1,1965 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VGs_tA9vWo8r", + "outputId": "0df30d91-a49b-441e-cbef-eb279b943402" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting eli5\n", + " Downloading eli5-0.13.0.tar.gz (216 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m216.2/216.2 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting lime\n", + " Downloading lime-0.2.0.1.tar.gz (275 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m275.7/275.7 kB\u001b[0m \u001b[31m19.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting neattext\n", + " Downloading neattext-0.1.3-py3-none-any.whl (114 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m114.7/114.7 kB\u001b[0m \u001b[31m12.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (1.5.3)\n", + "Requirement already satisfied: spacy in /usr/local/lib/python3.10/dist-packages (3.6.1)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (1.23.5)\n", + "Requirement already satisfied: seaborn in /usr/local/lib/python3.10/dist-packages (0.12.2)\n", + "Requirement already satisfied: altair in /usr/local/lib/python3.10/dist-packages (4.2.2)\n", + "Collecting streamlit\n", + " Downloading streamlit-1.29.0-py2.py3-none-any.whl (8.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.4/8.4 MB\u001b[0m \u001b[31m79.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: attrs>17.1.0 in /usr/local/lib/python3.10/dist-packages (from eli5) (23.1.0)\n", + "Requirement already satisfied: jinja2>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from eli5) (3.1.2)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from eli5) (1.11.4)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from eli5) (1.16.0)\n", + "Requirement already satisfied: scikit-learn>=0.20 in /usr/local/lib/python3.10/dist-packages (from eli5) (1.2.2)\n", + "Requirement already satisfied: graphviz in /usr/local/lib/python3.10/dist-packages (from eli5) (0.20.1)\n", + "Requirement already satisfied: tabulate>=0.7.7 in /usr/local/lib/python3.10/dist-packages (from eli5) (0.9.0)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from lime) (3.7.1)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from lime) (4.66.1)\n", + "Requirement already satisfied: scikit-image>=0.12 in /usr/local/lib/python3.10/dist-packages (from lime) (0.19.3)\n", + "Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2023.3.post1)\n", + "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /usr/local/lib/python3.10/dist-packages (from spacy) (3.0.12)\n", + "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (1.0.5)\n", + "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (1.0.10)\n", + "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.10/dist-packages (from spacy) (2.0.8)\n", + "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.10/dist-packages (from spacy) (3.0.9)\n", + "Requirement already satisfied: thinc<8.2.0,>=8.1.8 in /usr/local/lib/python3.10/dist-packages (from spacy) (8.1.12)\n", + "Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /usr/local/lib/python3.10/dist-packages (from spacy) (1.1.2)\n", + "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /usr/local/lib/python3.10/dist-packages (from spacy) (2.4.8)\n", + "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /usr/local/lib/python3.10/dist-packages (from spacy) (2.0.10)\n", + "Requirement already satisfied: typer<0.10.0,>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (0.9.0)\n", + "Requirement already satisfied: pathy>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (0.10.3)\n", + "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /usr/local/lib/python3.10/dist-packages (from spacy) (6.4.0)\n", + "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (2.31.0)\n", + "Requirement already satisfied: pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4 in /usr/local/lib/python3.10/dist-packages (from spacy) (1.10.13)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from spacy) (67.7.2)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (23.2)\n", + "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /usr/local/lib/python3.10/dist-packages (from spacy) (3.3.0)\n", + "Requirement already satisfied: entrypoints in /usr/local/lib/python3.10/dist-packages (from altair) (0.4)\n", + "Requirement already satisfied: jsonschema>=3.0 in /usr/local/lib/python3.10/dist-packages (from altair) (4.19.2)\n", + "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from altair) (0.12.0)\n", + "Requirement already satisfied: blinker<2,>=1.0.0 in /usr/lib/python3/dist-packages (from streamlit) (1.4)\n", + "Requirement already satisfied: cachetools<6,>=4.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (5.3.2)\n", + "Requirement already satisfied: click<9,>=7.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (8.1.7)\n", + "Requirement already satisfied: importlib-metadata<7,>=1.4 in /usr/local/lib/python3.10/dist-packages (from streamlit) (6.8.0)\n", + "Requirement already satisfied: pillow<11,>=7.1.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (9.4.0)\n", + "Requirement already satisfied: protobuf<5,>=3.20 in /usr/local/lib/python3.10/dist-packages (from streamlit) (3.20.3)\n", + "Requirement already satisfied: pyarrow>=6.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (9.0.0)\n", + "Requirement already satisfied: rich<14,>=10.14.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (13.7.0)\n", + "Requirement already satisfied: tenacity<9,>=8.1.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (8.2.3)\n", + "Requirement already satisfied: toml<2,>=0.10.1 in /usr/local/lib/python3.10/dist-packages (from streamlit) (0.10.2)\n", + "Requirement already satisfied: typing-extensions<5,>=4.3.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (4.5.0)\n", + "Requirement already satisfied: tzlocal<6,>=1.1 in /usr/local/lib/python3.10/dist-packages (from streamlit) (5.2)\n", + "Collecting validators<1,>=0.2 (from streamlit)\n", + " Downloading validators-0.22.0-py3-none-any.whl (26 kB)\n", + "Collecting gitpython!=3.1.19,<4,>=3.0.7 (from streamlit)\n", + " Downloading GitPython-3.1.40-py3-none-any.whl (190 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m190.6/190.6 kB\u001b[0m \u001b[31m20.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pydeck<1,>=0.8.0b4 (from streamlit)\n", + " Downloading pydeck-0.8.1b0-py2.py3-none-any.whl (4.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.8/4.8 MB\u001b[0m \u001b[31m83.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tornado<7,>=6.0.3 in /usr/local/lib/python3.10/dist-packages (from streamlit) (6.3.2)\n", + "Collecting watchdog>=2.1.5 (from streamlit)\n", + " Downloading watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl (82 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m82.1/82.1 kB\u001b[0m \u001b[31m9.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting gitdb<5,>=4.0.1 (from gitpython!=3.1.19,<4,>=3.0.7->streamlit)\n", + " Downloading gitdb-4.0.11-py3-none-any.whl (62 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.7/62.7 kB\u001b[0m \u001b[31m7.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata<7,>=1.4->streamlit) (3.17.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2>=3.0.0->eli5) (2.1.3)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (2023.11.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (0.31.1)\n", + "Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (0.13.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lime) (1.2.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lime) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lime) (4.45.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lime) (1.4.5)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lime) (3.1.1)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.13.0->spacy) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.13.0->spacy) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.13.0->spacy) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3.0.0,>=2.13.0->spacy) (2023.11.17)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich<14,>=10.14.0->streamlit) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich<14,>=10.14.0->streamlit) (2.16.1)\n", + "Requirement already satisfied: networkx>=2.2 in /usr/local/lib/python3.10/dist-packages (from scikit-image>=0.12->lime) (3.2.1)\n", + "Requirement already satisfied: imageio>=2.4.1 in /usr/local/lib/python3.10/dist-packages (from scikit-image>=0.12->lime) (2.31.6)\n", + "Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.10/dist-packages (from scikit-image>=0.12->lime) (2023.9.26)\n", + "Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-image>=0.12->lime) (1.5.0)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.20->eli5) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.20->eli5) (3.2.0)\n", + "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /usr/local/lib/python3.10/dist-packages (from thinc<8.2.0,>=8.1.8->spacy) (0.7.11)\n", + "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /usr/local/lib/python3.10/dist-packages (from thinc<8.2.0,>=8.1.8->spacy) (0.1.4)\n", + "Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython!=3.1.19,<4,>=3.0.7->streamlit)\n", + " Downloading smmap-5.0.1-py3-none-any.whl (24 kB)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich<14,>=10.14.0->streamlit) (0.1.2)\n", + "Building wheels for collected packages: eli5, lime\n", + " Building wheel for eli5 (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for eli5: filename=eli5-0.13.0-py2.py3-none-any.whl size=107717 sha256=c33cdfb1bba73170bfec766d51e0fbdb65d6099d85e9bdea3cb3b6075584634c\n", + " Stored in directory: /root/.cache/pip/wheels/b8/58/ef/2cf4c306898c2338d51540e0922c8e0d6028e07007085c0004\n", + " Building wheel for lime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for lime: filename=lime-0.2.0.1-py3-none-any.whl size=283835 sha256=5d2a0bb991e6b7532187b602b5a42ab49b48a618dec7ad2040f84a9b775cb3ac\n", + " Stored in directory: /root/.cache/pip/wheels/fd/a2/af/9ac0a1a85a27f314a06b39e1f492bee1547d52549a4606ed89\n", + "Successfully built eli5 lime\n", + "Installing collected packages: watchdog, validators, smmap, neattext, pydeck, gitdb, lime, gitpython, eli5, streamlit\n", + "Successfully installed eli5-0.13.0 gitdb-4.0.11 gitpython-3.1.40 lime-0.2.0.1 neattext-0.1.3 pydeck-0.8.1b0 smmap-5.0.1 streamlit-1.29.0 validators-0.22.0 watchdog-3.0.0\n" + ] + } + ], + "source": [ + "!pip install eli5 lime neattext pandas spacy numpy seaborn altair streamlit" + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install scikit-learn" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Nr9-bm8CW4c7", + "outputId": "f2b66fc5-24b0-410b-bc95-3fd274bcbfef" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (1.2.2)\n", + "Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.23.5)\n", + "Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.11.4)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (3.2.0)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns\n", + "\n", + "#Loading Text Cleaning pkgs\n", + "import neattext.functions as nfx" + ], + "metadata": { + "id": "L3t46g31XEzT" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#Load ML Pkgs\n", + "#ESTIMATORS\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.naive_bayes import MultinomialNB\n", + "\n", + "#TRANSFORMERS\n", + "from sklearn.feature_extraction import CountVectorizer\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import accuracy_score,classification_report,confusion_matrix" + ], + "metadata": { + "id": "xpsoqogqYpgg" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "plt.style.use('ggplot')\n", + "\n", + "import nltk" + ], + "metadata": { + "id": "Sv8EFSqcafvG" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "\n", + "# Load Dataset and skip lines with parsing errors\n", + "df = pd.read_csv(\"/content/emotion_dataset_2.csv\")\n" + ], + "metadata": { + "id": "tZg8K1F0ZuI1" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "F3yZk3BedQ8p", + "outputId": "6f8428e2-76d0-4a93-a4d2-3e56d3cc7f07" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Unnamed: 0 Emotion Text \\\n", + "0 0 neutral Why ? \n", + "1 1 joy Sage Act upgrade on my to do list for tommorow. \n", + "2 2 sadness ON THE WAY TO MY HOMEGIRL BABY FUNERAL!!! MAN ... \n", + "3 3 joy Such an eye ! The true hazel eye-and so brill... \n", + "4 4 joy @Iluvmiasantos ugh babe.. hugggzzz for u .! b... \n", + "\n", + " Clean_Text \n", + "0 NaN \n", + "1 Sage Act upgrade list tommorow \n", + "2 WAY HOMEGIRL BABY FUNERAL MAN HATE FUNERALS SH... \n", + "3 eye true hazel eyeand brilliant Regular feat... \n", + "4 ugh babe hugggzzz u babe naamazed nga ako e... " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0EmotionTextClean_Text
00neutralWhy ?NaN
11joySage Act upgrade on my to do list for tommorow.Sage Act upgrade list tommorow
22sadnessON THE WAY TO MY HOMEGIRL BABY FUNERAL!!! MAN ...WAY HOMEGIRL BABY FUNERAL MAN HATE FUNERALS SH...
33joySuch an eye ! The true hazel eye-and so brill...eye true hazel eyeand brilliant Regular feat...
44joy@Iluvmiasantos ugh babe.. hugggzzz for u .! b...ugh babe hugggzzz u babe naamazed nga ako e...
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "source": [ + "#Value Counts\n", + "df['Emotion'].value_counts()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7QLh0QPwdVd1", + "outputId": "694941ea-c608-4f05-fb85-4f41af25a671" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "joy 11045\n", + "sadness 6722\n", + "fear 5410\n", + "anger 4297\n", + "surprise 4062\n", + "neutral 2254\n", + "disgust 856\n", + "shame 146\n", + "Name: Emotion, dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "source": [ + "#plot\n", + "sns.countplot(x='Emotion',data=df)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 471 + }, + "id": "_9prKSIXgSpf", + "outputId": "733ea52c-fda6-4a31-fb71-263a82e6f0eb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 21 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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9dVXX6lJkyblEqDOnj2rt99+W4888ojatGmjnJwcHTx4UNLFN56OHTtqyJAhKiws1KpVqzR16lRNnz5drq6uKigo0Ouvvy4vLy9NmTJF2dnZ+uijj4q9nYULF+rRRx+Vv7+/Fi5cqLffflvTp0+Xvb29Tp8+rSlTpqhfv3564okndO7cOc2bN0/z5s3TyJEjdeTIEX3wwQcaPXq0brnlFmVmZho1Xq3+shATE6M6depo48aNmjp1quzs7LR8+XJ9++23Gj58uAICAnTw4EG988478vT0VNOmTVVQUKDatWvrySeflIeHhw4dOqT//ve/8vLyUvv27Y1j79u3T25ubpowYUKZ1V8a99fnn3+uhx56SA899JDN+vnz52vQoEEKCgrSqlWrNG3aNM2YMcNmuvPPr+f9+/cb2/Lz8/Xaa6/pzjvv1NixY2W1WpWQkCCLxSJJOnjwoGbMmKGYmBg1adJEv/76q+bMmSNJevjhh83eJYacnBzde++9atCggXJycrRo0SK9/vrrNucIXe15/PPPP+u9997TI488ottuu0179+7VokWLbG7jevuwePFiDRgwQIMHDy710fdrPQf2798vb29vPf/88zp9+rTeeustBQcH66677pJ0cWSsb9++CgwMVEZGhmJjYzVr1iw9++yzNrezePFiDRkyRM7OznrzzTf15ptvytHRUWPGjFFOTo5ef/11rV27Vr169ZKka76ObsT8+fN14MABPf3006pZs6YWLFigX375pdjpsh9++EGrV6/W3//+d9WrV0/p6ek25z3OmDFD58+f16RJk2Rvb6/Y2FhlZGSUqJ5FixYpKSlJ48ePl4eHh06fPq3c3FxJ0ssvv6zx48dr4sSJqlevXqmMQnJieQVr0KCBHn74YQUEBKhjx44KCQnR3r179fPPPyshIUFPPvmkGjVqpICAAD322GNyc3PT//73v+s6tpubmxwcHOTs7CwvLy95eXnJzu6Ph7xPnz6KjIyUv7+/3N3dFRwcrC5duqh+/foKCAhQv3795O/vrx9//LGsum9aTk6OvvjiCz366KNq0aKFgoKC9Pjjj8vJyUmbNm2SJEVHRys5OVkJCQmSLr5BbdmyRZ06dSqXGs+ePav8/Hy1bdtWfn5+ql+/vrp27SoXFxc1a9ZM//d//6e6desqKChIf/3rX5Wbm6sDBw5Ikvbu3avk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5OTkdMOXzSFEVVIWi0XPPvusPv30U82aNUvnzp2Tl5eXmjRpYnzctXnz5nrwwQc1f/585eXlqVOnTurYsaPNHPt9992nmTNn6sknn1Rubq5mzJhxxdt87LHH9O6772rChAny8PBQz549deHChTLvq1kDBgxQQUGB3nnnHeXk5CgkJETPPffcZUGxc+fOWrZsWbmdUF7E1dVVBw8e1Jo1a3ThwgX5+PjoscceU4sWLeTl5aX//ve/euaZZ+Tj46P+/fvr448/Nva1s7PTP//5T82ePVvjx4+Xr6+vYmJijGmB69WgQQNNmjRJCxcu1L///W8VFhbK39/fOC+sRo0a2rZtmxYvXqy8vDwFBARo7NixqlevnpKSkq5Yf3np27evPD09tXz5cv3666+qUaOGMZoiSV26dNGxY8f01ltvyWKxqEOHDuratat27dpVbjUWudrjbbVadfz4cc2YMUP29vbq0aOHbr311us+9oABA7R8+XIdO3ZM/v7+evrpp0t0/R0nJyedPHlSmzdv1vnz5+Xt7a2uXbsaJ/U2b95czzzzjD777DOtWLFC9vb2qlu3bqmM3NrZ2Wns2LH64IMP9NRTTykwMFAxMTEl+mh5eHi4hg8friVLlmjhwoWKiopSjx49tG7dOqNNWfbhel3tObB169ar7uvp6amRI0fq008/1dq1a9WwYUM9+uijpXKV82u9jm7Eo48+qpycHE2bNk0uLi667777lJ2dXWxbNzc3rVixwgh09evX1zPPPGN8ynT06NGaPXu2nn/+eeMSB0lJSTbTsU888YRmz56tcePGKTAwUAMHDtTkyZON7Q4ODlqwYIFSU1Pl5OSk8PBw/f3vf5d0cdQ9JiZGS5Ys0aJFi9SkSZMbvsSBpbCyDjUAxXjrrbdkZ2enMWPGXPc+Bw8e1Isvvqh3333XOGEVqArK4grLN4vZs2crOTlZL774YkWXgjLy22+/6YknntDEiRMVERFR0eUUi5EoVAn5+fk6deqUDh8+bPz1fC15eXk6d+6cFi9erNtvv50ABVRhK1euVGRkpFxcXLRr1y5t3rxZw4YNq+iyUIr27dunnJwc1a9fX2fPntX8+fPl6+urJk2aVHRpV0SIQpWQmJioCRMm6NZbb1WXLl2ua5/vvvtO7777roKDg40r1QKomhISErRy5UpduHBBderUUUxMjO68886KLgulyGq16tNPP9Wvv/4qV1dXhYWFacyYMZX6q3mYzgMAADCBSxwAAACYQIgCAAAwgRAFAABgAiEKAADABEIUAACACYQoAChDKSkp6tOnj77++uuKLgVAKau8F18AgKv4+uuvNWvWrCtunzx5crl+V+KWLVuUkZGhHj16lNttAqhYhCgAVVqfPn2K/cJhf3//cq1jy5YtSkxMvCxE+fr6av78+ZX6goEAzOFVDaBKa9GihRo1alTRZVyRxWKRk5NTRZcBoAwQogDctIq+wHfgwIFycnLSqlWrlJ6ervDwcI0YMUK1a9fWZ599pg0bNuj8+fOKiorSyJEj5e7ubnOc9evXa/369Tp9+rQ8PDzUunVr9e/fXzVq1JAkTZo0SQcOHJB0cWRMujgCNXPmTKOGkSNHKjo62jjmvn37FBcXp19++UX29vZq2rSpBgwYoKCgIKNNXFyclixZounTp+uzzz7T9u3bVVhYqLZt22ro0KFydnYu43sQwNUQogBUadnZ2Tp37pzNOovFIg8PD2N5y5Ytslqt6tatmzIzM7Vy5Uq9+eabatasmQ4cOKCePXvq9OnTWrdunWJjYzVy5Ehj36IgExERobvvvlvJycn64osvdOTIEb300ktycHDQAw88oOzsbP32228aNGiQJMnFxeWKNe/Zs0dTp06Vn5+fHn74YeXm5mrt2rWaOHGipk2bdtn05JtvvilfX18NGDBAR48e1aZNm+Tp6amBAweWxl0IwCRCFIAq7aWXXrpsnaOjoz755BNj+cyZM5o+fbrc3NwkSQUFBVq+fLlyc3P1yiuvyN7eXpJ07tw5bdmyRcOHD5ejo6POnTun5cuXKyoqSs8++6zs7C5+oDkwMFDz5s3Tt99+q06dOikyMlK1atVSVlaW/u///u+aNc+fP1/u7u6aMmWKMerVunVrPf3004qLi7vsC7ODg4P1xBNPGMuZmZn66quvCFFABSNEAajShg4dqoCAAJt1RWGnSLt27YwAJUmNGzeWJN1xxx1GgCpa/9133+nMmTOqU6eO9uzZI6vVqu7du9sc86677tKnn36qnTt3qlOnTiWq9+zZszp27Jjuv/9+m2nDBg0aKDIyUrt27bpsny5dutgsh4eHa9u2bcrOzrbpF4DyRYgCUKWFhoZe88RyHx8fm+Wi4HGl9VlZWZKktLQ0SRdHni7l4OCgOnXqGNtLIjU1tdhjSlLdunX1008/KScnx2Y68M91FoWvrKwsQhRQgbjYJoCb3p9Hpq61vrCwsCzLKbGqUidQ3RCiAOAKikaAkpOTbdZbrValpKRcNkJ0PXx9fYs9ZtE6Dw+Pq56UDqDyIEQBwBVERkbKwcFBa9eutRn12bRpk7Kzs9WyZUtjnYuLi7Kzs695TG9vbwUHB2vz5s3GtKEknThxQj/99JNatGhRup0AUGY4JwpAlbZr1y6dPHnysvW33HKLLBbLDR3b09NTvXr10pIlS/Tyyy+rVatWxiUOGjVqpDvuuMNoGxISoq1bt+qjjz5So0aN5OLiottuu63Y4w4cOFBTp07VhAkT1KlTJ+Xm5mrdunVyc3MzrjMFoPIjRAGo0uLi4opdP3LkSDVt2vSGj9+nTx95enpq/fr1+uijj+Tu7q677rpL/fv3t/kql7vvvlvHjh3T119/rdWrV8vX1/eKISoyMlLjx49XXFyc4uLijIttPvLII8V+hQ2AyslSyJmJAAAAJcY5UQAAACYQogAAAEwgRAEAAJhAiAIAADCBEAUAAGACIQoAAMAEQhQAAIAJhCgAAAATCFEAAAAmEKIAAABMIEQBAACYQIgCAAAw4f8BwU+l271OiegAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install nfx # Install the 'nfx' library\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YvgRvR2MhBno", + "outputId": "48047681-2b5f-401f-985b-0ef8eb5d9f91" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: nfx in /usr/local/lib/python3.10/dist-packages (0.0.3)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#Data CLEANING\n", + "import nfx\n", + "dir(nfx)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YEvA9XI5gajF", + "outputId": "b413abf2-4b14-4641-f550-f7d0adaf3c35" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['__builtins__',\n", + " '__cached__',\n", + " '__doc__',\n", + " '__file__',\n", + " '__loader__',\n", + " '__name__',\n", + " '__package__',\n", + " '__path__',\n", + " '__spec__']" + ] + }, + "metadata": {}, + "execution_count": 30 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# User handles\n", + "df['Clean_Text'] = df['Text'].apply(nfx.remove_userhandles)" + ], + "metadata": { + "id": "USqgMBF5jZRe" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Stopwords\n", + "df['Clean_Text'] = df['Clean_Text'].apply(nfx.remove_stopwords)" + ], + "metadata": { + "id": "hnPphWLRjZN_" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 423 + }, + "id": "-7gG-JPMiXmb", + "outputId": "fa718745-793e-41f9-f893-dc9ca5875863" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Unnamed: 0 Emotion \\\n", + "0 0 neutral \n", + "1 1 joy \n", + "2 2 sadness \n", + "3 3 joy \n", + "4 4 joy \n", + "... ... ... \n", + "34787 34787 surprise \n", + "34788 34788 joy \n", + "34789 34789 anger \n", + "34790 34790 fear \n", + "34791 34791 sadness \n", + "\n", + " Text \\\n", + "0 Why ? \n", + "1 Sage Act upgrade on my to do list for tommorow. \n", + "2 ON THE WAY TO MY HOMEGIRL BABY FUNERAL!!! MAN ... \n", + "3 Such an eye ! The true hazel eye-and so brill... \n", + "4 @Iluvmiasantos ugh babe.. hugggzzz for u .! b... \n", + "... ... \n", + "34787 @MichelGW have you gift! Hope you like it! It'... \n", + "34788 The world didnt give it to me..so the world MO... \n", + "34789 A man robbed me today . \n", + "34790 Youu call it JEALOUSY, I call it of #Losing YO... \n", + "34791 I think about you baby, and I dream about you ... \n", + "\n", + " Clean_Text \n", + "0 NaN \n", + "1 Sage Act upgrade list tommorow \n", + "2 WAY HOMEGIRL BABY FUNERAL MAN HATE FUNERALS SH... \n", + "3 eye true hazel eyeand brilliant Regular feat... \n", + "4 ugh babe hugggzzz u babe naamazed nga ako e... \n", + "... ... \n", + "34787 gift Hope like it hand wear Itll warm Lol \n", + "34788 world didnt meso world DEFINITELY cnt away \n", + "34789 man robbed today \n", + "34790 Youu JEALOUSY #Losing YOU \n", + "34791 think baby dream time \n", + "\n", + "[34792 rows x 4 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0EmotionTextClean_Text
00neutralWhy ?NaN
11joySage Act upgrade on my to do list for tommorow.Sage Act upgrade list tommorow
22sadnessON THE WAY TO MY HOMEGIRL BABY FUNERAL!!! MAN ...WAY HOMEGIRL BABY FUNERAL MAN HATE FUNERALS SH...
33joySuch an eye ! The true hazel eye-and so brill...eye true hazel eyeand brilliant Regular feat...
44joy@Iluvmiasantos ugh babe.. hugggzzz for u .! b...ugh babe hugggzzz u babe naamazed nga ako e...
...............
3478734787surprise@MichelGW have you gift! Hope you like it! It'...gift Hope like it hand wear Itll warm Lol
3478834788joyThe world didnt give it to me..so the world MO...world didnt meso world DEFINITELY cnt away
3478934789angerA man robbed me today .man robbed today
3479034790fearYouu call it JEALOUSY, I call it of #Losing YO...Youu JEALOUSY #Losing YOU
3479134791sadnessI think about you baby, and I dream about you ...think baby dream time
\n", + "

34792 rows × 4 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 38 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# FEATURES & LABELS\n", + "Xfeatures = df['Clean_Text']\n", + "ylabels = df['Emotion']\n" + ], + "metadata": { + "id": "oaWTsBBTiXi-" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Splitting the data\n", + "x_train, x_test, y_train, y_test = train_test_split(Xfeatures, ylabels, test_size=0.3, random_state=42)\n" + ], + "metadata": { + "id": "4IZVOawZiXgq" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# BUILD Pipeline\n", + "from sklearn.pipeline import Pipeline" + ], + "metadata": { + "id": "UnSZsTCBiXeT" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.feature_extraction.text import CountVectorizer\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.linear_model import LogisticRegression\n", + "\n", + "# Creating a Logistic Regression Pipeline\n", + "pipe_lr = Pipeline(steps=[('cv', CountVectorizer()), ('lr', LogisticRegression())])\n" + ], + "metadata": { + "id": "H3Ok0sKFiXbp" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#Check For missing values\n", + "import pandas as pd\n", + "\n", + "# Check for missing values in x_train\n", + "missing_values = x_train.isnull().sum()\n", + "print(missing_values)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KyjvxVvij6og", + "outputId": "f6d45f65-cdc8-43b7-a728-3123e82ed1fb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "316\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Handlinf Missing Values\n", + "# Ensure Data Compatability -> Ensure that the data you're passing to the pipeline is in the appropriate format (byte or unicode string) that the CountVectorizer expects. If needed, preprocess your data to meet this requirement." + ], + "metadata": { + "id": "ERhtfUVjkhCu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Assuming x_train is a Pandas Series of text data and y_train is the corresponding labels\n", + "# Example:\n", + "-> x_train = pd.Series(['text data 1', 'text data 2', 'text data 3', ...])\n", + "-> y_train = ...\n", + "\n", + "1. Reshape x_train to make it a 2D array with a single column\n", + "2. Use SimpleImputer to handle missing values\n", + "3. Fit and transform the preprocessed data\n", + "\n", + "-> Assuming x_test is also a Pandas Series, perform similar preprocessing on x_test\n", + "1. Example:\n", + "1.x_test = pd.Series(['text data 1', 'text data 2', 'text data 3', ...])\n", + "\n", + "\n", + "# Create the pipeline with CountVectorizer and LogisticRegression\n", + "1. Fit the pipeline with preprocessed data\n", + "\n", + "2. Flattening the preprocessed data back to 1D array for fitting\n", + "3. Evaluate the model or perform predictions using x_test_preprocessed\n", + " Final __** pipe_lr.predict(x_test_preprocessed.flatten()) **__" + ], + "metadata": { + "id": "KzpQDUOKn4Nf" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "EfSmIIhcnkhg" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.impute import SimpleImputer\n", + "from sklearn.feature_extraction.text import CountVectorizer\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.model_selection import train_test_split\n", + "import pandas as pd\n", + "\n", + "\n", + "# Reshape x_train to make it a 2D array with a single column\n", + "x_train_reshaped = x_train.values.reshape(-1, 1)\n", + "\n", + "# Use SimpleImputer to handle missing values\n", + "imputer = SimpleImputer(strategy='constant', fill_value='')\n", + "\n", + "# Fit and transform the preprocessed data\n", + "x_train_preprocessed = imputer.fit_transform(x_train_reshaped)\n", + "\n", + "# Assuming x_test is also a Pandas Series, perform similar preprocessing on x_test\n", + "# Example:\n", + "# x_test = pd.Series(['text data 1', 'text data 2', 'text data 3', ...])\n", + "x_test_reshaped = x_test.values.reshape(-1, 1)\n", + "x_test_preprocessed = imputer.transform(x_test_reshaped)\n", + "\n", + "# Create the pipeline with CountVectorizer and LogisticRegression\n", + "pipe_lr = Pipeline(steps=[('cv', CountVectorizer()), ('lr', LogisticRegression())])\n", + "\n", + "# Fit the pipeline with preprocessed data\n", + "pipe_lr.fit(x_train_preprocessed.flatten(), y_train)\n", + "\n", + "\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 317 + }, + "id": "liKDidUqlPhO", + "outputId": "c6e7b986-10c7-4c2b-c814-c06d5f79fefb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_logistic.py:458: ConvergenceWarning: lbfgs failed to converge (status=1):\n", + "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", + "\n", + "Increase the number of iterations (max_iter) or scale the data as shown in:\n", + " https://scikit-learn.org/stable/modules/preprocessing.html\n", + "Please also refer to the documentation for alternative solver options:\n", + " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", + " n_iter_i = _check_optimize_result(\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Pipeline(steps=[('cv', CountVectorizer()), ('lr', LogisticRegression())])" + ], + "text/html": [ + "
Pipeline(steps=[('cv', CountVectorizer()), ('lr', LogisticRegression())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ] + }, + "metadata": {}, + "execution_count": 51 + } + ] + }, + { + "cell_type": "code", + "source": [ + "pipe_lr" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 171 + }, + "id": "TFRF0BiSlZ9W", + "outputId": "818ca168-a075-4e6d-e1ba-9b379afed846" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Pipeline(steps=[('cv', CountVectorizer()), ('lr', LogisticRegression())])" + ], + "text/html": [ + "
Pipeline(steps=[('cv', CountVectorizer()), ('lr', LogisticRegression())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ] + }, + "metadata": {}, + "execution_count": 52 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Check Accuracy on the test set\n", + "accuracy = pipe_lr.score(x_test_preprocessed.flatten(), y_test)\n", + "print(\"Accuracy on test set:\", accuracy)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "e_ARp89ildUp", + "outputId": "2adb1a44-5c0a-41f4-e999-8a3c02db2943" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Accuracy on test set: 0.622341444721211\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Make A Prediction\n", + "ex1 = \"This book was so interesting it made me happy\"" + ], + "metadata": { + "id": "85W8OW2UmCF8" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "pipe_lr.predict([ex1])\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fc7JI4H9mDTv", + "outputId": "20d22a7c-4dc5-4519-da4e-773a3d3b8d53" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array(['joy'], dtype=object)" + ] + }, + "metadata": {}, + "execution_count": 58 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Prediction Prob\n", + "pipe_lr.predict_proba([ex1])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VSOSjNrOmHAK", + "outputId": "83106b53-8ecb-476a-bc83-6009061032a8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[1.55722408e-03, 6.83959715e-03, 1.18109693e-02, 9.50298403e-01,\n", + " 9.97433637e-06, 2.21851774e-02, 5.01819368e-05, 7.24847268e-03]])" + ] + }, + "metadata": {}, + "execution_count": 59 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# To Know the classes\n", + "pipe_lr.classes_" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Pr8yTw_pmJND", + "outputId": "69601abb-a8dd-4130-8ccd-8fc9d07024b8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array(['anger', 'disgust', 'fear', 'joy', 'neutral', 'sadness', 'shame',\n", + " 'surprise'], dtype=object)" + ] + }, + "metadata": {}, + "execution_count": 60 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Save Model & Pipeline\n", + "import joblib\n", + "pipeline_file = open(\"emotion_classifier_pipe_lr_03_june_2021.pkl\",\"wb\")\n", + "joblib.dump(pipe_lr,pipeline_file)\n", + "pipeline_file.close()" + ], + "metadata": { + "id": "SgSlzyKgmKHR" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "! pip install streamlit -q" + ], + "metadata": { + "id": "uEnBaTdfX4Sl" + }, + "execution_count": 8, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!wget -q -O - ipv4.icanhazip.com" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-vvI0mt-YI3t", + "outputId": "a46d8972-4716-4a69-a590-0288a3e4cefb" + }, + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "34.86.172.203\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "pip install streamlit pandas numpy joblib altair plotly\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Xga3z9SqZeUm", + "outputId": "783a7589-9a87-48fc-9e28-f7f4a4ec2fdf" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: streamlit in /usr/local/lib/python3.10/dist-packages (1.29.0)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (1.5.3)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (1.23.5)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (1.3.2)\n", + "Requirement already satisfied: altair in /usr/local/lib/python3.10/dist-packages (4.2.2)\n", + "Requirement already satisfied: plotly in /usr/local/lib/python3.10/dist-packages (5.15.0)\n", + "Requirement already satisfied: blinker<2,>=1.0.0 in /usr/lib/python3/dist-packages (from streamlit) (1.4)\n", + "Requirement already satisfied: cachetools<6,>=4.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (5.3.2)\n", + "Requirement already satisfied: click<9,>=7.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (8.1.7)\n", + "Requirement already satisfied: importlib-metadata<7,>=1.4 in /usr/local/lib/python3.10/dist-packages (from streamlit) (6.8.0)\n", + "Requirement already satisfied: packaging<24,>=16.8 in /usr/local/lib/python3.10/dist-packages (from streamlit) (23.2)\n", + "Requirement already satisfied: pillow<11,>=7.1.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (9.4.0)\n", + "Requirement already satisfied: protobuf<5,>=3.20 in /usr/local/lib/python3.10/dist-packages (from streamlit) (3.20.3)\n", + "Requirement already satisfied: pyarrow>=6.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (9.0.0)\n", + "Requirement already satisfied: python-dateutil<3,>=2.7.3 in /usr/local/lib/python3.10/dist-packages (from streamlit) (2.8.2)\n", + "Requirement already satisfied: requests<3,>=2.27 in /usr/local/lib/python3.10/dist-packages (from streamlit) (2.31.0)\n", + "Requirement already satisfied: rich<14,>=10.14.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (13.7.0)\n", + "Requirement already satisfied: tenacity<9,>=8.1.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (8.2.3)\n", + "Requirement already satisfied: toml<2,>=0.10.1 in /usr/local/lib/python3.10/dist-packages (from streamlit) (0.10.2)\n", + "Requirement already satisfied: typing-extensions<5,>=4.3.0 in /usr/local/lib/python3.10/dist-packages (from streamlit) (4.5.0)\n", + "Requirement already satisfied: tzlocal<6,>=1.1 in /usr/local/lib/python3.10/dist-packages (from streamlit) (5.2)\n", + "Requirement already satisfied: validators<1,>=0.2 in /usr/local/lib/python3.10/dist-packages (from streamlit) (0.22.0)\n", + "Requirement already satisfied: gitpython!=3.1.19,<4,>=3.0.7 in /usr/local/lib/python3.10/dist-packages (from streamlit) (3.1.40)\n", + "Requirement already satisfied: pydeck<1,>=0.8.0b4 in /usr/local/lib/python3.10/dist-packages (from streamlit) (0.8.1b0)\n", + "Requirement already satisfied: tornado<7,>=6.0.3 in /usr/local/lib/python3.10/dist-packages (from streamlit) (6.3.2)\n", + "Requirement already satisfied: watchdog>=2.1.5 in /usr/local/lib/python3.10/dist-packages (from streamlit) (3.0.0)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2023.3.post1)\n", + "Requirement already satisfied: entrypoints in /usr/local/lib/python3.10/dist-packages (from altair) (0.4)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from altair) (3.1.2)\n", + "Requirement already satisfied: jsonschema>=3.0 in /usr/local/lib/python3.10/dist-packages (from altair) (4.19.2)\n", + "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from altair) (0.12.0)\n", + "Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.10/dist-packages (from gitpython!=3.1.19,<4,>=3.0.7->streamlit) (4.0.11)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata<7,>=1.4->streamlit) (3.17.0)\n", + "Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (23.1.0)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (2023.11.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (0.31.1)\n", + "Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair) (0.13.2)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->altair) (2.1.3)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil<3,>=2.7.3->streamlit) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.27->streamlit) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.27->streamlit) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.27->streamlit) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.27->streamlit) (2023.11.17)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich<14,>=10.14.0->streamlit) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich<14,>=10.14.0->streamlit) (2.16.1)\n", + "Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.10/dist-packages (from gitdb<5,>=4.0.1->gitpython!=3.1.19,<4,>=3.0.7->streamlit) (5.0.1)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich<14,>=10.14.0->streamlit) (0.1.2)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "! streamlit run app.py & npx localtunnel --port 8501" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3o1VKylNZrn-", + "outputId": "4187329f-5810-4594-839c-d2b1fe99c25c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[..................] \\ fetchMetadata: sill resolveWithNewModule localtunnel@2.0\u001b[0m\u001b[K\n", + "Collecting usage statistics. To deactivate, set browser.gatherUsageStats to False.\n", + "\u001b[0m\n", + "\u001b[0m\n", + "\u001b[34m\u001b[1m You can now view your Streamlit app in your browser.\u001b[0m\n", + "\u001b[0m\n", + "\u001b[34m Network URL: \u001b[0m\u001b[1mhttp://172.28.0.12:8501\u001b[0m\n", + "\u001b[34m External URL: \u001b[0m\u001b[1mhttp://34.86.172.203:8501\u001b[0m\n", + "\u001b[0m\n", + "\u001b[K\u001b[?25hnpx: installed 22 in 2.594s\n", + "your url is: https://cruel-jobs-drop.loca.lt\n", + "2023-12-02 12:13:28.586 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 43, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:15:00.878 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 43, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:15:32.342 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 43, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:15:32.869 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 43, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:21:23.278 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 111, in \n", + " main()\n", + " File \"/content/app.py\", line 50, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:21:51.082 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 109, in \n", + " main()\n", + " File \"/content/app.py\", line 48, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:22:02.981 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 108, in \n", + " main()\n", + " File \"/content/app.py\", line 47, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:22:43.925 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 43, in main\n", + " prediction = predict_emotions(raw_text)\n", + " File \"/content/app.py\", line 14, in predict_emotions\n", + " results = pipe_lr.predict([docx])\n", + "NameError: name 'pipe_lr' is not defined\n", + "2023-12-02 12:22:47.880 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 76, in main\n", + " with st.beta_expander(\"Page Metrics\"):\n", + "AttributeError: module 'streamlit' has no attribute 'beta_expander'\n", + "2023-12-02 12:23:55.122 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 11, in \n", + " pipe_lr = joblib.load('model.pkl')\n", + " File \"/usr/local/lib/python3.10/dist-packages/joblib/numpy_pickle.py\", line 650, in load\n", + " with open(filename, 'rb') as f:\n", + "FileNotFoundError: [Errno 2] No such file or directory: 'model.pkl'\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "2023-12-02 12:24:41.439 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 67, in main\n", + " fig = alt.Chart(proba_df_clean).mark_bar().encode(x='emotions',y='probability',color='emotions')\n", + "NameError: name 'alt' is not defined\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "2023-12-02 12:25:06.387 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 76, in main\n", + " with st.beta_expander(\"Page Metrics\"):\n", + "AttributeError: module 'streamlit' has no attribute 'beta_expander'\n", + "2023-12-02 12:25:22.638 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 67, in main\n", + " fig = alt.Chart(proba_df_clean).mark_bar().encode(x='emotions',y='probability',color='emotions')\n", + "NameError: name 'alt' is not defined\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "2023-12-02 12:25:58.550 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 67, in main\n", + " fig = alt.Chart(proba_df_clean).mark_bar().encode(x='emotions',y='probability',color='emotions')\n", + "NameError: name 'alt' is not defined\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "2023-12-02 12:26:45.560 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 76, in main\n", + " with st.beta_expander(\"Page Metrics\"):\n", + "AttributeError: module 'streamlit' has no attribute 'beta_expander'\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "2023-12-02 12:27:27.982 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 76, in main\n", + " with st.beta_expander(\"Page Metrics\"):\n", + "AttributeError: module 'streamlit' has no attribute 'beta_expander'\n", + "2023-12-02 12:28:18.211 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 104, in \n", + " main()\n", + " File \"/content/app.py\", line 84, in main\n", + " p = px.pie(pg_count,values='Counts',names='Pagename')\n", + "NameError: name 'px' is not defined\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning: Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + " warnings.warn(\n", + "2023-12-02 12:29:12.525 Uncaught app exception\n", + "Traceback (most recent call last):\n", + " File \"/usr/local/lib/python3.10/dist-packages/streamlit/runtime/scriptrunner/script_runner.py\", line 534, in _run_script\n", + " exec(code, module.__dict__)\n", + " File \"/content/app.py\", line 105, in \n", + " main()\n", + " File \"/content/app.py\", line 88, in main\n", + " with st.beta_expander('Emotion Classifier Metrics'):\n", + "AttributeError: module 'streamlit' has no attribute 'beta_expander'\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "2023-12-02 12:29:42.912 Serialization of dataframe to Arrow table was unsuccessful due to: (\"Expected bytes, got a 'float' object\", 'Conversion failed for column Probability with type object'). Applying automatic fixes for column types to make the dataframe Arrow-compatible.\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "2023-12-02 12:29:50.269 Serialization of dataframe to Arrow table was unsuccessful due to: (\"Expected bytes, got a 'float' object\", 'Conversion failed for column Probability with type object'). Applying automatic fixes for column types to make the dataframe Arrow-compatible.\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "2023-12-02 12:31:48.227 Serialization of dataframe to Arrow table was unsuccessful due to: (\"Expected bytes, got a 'float' object\", 'Conversion failed for column Probability with type object'). Applying automatic fixes for column types to make the dataframe Arrow-compatible.\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator CountVectorizer from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator LogisticRegression from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/base.py:318: UserWarning:\n", + "\n", + "Trying to unpickle estimator Pipeline from version 0.24.2 when using version 1.2.2. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to:\n", + "https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations\n", + "\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nktwF-T-ZrY4", + "outputId": "a1b8b24f-4bd7-4e21-aa72-7dd30db46864" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[31mERROR: Could not find a version that satisfies the requirement track_utils (from versions: none)\u001b[0m\u001b[31m\n", + "\u001b[0m\u001b[31mERROR: No matching distribution found for track_utils\u001b[0m\u001b[31m\n", + "\u001b[0m" + ] + } + ] + } + ] +} \ No newline at end of file