{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7ea70936",
"metadata": {
"id": "7ea70936"
},
"outputs": [],
"source": [
"!pip install -q keras_metrics"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8aa70f01",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "8aa70f01",
"outputId": "81268a65-0a0b-4943-f271-c2ab8af39520"
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[nltk_data] Downloading package stopwords to /root/nltk_data...\n",
"[nltk_data] Unzipping corpora/stopwords.zip.\n"
]
}
],
"source": [
"import numpy as np # linear algebra\n",
"\n",
"import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",
"import matplotlib.pyplot as plt\n",
"# Input data files are available in the \"../input/\" directory.\n",
"# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n",
"import nltk\n",
"nltk.download('stopwords')\n",
"import os\n",
"import glob\n",
"import tensorflow as tf\n",
"from keras import layers\n",
"from keras.layers import Dropout , Input, Add, Dense, Activation, ZeroPadding2D, BatchNormalization, Flatten, Conv2D, AveragePooling2D, MaxPooling2D, GlobalMaxPooling2D\n",
"from keras.models import Model, load_model\n",
"from keras.initializers import glorot_uniform\n",
"from sklearn.model_selection import train_test_split\n",
"import keras.backend as K\n",
"from sklearn.utils import shuffle\n",
"# importing all necessary libraries to run the code\n",
"import re,string\n",
"import numpy as np\n",
"import pandas as pd\n",
"import keras_metrics\n",
"import tensorflow.keras\n",
"import matplotlib.pyplot as plt\n",
"from nltk.corpus import stopwords\n",
"from keras.models import Sequential\n",
"from sklearn.model_selection import train_test_split\n",
"from keras.layers import Dense, Flatten, LSTM, Conv1D, MaxPooling1D, Dropout, Activation,Embedding\n",
"# using the variable sw to hold all stopwords that are in English\n",
"sw = stopwords.words('english')\n",
"from keras.layers import Input, Dense, SimpleRNN\n",
"from keras import optimizers\n",
"from keras import regularizers"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "SxYtydEZbwYu",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SxYtydEZbwYu",
"outputId": "c2facee9-8e86-4509-9514-01180131ed42"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mounted at /content/drive\n"
]
}
],
"source": [
"from google.colab import drive\n",
"drive.mount(\"/content/drive\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "5393eea4",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 243
},
"id": "5393eea4",
"outputId": "38160f2b-5cda-4a5d-be91-6a7b065dc296"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Unnamed: 0.1 | \n",
" Date | \n",
" User | \n",
" Location | \n",
" Tweets | \n",
" c_Tweets | \n",
" cleanText | \n",
" Subjectivity | \n",
" Polarity | \n",
" Sentiment | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 0.0 | \n",
" 2022-10-30 23:48:29+00:00 | \n",
" wwsounder | \n",
" NaN | \n",
" if a Batman movie was made in 2022 he would ge... | \n",
" if a Batman movie was made in 2022 he would ge... | \n",
" batman movi made would get notif appl smartpho... | \n",
" 0.0 | \n",
" 0.0 | \n",
" Neutral | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 1.0 | \n",
" 2022-10-30 23:00:47+00:00 | \n",
" GhostlyOwl | \n",
" British Columbia | \n",
" I will go anywhere provided it be forward. ~ D... | \n",
" I will go anywhere provided it be forward. ~ D... | \n",
" anywher provid forward david livingston anasta... | \n",
" 0.0 | \n",
" 0.0 | \n",
" Neutral | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"\n",
" \n",
"
\n",
"
\n",
" "
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 Date User \\\n",
"0 0 0.0 2022-10-30 23:48:29+00:00 wwsounder \n",
"1 1 1.0 2022-10-30 23:00:47+00:00 GhostlyOwl \n",
"\n",
" Location Tweets \\\n",
"0 NaN if a Batman movie was made in 2022 he would ge... \n",
"1 British Columbia I will go anywhere provided it be forward. ~ D... \n",
"\n",
" c_Tweets \\\n",
"0 if a Batman movie was made in 2022 he would ge... \n",
"1 I will go anywhere provided it be forward. ~ D... \n",
"\n",
" cleanText Subjectivity Polarity \\\n",
"0 batman movi made would get notif appl smartpho... 0.0 0.0 \n",
"1 anywher provid forward david livingston anasta... 0.0 0.0 \n",
"\n",
" Sentiment \n",
"0 Neutral \n",
"1 Neutral "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data=pd.read_csv(\"/content/drive/My Drive/smartphone_preprocessed_sentiments.csv\");\n",
"data.head(2)"
]
},
{
"cell_type": "markdown",
"id": "7e469814",
"metadata": {
"id": "7e469814"
},
"source": [
"# single models"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "a45ca84c",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "a45ca84c",
"outputId": "50c79e0c-6fa7-4989-d871-2d367593b49a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 16153, 'Positive': 11532, 'Negative': 4735})\n",
"Model: \"sequential\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding (Embedding) (None, 35, 100) 500000 \n",
" \n",
" gru (GRU) (None, 128) 88320 \n",
" \n",
" dropout (Dropout) (None, 128) 0 \n",
" \n",
" dense (Dense) (None, 32) 4128 \n",
" \n",
" dense_1 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 592,547\n",
"Trainable params: 592,547\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 11s - loss: 0.3865 - accuracy: 0.8429 - val_loss: 0.0923 - val_accuracy: 0.9746 - 11s/epoch - 27ms/step\n",
"Epoch 2/50\n",
"406/406 - 2s - loss: 0.0678 - accuracy: 0.9828 - val_loss: 0.0691 - val_accuracy: 0.9806 - 2s/epoch - 6ms/step\n",
"Epoch 3/50\n",
"406/406 - 2s - loss: 0.0486 - accuracy: 0.9872 - val_loss: 0.0706 - val_accuracy: 0.9820 - 2s/epoch - 5ms/step\n",
"Epoch 4/50\n",
"406/406 - 2s - loss: 0.0446 - accuracy: 0.9882 - val_loss: 0.0766 - val_accuracy: 0.9804 - 2s/epoch - 5ms/step\n",
"Epoch 5/50\n",
"406/406 - 2s - loss: 0.0419 - accuracy: 0.9895 - val_loss: 0.0813 - val_accuracy: 0.9827 - 2s/epoch - 5ms/step\n",
"Epoch 6/50\n",
"406/406 - 2s - loss: 0.0333 - accuracy: 0.9908 - val_loss: 0.0816 - val_accuracy: 0.9798 - 2s/epoch - 5ms/step\n",
"Epoch 7/50\n",
"406/406 - 2s - loss: 0.0277 - accuracy: 0.9924 - val_loss: 0.0824 - val_accuracy: 0.9810 - 2s/epoch - 5ms/step\n",
"Epoch 8/50\n",
"406/406 - 2s - loss: 0.0251 - accuracy: 0.9931 - val_loss: 0.0873 - val_accuracy: 0.9800 - 2s/epoch - 5ms/step\n",
"Epoch 9/50\n",
"406/406 - 2s - loss: 0.0212 - accuracy: 0.9938 - val_loss: 0.1217 - val_accuracy: 0.9762 - 2s/epoch - 5ms/step\n",
"Epoch 10/50\n",
"406/406 - 2s - loss: 0.0202 - accuracy: 0.9938 - val_loss: 0.1152 - val_accuracy: 0.9789 - 2s/epoch - 5ms/step\n",
"Epoch 11/50\n",
"406/406 - 2s - loss: 0.0186 - accuracy: 0.9948 - val_loss: 0.1135 - val_accuracy: 0.9736 - 2s/epoch - 5ms/step\n",
"Epoch 12/50\n",
"406/406 - 2s - loss: 0.0159 - accuracy: 0.9953 - val_loss: 0.1008 - val_accuracy: 0.9783 - 2s/epoch - 5ms/step\n",
"Epoch 13/50\n",
"406/406 - 2s - loss: 0.0109 - accuracy: 0.9970 - val_loss: 0.1048 - val_accuracy: 0.9787 - 2s/epoch - 5ms/step\n",
"Epoch 14/50\n",
"406/406 - 3s - loss: 0.0081 - accuracy: 0.9978 - val_loss: 0.1400 - val_accuracy: 0.9766 - 3s/epoch - 8ms/step\n",
"Epoch 15/50\n",
"406/406 - 3s - loss: 0.0118 - accuracy: 0.9971 - val_loss: 0.1089 - val_accuracy: 0.9798 - 3s/epoch - 7ms/step\n",
"Epoch 16/50\n",
"406/406 - 3s - loss: 0.0087 - accuracy: 0.9973 - val_loss: 0.1417 - val_accuracy: 0.9756 - 3s/epoch - 6ms/step\n",
"Epoch 17/50\n",
"406/406 - 2s - loss: 0.0078 - accuracy: 0.9977 - val_loss: 0.1402 - val_accuracy: 0.9778 - 2s/epoch - 6ms/step\n",
"Epoch 18/50\n",
"406/406 - 2s - loss: 0.0099 - accuracy: 0.9973 - val_loss: 0.1146 - val_accuracy: 0.9804 - 2s/epoch - 6ms/step\n",
"Epoch 19/50\n",
"406/406 - 2s - loss: 0.0044 - accuracy: 0.9990 - val_loss: 0.1434 - val_accuracy: 0.9789 - 2s/epoch - 5ms/step\n",
"Epoch 20/50\n",
"406/406 - 2s - loss: 0.0058 - accuracy: 0.9985 - val_loss: 0.1527 - val_accuracy: 0.9790 - 2s/epoch - 6ms/step\n",
"Epoch 21/50\n",
"406/406 - 2s - loss: 0.0051 - accuracy: 0.9985 - val_loss: 0.1701 - val_accuracy: 0.9778 - 2s/epoch - 5ms/step\n",
"Epoch 22/50\n",
"406/406 - 2s - loss: 0.0063 - accuracy: 0.9983 - val_loss: 0.1579 - val_accuracy: 0.9759 - 2s/epoch - 5ms/step\n",
"Epoch 23/50\n",
"406/406 - 2s - loss: 0.0040 - accuracy: 0.9991 - val_loss: 0.1529 - val_accuracy: 0.9787 - 2s/epoch - 6ms/step\n",
"Epoch 24/50\n",
"406/406 - 2s - loss: 0.0027 - accuracy: 0.9993 - val_loss: 0.1589 - val_accuracy: 0.9798 - 2s/epoch - 6ms/step\n",
"Epoch 25/50\n",
"406/406 - 2s - loss: 0.0031 - accuracy: 0.9994 - val_loss: 0.1685 - val_accuracy: 0.9770 - 2s/epoch - 6ms/step\n",
"Epoch 26/50\n",
"406/406 - 2s - loss: 0.0081 - accuracy: 0.9977 - val_loss: 0.1629 - val_accuracy: 0.9761 - 2s/epoch - 6ms/step\n",
"Epoch 27/50\n",
"406/406 - 2s - loss: 0.0080 - accuracy: 0.9978 - val_loss: 0.1902 - val_accuracy: 0.9710 - 2s/epoch - 6ms/step\n",
"Epoch 28/50\n",
"406/406 - 2s - loss: 0.0030 - accuracy: 0.9994 - val_loss: 0.1851 - val_accuracy: 0.9736 - 2s/epoch - 5ms/step\n",
"Epoch 29/50\n",
"406/406 - 3s - loss: 0.0025 - accuracy: 0.9995 - val_loss: 0.2118 - val_accuracy: 0.9732 - 3s/epoch - 7ms/step\n",
"Epoch 30/50\n",
"406/406 - 3s - loss: 0.0018 - accuracy: 0.9996 - val_loss: 0.2045 - val_accuracy: 0.9752 - 3s/epoch - 7ms/step\n",
"Epoch 31/50\n",
"406/406 - 2s - loss: 0.0018 - accuracy: 0.9997 - val_loss: 0.2130 - val_accuracy: 0.9747 - 2s/epoch - 6ms/step\n",
"Epoch 32/50\n",
"406/406 - 3s - loss: 0.0020 - accuracy: 0.9997 - val_loss: 0.2266 - val_accuracy: 0.9742 - 3s/epoch - 8ms/step\n",
"Epoch 33/50\n",
"406/406 - 3s - loss: 0.0035 - accuracy: 0.9993 - val_loss: 0.2110 - val_accuracy: 0.9730 - 3s/epoch - 7ms/step\n",
"Epoch 34/50\n",
"406/406 - 3s - loss: 0.0069 - accuracy: 0.9981 - val_loss: 0.2011 - val_accuracy: 0.9698 - 3s/epoch - 6ms/step\n",
"Epoch 35/50\n",
"406/406 - 3s - loss: 0.0076 - accuracy: 0.9978 - val_loss: 0.1672 - val_accuracy: 0.9762 - 3s/epoch - 6ms/step\n",
"Epoch 36/50\n",
"406/406 - 3s - loss: 0.0034 - accuracy: 0.9993 - val_loss: 0.1679 - val_accuracy: 0.9750 - 3s/epoch - 6ms/step\n",
"Epoch 37/50\n",
"406/406 - 3s - loss: 0.0038 - accuracy: 0.9991 - val_loss: 0.1784 - val_accuracy: 0.9753 - 3s/epoch - 6ms/step\n",
"Epoch 38/50\n",
"406/406 - 3s - loss: 0.0022 - accuracy: 0.9995 - val_loss: 0.1968 - val_accuracy: 0.9735 - 3s/epoch - 7ms/step\n",
"Epoch 39/50\n",
"406/406 - 2s - loss: 0.0025 - accuracy: 0.9994 - val_loss: 0.2117 - val_accuracy: 0.9755 - 2s/epoch - 6ms/step\n",
"Epoch 40/50\n",
"406/406 - 2s - loss: 0.0027 - accuracy: 0.9996 - val_loss: 0.2084 - val_accuracy: 0.9769 - 2s/epoch - 5ms/step\n",
"Epoch 41/50\n",
"406/406 - 3s - loss: 0.0022 - accuracy: 0.9995 - val_loss: 0.2132 - val_accuracy: 0.9749 - 3s/epoch - 6ms/step\n",
"Epoch 42/50\n",
"406/406 - 2s - loss: 0.0023 - accuracy: 0.9995 - val_loss: 0.2065 - val_accuracy: 0.9766 - 2s/epoch - 6ms/step\n",
"Epoch 43/50\n",
"406/406 - 2s - loss: 0.0072 - accuracy: 0.9981 - val_loss: 0.1972 - val_accuracy: 0.9727 - 2s/epoch - 6ms/step\n",
"Epoch 44/50\n",
"406/406 - 3s - loss: 0.0034 - accuracy: 0.9991 - val_loss: 0.1805 - val_accuracy: 0.9747 - 3s/epoch - 6ms/step\n",
"Epoch 45/50\n",
"406/406 - 2s - loss: 0.0046 - accuracy: 0.9990 - val_loss: 0.1738 - val_accuracy: 0.9729 - 2s/epoch - 6ms/step\n",
"Epoch 46/50\n",
"406/406 - 2s - loss: 0.0034 - accuracy: 0.9990 - val_loss: 0.2020 - val_accuracy: 0.9713 - 2s/epoch - 6ms/step\n",
"Epoch 47/50\n",
"406/406 - 2s - loss: 0.0026 - accuracy: 0.9994 - val_loss: 0.2063 - val_accuracy: 0.9727 - 2s/epoch - 6ms/step\n",
"Epoch 48/50\n",
"406/406 - 2s - loss: 0.0025 - accuracy: 0.9993 - val_loss: 0.1938 - val_accuracy: 0.9755 - 2s/epoch - 5ms/step\n",
"Epoch 49/50\n",
"406/406 - 2s - loss: 0.0019 - accuracy: 0.9995 - val_loss: 0.1984 - val_accuracy: 0.9742 - 2s/epoch - 5ms/step\n",
"Epoch 50/50\n",
"406/406 - 2s - loss: 0.0021 - accuracy: 0.9995 - val_loss: 0.2276 - val_accuracy: 0.9744 - 2s/epoch - 5ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"GRU = Sequential()\n",
"GRU.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"GRU.add(layers.GRU(128))\n",
"GRU.add(Dropout(0.5))\n",
"GRU.add(Dense(32, activation='relu'))\n",
"GRU.add(Dense(3, activation='softmax'))\n",
"GRU.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"GRU.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"GRUP=GRU.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"GRUP"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "2bad1370",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "2bad1370",
"outputId": "ea959972-a11e-430b-e0de-20f03fb6e17a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 1s 2ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.92 0.94 0.93 931\n",
" 1 0.99 0.98 0.99 3315\n",
" 2 0.97 0.98 0.97 2238\n",
"\n",
" accuracy 0.97 6484\n",
" macro avg 0.96 0.97 0.96 6484\n",
"weighted avg 0.97 0.97 0.97 6484\n",
"\n",
"[[ 874 12 45]\n",
" [ 32 3258 25]\n",
" [ 46 6 2186]]\n",
"Accuracy: 0.974399\n",
"Precision: 0.974717\n",
"Recall: 0.974399\n",
"F1 score: 0.974518\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =GRU.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4e38974b",
"metadata": {
"id": "4e38974b"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 7,
"id": "6fc0c63f",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6fc0c63f",
"outputId": "b1a2f7fc-becf-40b5-8538-ef5576d9e4eb"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 16153, 'Positive': 11532, 'Negative': 4735})\n",
"Model: \"sequential_1\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_1 (Embedding) (None, 35, 100) 500000 \n",
" \n",
" simple_rnn (SimpleRNN) (None, 128) 29312 \n",
" \n",
" dropout_1 (Dropout) (None, 128) 0 \n",
" \n",
" dense_2 (Dense) (None, 32) 4128 \n",
" \n",
" dense_3 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 533,539\n",
"Trainable params: 533,539\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 12s - loss: 0.5924 - accuracy: 0.7581 - val_loss: 0.2603 - val_accuracy: 0.9147 - 12s/epoch - 31ms/step\n",
"Epoch 2/50\n",
"406/406 - 13s - loss: 0.2014 - accuracy: 0.9353 - val_loss: 0.1831 - val_accuracy: 0.9454 - 13s/epoch - 33ms/step\n",
"Epoch 3/50\n",
"406/406 - 12s - loss: 0.1401 - accuracy: 0.9579 - val_loss: 0.1524 - val_accuracy: 0.9539 - 12s/epoch - 31ms/step\n",
"Epoch 4/50\n",
"406/406 - 12s - loss: 0.0687 - accuracy: 0.9815 - val_loss: 0.9563 - val_accuracy: 0.7495 - 12s/epoch - 29ms/step\n",
"Epoch 5/50\n",
"406/406 - 11s - loss: 0.0940 - accuracy: 0.9724 - val_loss: 0.1246 - val_accuracy: 0.9658 - 11s/epoch - 26ms/step\n",
"Epoch 6/50\n",
"406/406 - 11s - loss: 0.0442 - accuracy: 0.9888 - val_loss: 0.1763 - val_accuracy: 0.9574 - 11s/epoch - 28ms/step\n",
"Epoch 7/50\n",
"406/406 - 12s - loss: 0.0375 - accuracy: 0.9899 - val_loss: 0.1553 - val_accuracy: 0.9648 - 12s/epoch - 31ms/step\n",
"Epoch 8/50\n",
"406/406 - 11s - loss: 0.0373 - accuracy: 0.9911 - val_loss: 0.1779 - val_accuracy: 0.9496 - 11s/epoch - 27ms/step\n",
"Epoch 9/50\n",
"406/406 - 12s - loss: 0.0379 - accuracy: 0.9902 - val_loss: 0.1880 - val_accuracy: 0.9596 - 12s/epoch - 29ms/step\n",
"Epoch 10/50\n",
"406/406 - 13s - loss: 0.3825 - accuracy: 0.8589 - val_loss: 0.2243 - val_accuracy: 0.9241 - 13s/epoch - 33ms/step\n",
"Epoch 11/50\n",
"406/406 - 14s - loss: 0.2889 - accuracy: 0.9081 - val_loss: 0.2014 - val_accuracy: 0.9382 - 14s/epoch - 34ms/step\n",
"Epoch 12/50\n",
"406/406 - 11s - loss: 0.1139 - accuracy: 0.9673 - val_loss: 0.1419 - val_accuracy: 0.9577 - 11s/epoch - 27ms/step\n",
"Epoch 13/50\n",
"406/406 - 11s - loss: 0.0636 - accuracy: 0.9835 - val_loss: 0.1296 - val_accuracy: 0.9622 - 11s/epoch - 27ms/step\n",
"Epoch 14/50\n",
"406/406 - 11s - loss: 0.0418 - accuracy: 0.9890 - val_loss: 0.1502 - val_accuracy: 0.9645 - 11s/epoch - 27ms/step\n",
"Epoch 15/50\n",
"406/406 - 13s - loss: 0.0309 - accuracy: 0.9919 - val_loss: 0.1512 - val_accuracy: 0.9641 - 13s/epoch - 31ms/step\n",
"Epoch 16/50\n",
"406/406 - 11s - loss: 0.0249 - accuracy: 0.9941 - val_loss: 0.1707 - val_accuracy: 0.9659 - 11s/epoch - 26ms/step\n",
"Epoch 17/50\n",
"406/406 - 11s - loss: 0.0219 - accuracy: 0.9948 - val_loss: 0.1829 - val_accuracy: 0.9611 - 11s/epoch - 27ms/step\n",
"Epoch 18/50\n",
"406/406 - 11s - loss: 0.0195 - accuracy: 0.9948 - val_loss: 0.1747 - val_accuracy: 0.9678 - 11s/epoch - 28ms/step\n",
"Epoch 19/50\n",
"406/406 - 11s - loss: 0.0177 - accuracy: 0.9954 - val_loss: 0.2144 - val_accuracy: 0.9616 - 11s/epoch - 28ms/step\n",
"Epoch 20/50\n",
"406/406 - 11s - loss: 0.0181 - accuracy: 0.9958 - val_loss: 0.2079 - val_accuracy: 0.9619 - 11s/epoch - 26ms/step\n",
"Epoch 21/50\n",
"406/406 - 11s - loss: 0.0176 - accuracy: 0.9960 - val_loss: 0.1892 - val_accuracy: 0.9673 - 11s/epoch - 26ms/step\n",
"Epoch 22/50\n",
"406/406 - 11s - loss: 0.0164 - accuracy: 0.9956 - val_loss: 0.2107 - val_accuracy: 0.9594 - 11s/epoch - 26ms/step\n",
"Epoch 23/50\n",
"406/406 - 11s - loss: 0.0262 - accuracy: 0.9932 - val_loss: 0.7172 - val_accuracy: 0.8985 - 11s/epoch - 27ms/step\n",
"Epoch 24/50\n",
"406/406 - 11s - loss: 0.0239 - accuracy: 0.9941 - val_loss: 0.1916 - val_accuracy: 0.9645 - 11s/epoch - 26ms/step\n",
"Epoch 25/50\n",
"406/406 - 11s - loss: 0.0181 - accuracy: 0.9956 - val_loss: 0.1821 - val_accuracy: 0.9655 - 11s/epoch - 26ms/step\n",
"Epoch 26/50\n",
"406/406 - 11s - loss: 0.0176 - accuracy: 0.9958 - val_loss: 0.1925 - val_accuracy: 0.9688 - 11s/epoch - 26ms/step\n",
"Epoch 27/50\n",
"406/406 - 11s - loss: 0.0118 - accuracy: 0.9976 - val_loss: 0.2832 - val_accuracy: 0.9545 - 11s/epoch - 27ms/step\n",
"Epoch 28/50\n",
"406/406 - 11s - loss: 0.0154 - accuracy: 0.9964 - val_loss: 0.1989 - val_accuracy: 0.9638 - 11s/epoch - 26ms/step\n",
"Epoch 29/50\n",
"406/406 - 11s - loss: 0.0119 - accuracy: 0.9971 - val_loss: 0.2318 - val_accuracy: 0.9633 - 11s/epoch - 26ms/step\n",
"Epoch 30/50\n",
"406/406 - 11s - loss: 0.0208 - accuracy: 0.9950 - val_loss: 0.1828 - val_accuracy: 0.9633 - 11s/epoch - 27ms/step\n",
"Epoch 31/50\n",
"406/406 - 11s - loss: 0.0306 - accuracy: 0.9925 - val_loss: 0.2276 - val_accuracy: 0.9540 - 11s/epoch - 26ms/step\n",
"Epoch 32/50\n",
"406/406 - 11s - loss: 0.0193 - accuracy: 0.9950 - val_loss: 0.1964 - val_accuracy: 0.9668 - 11s/epoch - 26ms/step\n",
"Epoch 33/50\n",
"406/406 - 11s - loss: 0.0148 - accuracy: 0.9967 - val_loss: 0.2469 - val_accuracy: 0.9517 - 11s/epoch - 26ms/step\n",
"Epoch 34/50\n",
"406/406 - 11s - loss: 0.0165 - accuracy: 0.9962 - val_loss: 0.2815 - val_accuracy: 0.9482 - 11s/epoch - 27ms/step\n",
"Epoch 35/50\n",
"406/406 - 11s - loss: 0.0105 - accuracy: 0.9977 - val_loss: 0.2135 - val_accuracy: 0.9658 - 11s/epoch - 26ms/step\n",
"Epoch 36/50\n",
"406/406 - 12s - loss: 0.0085 - accuracy: 0.9983 - val_loss: 0.2011 - val_accuracy: 0.9696 - 12s/epoch - 31ms/step\n",
"Epoch 37/50\n",
"406/406 - 13s - loss: 0.0143 - accuracy: 0.9965 - val_loss: 0.2059 - val_accuracy: 0.9630 - 13s/epoch - 31ms/step\n",
"Epoch 38/50\n",
"406/406 - 12s - loss: 0.0107 - accuracy: 0.9976 - val_loss: 0.2047 - val_accuracy: 0.9662 - 12s/epoch - 28ms/step\n",
"Epoch 39/50\n",
"406/406 - 13s - loss: 0.0330 - accuracy: 0.9918 - val_loss: 0.1606 - val_accuracy: 0.9618 - 13s/epoch - 31ms/step\n",
"Epoch 40/50\n",
"406/406 - 12s - loss: 0.0258 - accuracy: 0.9931 - val_loss: 0.1807 - val_accuracy: 0.9661 - 12s/epoch - 31ms/step\n",
"Epoch 41/50\n",
"406/406 - 13s - loss: 0.0107 - accuracy: 0.9974 - val_loss: 0.2136 - val_accuracy: 0.9638 - 13s/epoch - 32ms/step\n",
"Epoch 42/50\n",
"406/406 - 12s - loss: 0.0082 - accuracy: 0.9985 - val_loss: 0.2154 - val_accuracy: 0.9661 - 12s/epoch - 29ms/step\n",
"Epoch 43/50\n",
"406/406 - 11s - loss: 0.0059 - accuracy: 0.9985 - val_loss: 0.2339 - val_accuracy: 0.9630 - 11s/epoch - 28ms/step\n",
"Epoch 44/50\n",
"406/406 - 13s - loss: 0.0089 - accuracy: 0.9982 - val_loss: 0.2178 - val_accuracy: 0.9668 - 13s/epoch - 31ms/step\n",
"Epoch 45/50\n",
"406/406 - 13s - loss: 0.0054 - accuracy: 0.9988 - val_loss: 0.2493 - val_accuracy: 0.9639 - 13s/epoch - 31ms/step\n",
"Epoch 46/50\n",
"406/406 - 13s - loss: 0.0050 - accuracy: 0.9990 - val_loss: 0.2448 - val_accuracy: 0.9665 - 13s/epoch - 33ms/step\n",
"Epoch 47/50\n",
"406/406 - 13s - loss: 0.0249 - accuracy: 0.9953 - val_loss: 0.2630 - val_accuracy: 0.9473 - 13s/epoch - 32ms/step\n",
"Epoch 48/50\n",
"406/406 - 12s - loss: 0.0258 - accuracy: 0.9939 - val_loss: 0.1883 - val_accuracy: 0.9681 - 12s/epoch - 30ms/step\n",
"Epoch 49/50\n",
"406/406 - 12s - loss: 0.0129 - accuracy: 0.9973 - val_loss: 0.1969 - val_accuracy: 0.9616 - 12s/epoch - 30ms/step\n",
"Epoch 50/50\n",
"406/406 - 11s - loss: 0.2567 - accuracy: 0.9184 - val_loss: 0.2884 - val_accuracy: 0.9278 - 11s/epoch - 27ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"SimpleRNN = Sequential()\n",
"SimpleRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"SimpleRNN.add(layers.SimpleRNN(128))\n",
"SimpleRNN.add(Dropout(0.5))\n",
"SimpleRNN.add(Dense(32, activation='relu'))\n",
"SimpleRNN.add(Dense(3, activation='softmax'))\n",
"SimpleRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"SimpleRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"SimpleRNNP=SimpleRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"SimpleRNNP"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "ebafd8d1",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ebafd8d1",
"outputId": "b8e82f6b-0f61-4343-f0bd-6c728bf37be9"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 1s 4ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.91 0.79 0.85 943\n",
" 1 0.92 0.99 0.95 3202\n",
" 2 0.94 0.90 0.92 2339\n",
"\n",
" accuracy 0.93 6484\n",
" macro avg 0.93 0.89 0.91 6484\n",
"weighted avg 0.93 0.93 0.93 6484\n",
"\n",
"[[ 749 86 108]\n",
" [ 19 3165 18]\n",
" [ 52 185 2102]]\n",
"Accuracy: 0.927822\n",
"Precision: 0.928058\n",
"Recall: 0.927822\n",
"F1 score: 0.926554\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =SimpleRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c574e802",
"metadata": {
"id": "c574e802"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 9,
"id": "0caeec1a",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "0caeec1a",
"outputId": "5d52d6a1-360d-4908-c0a9-6ce19850d193"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 16153, 'Positive': 11532, 'Negative': 4735})\n",
"Model: \"sequential_2\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_2 (Embedding) (None, 35, 100) 500000 \n",
" \n",
" dropout_2 (Dropout) (None, 35, 100) 0 \n",
" \n",
" bidirectional (Bidirectiona (None, 35, 128) 84480 \n",
" l) \n",
" \n",
" bidirectional_1 (Bidirectio (None, 64) 41216 \n",
" nal) \n",
" \n",
" dropout_3 (Dropout) (None, 64) 0 \n",
" \n",
" dense_4 (Dense) (None, 16) 1040 \n",
" \n",
" dense_5 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 626,787\n",
"Trainable params: 626,787\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 12s - loss: 0.5225 - accuracy: 0.7861 - precision: 0.8504 - recall: 0.7125 - val_loss: 0.1521 - val_accuracy: 0.9531 - val_precision: 0.9570 - val_recall: 0.9506 - 12s/epoch - 30ms/step\n",
"Epoch 2/50\n",
"406/406 - 5s - loss: 0.1248 - accuracy: 0.9645 - precision: 0.9664 - recall: 0.9625 - val_loss: 0.0892 - val_accuracy: 0.9722 - val_precision: 0.9742 - val_recall: 0.9716 - 5s/epoch - 13ms/step\n",
"Epoch 3/50\n",
"406/406 - 5s - loss: 0.0750 - accuracy: 0.9783 - precision: 0.9794 - recall: 0.9771 - val_loss: 0.0761 - val_accuracy: 0.9796 - val_precision: 0.9807 - val_recall: 0.9775 - 5s/epoch - 14ms/step\n",
"Epoch 4/50\n",
"406/406 - 5s - loss: 0.0563 - accuracy: 0.9852 - precision: 0.9863 - recall: 0.9842 - val_loss: 0.0733 - val_accuracy: 0.9796 - val_precision: 0.9807 - val_recall: 0.9773 - 5s/epoch - 13ms/step\n",
"Epoch 5/50\n",
"406/406 - 5s - loss: 0.0478 - accuracy: 0.9871 - precision: 0.9882 - recall: 0.9857 - val_loss: 0.0790 - val_accuracy: 0.9778 - val_precision: 0.9800 - val_recall: 0.9762 - 5s/epoch - 13ms/step\n",
"Epoch 6/50\n",
"406/406 - 6s - loss: 0.0443 - accuracy: 0.9885 - precision: 0.9900 - recall: 0.9874 - val_loss: 0.0757 - val_accuracy: 0.9821 - val_precision: 0.9832 - val_recall: 0.9812 - 6s/epoch - 15ms/step\n",
"Epoch 7/50\n",
"406/406 - 6s - loss: 0.0388 - accuracy: 0.9897 - precision: 0.9907 - recall: 0.9887 - val_loss: 0.0818 - val_accuracy: 0.9806 - val_precision: 0.9827 - val_recall: 0.9790 - 6s/epoch - 16ms/step\n",
"Epoch 8/50\n",
"406/406 - 7s - loss: 0.0347 - accuracy: 0.9913 - precision: 0.9923 - recall: 0.9901 - val_loss: 0.0833 - val_accuracy: 0.9796 - val_precision: 0.9817 - val_recall: 0.9781 - 7s/epoch - 16ms/step\n",
"Epoch 9/50\n",
"406/406 - 6s - loss: 0.0336 - accuracy: 0.9913 - precision: 0.9923 - recall: 0.9903 - val_loss: 0.0847 - val_accuracy: 0.9790 - val_precision: 0.9817 - val_recall: 0.9773 - 6s/epoch - 15ms/step\n",
"Epoch 10/50\n",
"406/406 - 6s - loss: 0.0311 - accuracy: 0.9920 - precision: 0.9928 - recall: 0.9911 - val_loss: 0.0839 - val_accuracy: 0.9812 - val_precision: 0.9830 - val_recall: 0.9789 - 6s/epoch - 14ms/step\n",
"Epoch 11/50\n",
"406/406 - 5s - loss: 0.0294 - accuracy: 0.9929 - precision: 0.9939 - recall: 0.9919 - val_loss: 0.0890 - val_accuracy: 0.9806 - val_precision: 0.9821 - val_recall: 0.9790 - 5s/epoch - 12ms/step\n",
"Epoch 12/50\n",
"406/406 - 5s - loss: 0.0256 - accuracy: 0.9934 - precision: 0.9943 - recall: 0.9929 - val_loss: 0.0932 - val_accuracy: 0.9798 - val_precision: 0.9813 - val_recall: 0.9778 - 5s/epoch - 13ms/step\n",
"Epoch 13/50\n",
"406/406 - 5s - loss: 0.0266 - accuracy: 0.9933 - precision: 0.9944 - recall: 0.9921 - val_loss: 0.0875 - val_accuracy: 0.9781 - val_precision: 0.9821 - val_recall: 0.9741 - 5s/epoch - 12ms/step\n",
"Epoch 14/50\n",
"406/406 - 5s - loss: 0.0233 - accuracy: 0.9941 - precision: 0.9950 - recall: 0.9934 - val_loss: 0.0927 - val_accuracy: 0.9803 - val_precision: 0.9830 - val_recall: 0.9793 - 5s/epoch - 12ms/step\n",
"Epoch 15/50\n",
"406/406 - 5s - loss: 0.0247 - accuracy: 0.9938 - precision: 0.9949 - recall: 0.9931 - val_loss: 0.0968 - val_accuracy: 0.9790 - val_precision: 0.9832 - val_recall: 0.9766 - 5s/epoch - 13ms/step\n",
"Epoch 16/50\n",
"406/406 - 5s - loss: 0.0232 - accuracy: 0.9937 - precision: 0.9953 - recall: 0.9927 - val_loss: 0.0938 - val_accuracy: 0.9796 - val_precision: 0.9837 - val_recall: 0.9772 - 5s/epoch - 13ms/step\n",
"Epoch 17/50\n",
"406/406 - 5s - loss: 0.0206 - accuracy: 0.9939 - precision: 0.9955 - recall: 0.9927 - val_loss: 0.1116 - val_accuracy: 0.9795 - val_precision: 0.9813 - val_recall: 0.9776 - 5s/epoch - 13ms/step\n",
"Epoch 18/50\n",
"406/406 - 5s - loss: 0.0201 - accuracy: 0.9948 - precision: 0.9962 - recall: 0.9934 - val_loss: 0.1091 - val_accuracy: 0.9796 - val_precision: 0.9811 - val_recall: 0.9786 - 5s/epoch - 12ms/step\n",
"Epoch 19/50\n",
"406/406 - 6s - loss: 0.0176 - accuracy: 0.9956 - precision: 0.9965 - recall: 0.9946 - val_loss: 0.1041 - val_accuracy: 0.9796 - val_precision: 0.9813 - val_recall: 0.9790 - 6s/epoch - 14ms/step\n",
"Epoch 20/50\n",
"406/406 - 6s - loss: 0.0154 - accuracy: 0.9961 - precision: 0.9967 - recall: 0.9955 - val_loss: 0.1122 - val_accuracy: 0.9790 - val_precision: 0.9807 - val_recall: 0.9775 - 6s/epoch - 15ms/step\n",
"Epoch 21/50\n",
"406/406 - 6s - loss: 0.0187 - accuracy: 0.9958 - precision: 0.9967 - recall: 0.9951 - val_loss: 0.1165 - val_accuracy: 0.9769 - val_precision: 0.9784 - val_recall: 0.9759 - 6s/epoch - 15ms/step\n",
"Epoch 22/50\n",
"406/406 - 6s - loss: 0.0176 - accuracy: 0.9954 - precision: 0.9961 - recall: 0.9950 - val_loss: 0.1054 - val_accuracy: 0.9806 - val_precision: 0.9816 - val_recall: 0.9800 - 6s/epoch - 14ms/step\n",
"Epoch 23/50\n",
"406/406 - 6s - loss: 0.0126 - accuracy: 0.9969 - precision: 0.9971 - recall: 0.9965 - val_loss: 0.1220 - val_accuracy: 0.9789 - val_precision: 0.9801 - val_recall: 0.9776 - 6s/epoch - 14ms/step\n",
"Epoch 24/50\n",
"406/406 - 6s - loss: 0.0142 - accuracy: 0.9963 - precision: 0.9966 - recall: 0.9961 - val_loss: 0.1434 - val_accuracy: 0.9766 - val_precision: 0.9767 - val_recall: 0.9764 - 6s/epoch - 14ms/step\n",
"Epoch 25/50\n",
"406/406 - 6s - loss: 0.0135 - accuracy: 0.9965 - precision: 0.9968 - recall: 0.9962 - val_loss: 0.1330 - val_accuracy: 0.9764 - val_precision: 0.9776 - val_recall: 0.9759 - 6s/epoch - 14ms/step\n",
"Epoch 26/50\n",
"406/406 - 6s - loss: 0.0147 - accuracy: 0.9963 - precision: 0.9967 - recall: 0.9961 - val_loss: 0.1119 - val_accuracy: 0.9784 - val_precision: 0.9790 - val_recall: 0.9778 - 6s/epoch - 15ms/step\n",
"Epoch 27/50\n",
"406/406 - 6s - loss: 0.0130 - accuracy: 0.9967 - precision: 0.9968 - recall: 0.9964 - val_loss: 0.1234 - val_accuracy: 0.9781 - val_precision: 0.9782 - val_recall: 0.9778 - 6s/epoch - 15ms/step\n",
"Epoch 28/50\n",
"406/406 - 5s - loss: 0.0091 - accuracy: 0.9976 - precision: 0.9976 - recall: 0.9975 - val_loss: 0.1432 - val_accuracy: 0.9793 - val_precision: 0.9795 - val_recall: 0.9789 - 5s/epoch - 13ms/step\n",
"Epoch 29/50\n",
"406/406 - 6s - loss: 0.0093 - accuracy: 0.9974 - precision: 0.9975 - recall: 0.9973 - val_loss: 0.1388 - val_accuracy: 0.9789 - val_precision: 0.9790 - val_recall: 0.9784 - 6s/epoch - 14ms/step\n",
"Epoch 30/50\n",
"406/406 - 6s - loss: 0.0104 - accuracy: 0.9973 - precision: 0.9975 - recall: 0.9972 - val_loss: 0.1284 - val_accuracy: 0.9783 - val_precision: 0.9790 - val_recall: 0.9781 - 6s/epoch - 16ms/step\n",
"Epoch 31/50\n",
"406/406 - 6s - loss: 0.0075 - accuracy: 0.9983 - precision: 0.9983 - recall: 0.9983 - val_loss: 0.1549 - val_accuracy: 0.9787 - val_precision: 0.9789 - val_recall: 0.9786 - 6s/epoch - 15ms/step\n",
"Epoch 32/50\n",
"406/406 - 6s - loss: 0.0074 - accuracy: 0.9980 - precision: 0.9981 - recall: 0.9979 - val_loss: 0.1767 - val_accuracy: 0.9750 - val_precision: 0.9750 - val_recall: 0.9749 - 6s/epoch - 15ms/step\n",
"Epoch 33/50\n",
"406/406 - 6s - loss: 0.0094 - accuracy: 0.9972 - precision: 0.9973 - recall: 0.9971 - val_loss: 0.1461 - val_accuracy: 0.9766 - val_precision: 0.9771 - val_recall: 0.9759 - 6s/epoch - 15ms/step\n",
"Epoch 34/50\n",
"406/406 - 6s - loss: 0.0112 - accuracy: 0.9969 - precision: 0.9970 - recall: 0.9969 - val_loss: 0.1388 - val_accuracy: 0.9762 - val_precision: 0.9765 - val_recall: 0.9759 - 6s/epoch - 15ms/step\n",
"Epoch 35/50\n",
"406/406 - 6s - loss: 0.0069 - accuracy: 0.9982 - precision: 0.9983 - recall: 0.9981 - val_loss: 0.1566 - val_accuracy: 0.9766 - val_precision: 0.9769 - val_recall: 0.9764 - 6s/epoch - 15ms/step\n",
"Epoch 36/50\n",
"406/406 - 6s - loss: 0.0070 - accuracy: 0.9985 - precision: 0.9985 - recall: 0.9984 - val_loss: 0.1759 - val_accuracy: 0.9759 - val_precision: 0.9762 - val_recall: 0.9756 - 6s/epoch - 14ms/step\n",
"Epoch 37/50\n",
"406/406 - 6s - loss: 0.0077 - accuracy: 0.9981 - precision: 0.9982 - recall: 0.9980 - val_loss: 0.1610 - val_accuracy: 0.9766 - val_precision: 0.9769 - val_recall: 0.9764 - 6s/epoch - 14ms/step\n",
"Epoch 38/50\n",
"406/406 - 5s - loss: 0.0065 - accuracy: 0.9983 - precision: 0.9983 - recall: 0.9982 - val_loss: 0.1686 - val_accuracy: 0.9755 - val_precision: 0.9756 - val_recall: 0.9752 - 5s/epoch - 12ms/step\n",
"Epoch 39/50\n",
"406/406 - 5s - loss: 0.0055 - accuracy: 0.9984 - precision: 0.9985 - recall: 0.9984 - val_loss: 0.1949 - val_accuracy: 0.9759 - val_precision: 0.9767 - val_recall: 0.9758 - 5s/epoch - 13ms/step\n",
"Epoch 40/50\n",
"406/406 - 5s - loss: 0.0081 - accuracy: 0.9977 - precision: 0.9978 - recall: 0.9977 - val_loss: 0.1700 - val_accuracy: 0.9752 - val_precision: 0.9756 - val_recall: 0.9752 - 5s/epoch - 12ms/step\n",
"Epoch 41/50\n",
"406/406 - 5s - loss: 0.0052 - accuracy: 0.9984 - precision: 0.9985 - recall: 0.9983 - val_loss: 0.1876 - val_accuracy: 0.9749 - val_precision: 0.9750 - val_recall: 0.9747 - 5s/epoch - 13ms/step\n",
"Epoch 42/50\n",
"406/406 - 5s - loss: 0.0071 - accuracy: 0.9982 - precision: 0.9983 - recall: 0.9982 - val_loss: 0.1522 - val_accuracy: 0.9761 - val_precision: 0.9762 - val_recall: 0.9761 - 5s/epoch - 13ms/step\n",
"Epoch 43/50\n",
"406/406 - 5s - loss: 0.0045 - accuracy: 0.9988 - precision: 0.9989 - recall: 0.9988 - val_loss: 0.1882 - val_accuracy: 0.9741 - val_precision: 0.9742 - val_recall: 0.9739 - 5s/epoch - 13ms/step\n",
"Epoch 44/50\n",
"406/406 - 5s - loss: 0.0066 - accuracy: 0.9982 - precision: 0.9983 - recall: 0.9981 - val_loss: 0.1657 - val_accuracy: 0.9752 - val_precision: 0.9753 - val_recall: 0.9750 - 5s/epoch - 12ms/step\n",
"Epoch 45/50\n",
"406/406 - 5s - loss: 0.0055 - accuracy: 0.9982 - precision: 0.9983 - recall: 0.9981 - val_loss: 0.1695 - val_accuracy: 0.9761 - val_precision: 0.9764 - val_recall: 0.9759 - 5s/epoch - 13ms/step\n",
"Epoch 46/50\n",
"406/406 - 5s - loss: 0.0064 - accuracy: 0.9984 - precision: 0.9985 - recall: 0.9983 - val_loss: 0.1722 - val_accuracy: 0.9749 - val_precision: 0.9756 - val_recall: 0.9746 - 5s/epoch - 12ms/step\n",
"Epoch 47/50\n",
"406/406 - 5s - loss: 0.0059 - accuracy: 0.9983 - precision: 0.9985 - recall: 0.9983 - val_loss: 0.1910 - val_accuracy: 0.9725 - val_precision: 0.9727 - val_recall: 0.9722 - 5s/epoch - 13ms/step\n",
"Epoch 48/50\n",
"406/406 - 5s - loss: 0.0053 - accuracy: 0.9983 - precision: 0.9983 - recall: 0.9982 - val_loss: 0.1751 - val_accuracy: 0.9742 - val_precision: 0.9744 - val_recall: 0.9741 - 5s/epoch - 13ms/step\n",
"Epoch 49/50\n",
"406/406 - 5s - loss: 0.0076 - accuracy: 0.9980 - precision: 0.9980 - recall: 0.9980 - val_loss: 0.1756 - val_accuracy: 0.9732 - val_precision: 0.9733 - val_recall: 0.9730 - 5s/epoch - 12ms/step\n",
"Epoch 50/50\n",
"406/406 - 5s - loss: 0.0051 - accuracy: 0.9984 - precision: 0.9985 - recall: 0.9983 - val_loss: 0.1866 - val_accuracy: 0.9758 - val_precision: 0.9759 - val_recall: 0.9758 - 5s/epoch - 12ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"Bidirectional = Sequential()\n",
"Bidirectional.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"Bidirectional.add(Dropout(0.5))\n",
"Bidirectional.add(layers.Bidirectional(layers.LSTM(64, return_sequences=True), input_shape=(5, 10)))\n",
"Bidirectional.add(layers.Bidirectional(layers.LSTM(32)))\n",
"Bidirectional.add(Dropout(0.5))\n",
"Bidirectional.add(Dense(16, activation='relu'))\n",
"Bidirectional.add(Dense(3, activation='softmax'))\n",
"Bidirectional.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy','Precision','Recall'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"Bidirectional.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"BidirectionalP=Bidirectional.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"BidirectionalP"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "054e90e1",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "054e90e1",
"outputId": "d487a2b7-019a-4a79-aca2-e8be8c6987a1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 2s 5ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.94 0.92 0.93 913\n",
" 1 0.99 0.99 0.99 3207\n",
" 2 0.97 0.98 0.97 2364\n",
"\n",
" accuracy 0.98 6484\n",
" macro avg 0.97 0.96 0.96 6484\n",
"weighted avg 0.98 0.98 0.98 6484\n",
"\n",
"[[ 841 14 58]\n",
" [ 17 3167 23]\n",
" [ 41 4 2319]]\n",
"Accuracy: 0.975787\n",
"Precision: 0.975815\n",
"Recall: 0.975787\n",
"F1 score: 0.975767\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =Bidirectional.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d9bb6531",
"metadata": {
"id": "d9bb6531"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"id": "a3d7905c",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "a3d7905c",
"outputId": "d65abd5f-063d-4b0c-a03b-f322a36a66ec"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 16153, 'Positive': 11532, 'Negative': 4735})\n",
"Model: \"sequential_3\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_3 (Embedding) (None, 35, 100) 500000 \n",
" \n",
" lstm_2 (LSTM) (None, 35, 100) 80400 \n",
" \n",
" lstm_3 (LSTM) (None, 64) 42240 \n",
" \n",
" dropout_4 (Dropout) (None, 64) 0 \n",
" \n",
" dense_6 (Dense) (None, 32) 2080 \n",
" \n",
" dense_7 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 624,819\n",
"Trainable params: 624,819\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 6s - loss: 0.4079 - accuracy: 0.8384 - val_loss: 0.0940 - val_accuracy: 0.9749 - 6s/epoch - 16ms/step\n",
"Epoch 2/50\n",
"406/406 - 3s - loss: 0.0716 - accuracy: 0.9812 - val_loss: 0.0643 - val_accuracy: 0.9818 - 3s/epoch - 8ms/step\n",
"Epoch 3/50\n",
"406/406 - 3s - loss: 0.0473 - accuracy: 0.9885 - val_loss: 0.0674 - val_accuracy: 0.9832 - 3s/epoch - 8ms/step\n",
"Epoch 4/50\n",
"406/406 - 3s - loss: 0.0444 - accuracy: 0.9896 - val_loss: 0.0641 - val_accuracy: 0.9820 - 3s/epoch - 8ms/step\n",
"Epoch 5/50\n",
"406/406 - 3s - loss: 0.0351 - accuracy: 0.9921 - val_loss: 0.0705 - val_accuracy: 0.9826 - 3s/epoch - 8ms/step\n",
"Epoch 6/50\n",
"406/406 - 3s - loss: 0.0363 - accuracy: 0.9917 - val_loss: 0.0740 - val_accuracy: 0.9823 - 3s/epoch - 8ms/step\n",
"Epoch 7/50\n",
"406/406 - 3s - loss: 0.0452 - accuracy: 0.9899 - val_loss: 0.0791 - val_accuracy: 0.9807 - 3s/epoch - 8ms/step\n",
"Epoch 8/50\n",
"406/406 - 3s - loss: 0.0329 - accuracy: 0.9929 - val_loss: 0.0773 - val_accuracy: 0.9807 - 3s/epoch - 8ms/step\n",
"Epoch 9/50\n",
"406/406 - 3s - loss: 0.0250 - accuracy: 0.9943 - val_loss: 0.0827 - val_accuracy: 0.9806 - 3s/epoch - 8ms/step\n",
"Epoch 10/50\n",
"406/406 - 3s - loss: 0.0211 - accuracy: 0.9948 - val_loss: 0.1153 - val_accuracy: 0.9800 - 3s/epoch - 8ms/step\n",
"Epoch 11/50\n",
"406/406 - 3s - loss: 0.0216 - accuracy: 0.9944 - val_loss: 0.0869 - val_accuracy: 0.9806 - 3s/epoch - 8ms/step\n",
"Epoch 12/50\n",
"406/406 - 3s - loss: 0.0225 - accuracy: 0.9943 - val_loss: 0.0917 - val_accuracy: 0.9818 - 3s/epoch - 8ms/step\n",
"Epoch 13/50\n",
"406/406 - 3s - loss: 0.0154 - accuracy: 0.9955 - val_loss: 0.1176 - val_accuracy: 0.9792 - 3s/epoch - 8ms/step\n",
"Epoch 14/50\n",
"406/406 - 4s - loss: 0.0183 - accuracy: 0.9953 - val_loss: 0.0968 - val_accuracy: 0.9815 - 4s/epoch - 9ms/step\n",
"Epoch 15/50\n",
"406/406 - 3s - loss: 0.0153 - accuracy: 0.9964 - val_loss: 0.1049 - val_accuracy: 0.9786 - 3s/epoch - 8ms/step\n",
"Epoch 16/50\n",
"406/406 - 3s - loss: 0.0106 - accuracy: 0.9975 - val_loss: 0.1678 - val_accuracy: 0.9742 - 3s/epoch - 8ms/step\n",
"Epoch 17/50\n",
"406/406 - 3s - loss: 0.0175 - accuracy: 0.9959 - val_loss: 0.1101 - val_accuracy: 0.9820 - 3s/epoch - 8ms/step\n",
"Epoch 18/50\n",
"406/406 - 3s - loss: 0.0093 - accuracy: 0.9978 - val_loss: 0.1375 - val_accuracy: 0.9762 - 3s/epoch - 8ms/step\n",
"Epoch 19/50\n",
"406/406 - 3s - loss: 0.0106 - accuracy: 0.9978 - val_loss: 0.1285 - val_accuracy: 0.9803 - 3s/epoch - 8ms/step\n",
"Epoch 20/50\n",
"406/406 - 3s - loss: 0.0108 - accuracy: 0.9975 - val_loss: 0.1041 - val_accuracy: 0.9829 - 3s/epoch - 8ms/step\n",
"Epoch 21/50\n",
"406/406 - 3s - loss: 0.0073 - accuracy: 0.9982 - val_loss: 0.1120 - val_accuracy: 0.9846 - 3s/epoch - 8ms/step\n",
"Epoch 22/50\n",
"406/406 - 3s - loss: 0.0080 - accuracy: 0.9982 - val_loss: 0.1147 - val_accuracy: 0.9829 - 3s/epoch - 8ms/step\n",
"Epoch 23/50\n",
"406/406 - 3s - loss: 0.0127 - accuracy: 0.9976 - val_loss: 0.1191 - val_accuracy: 0.9813 - 3s/epoch - 8ms/step\n",
"Epoch 24/50\n",
"406/406 - 3s - loss: 0.0060 - accuracy: 0.9988 - val_loss: 0.1403 - val_accuracy: 0.9798 - 3s/epoch - 8ms/step\n",
"Epoch 25/50\n",
"406/406 - 3s - loss: 0.0048 - accuracy: 0.9990 - val_loss: 0.1523 - val_accuracy: 0.9801 - 3s/epoch - 8ms/step\n",
"Epoch 26/50\n",
"406/406 - 3s - loss: 0.0087 - accuracy: 0.9983 - val_loss: 0.1370 - val_accuracy: 0.9786 - 3s/epoch - 8ms/step\n",
"Epoch 27/50\n",
"406/406 - 3s - loss: 0.0071 - accuracy: 0.9984 - val_loss: 0.1660 - val_accuracy: 0.9752 - 3s/epoch - 8ms/step\n",
"Epoch 28/50\n",
"406/406 - 3s - loss: 0.0069 - accuracy: 0.9983 - val_loss: 0.1615 - val_accuracy: 0.9795 - 3s/epoch - 8ms/step\n",
"Epoch 29/50\n",
"406/406 - 3s - loss: 0.0046 - accuracy: 0.9988 - val_loss: 0.1616 - val_accuracy: 0.9776 - 3s/epoch - 8ms/step\n",
"Epoch 30/50\n",
"406/406 - 3s - loss: 0.0046 - accuracy: 0.9989 - val_loss: 0.1700 - val_accuracy: 0.9781 - 3s/epoch - 8ms/step\n",
"Epoch 31/50\n",
"406/406 - 3s - loss: 0.0043 - accuracy: 0.9988 - val_loss: 0.1815 - val_accuracy: 0.9776 - 3s/epoch - 8ms/step\n",
"Epoch 32/50\n",
"406/406 - 3s - loss: 0.0045 - accuracy: 0.9990 - val_loss: 0.1826 - val_accuracy: 0.9789 - 3s/epoch - 8ms/step\n",
"Epoch 33/50\n",
"406/406 - 3s - loss: 0.0040 - accuracy: 0.9992 - val_loss: 0.1865 - val_accuracy: 0.9789 - 3s/epoch - 8ms/step\n",
"Epoch 34/50\n",
"406/406 - 3s - loss: 0.0025 - accuracy: 0.9994 - val_loss: 0.2036 - val_accuracy: 0.9787 - 3s/epoch - 8ms/step\n",
"Epoch 35/50\n",
"406/406 - 3s - loss: 0.0049 - accuracy: 0.9987 - val_loss: 0.1925 - val_accuracy: 0.9778 - 3s/epoch - 8ms/step\n",
"Epoch 36/50\n",
"406/406 - 3s - loss: 0.0126 - accuracy: 0.9972 - val_loss: 0.2645 - val_accuracy: 0.9553 - 3s/epoch - 8ms/step\n",
"Epoch 37/50\n",
"406/406 - 3s - loss: 0.0093 - accuracy: 0.9978 - val_loss: 0.1353 - val_accuracy: 0.9795 - 3s/epoch - 8ms/step\n",
"Epoch 38/50\n",
"406/406 - 3s - loss: 0.0050 - accuracy: 0.9989 - val_loss: 0.1648 - val_accuracy: 0.9770 - 3s/epoch - 8ms/step\n",
"Epoch 39/50\n",
"406/406 - 3s - loss: 0.0044 - accuracy: 0.9990 - val_loss: 0.1748 - val_accuracy: 0.9776 - 3s/epoch - 8ms/step\n",
"Epoch 40/50\n",
"406/406 - 3s - loss: 0.0045 - accuracy: 0.9988 - val_loss: 0.1983 - val_accuracy: 0.9744 - 3s/epoch - 8ms/step\n",
"Epoch 41/50\n",
"406/406 - 3s - loss: 0.0046 - accuracy: 0.9986 - val_loss: 0.1870 - val_accuracy: 0.9758 - 3s/epoch - 8ms/step\n",
"Epoch 42/50\n",
"406/406 - 3s - loss: 0.0035 - accuracy: 0.9991 - val_loss: 0.1757 - val_accuracy: 0.9784 - 3s/epoch - 8ms/step\n",
"Epoch 43/50\n",
"406/406 - 3s - loss: 0.0024 - accuracy: 0.9996 - val_loss: 0.2038 - val_accuracy: 0.9790 - 3s/epoch - 8ms/step\n",
"Epoch 44/50\n",
"406/406 - 3s - loss: 0.0017 - accuracy: 0.9996 - val_loss: 0.2126 - val_accuracy: 0.9779 - 3s/epoch - 8ms/step\n",
"Epoch 45/50\n",
"406/406 - 3s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.2138 - val_accuracy: 0.9786 - 3s/epoch - 8ms/step\n",
"Epoch 46/50\n",
"406/406 - 3s - loss: 0.0020 - accuracy: 0.9996 - val_loss: 0.2061 - val_accuracy: 0.9792 - 3s/epoch - 8ms/step\n",
"Epoch 47/50\n",
"406/406 - 3s - loss: 0.0019 - accuracy: 0.9997 - val_loss: 0.2237 - val_accuracy: 0.9783 - 3s/epoch - 8ms/step\n",
"Epoch 48/50\n",
"406/406 - 3s - loss: 0.0014 - accuracy: 0.9996 - val_loss: 0.2303 - val_accuracy: 0.9790 - 3s/epoch - 8ms/step\n",
"Epoch 49/50\n",
"406/406 - 3s - loss: 0.0017 - accuracy: 0.9997 - val_loss: 0.2354 - val_accuracy: 0.9786 - 3s/epoch - 8ms/step\n",
"Epoch 50/50\n",
"406/406 - 3s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2598 - val_accuracy: 0.9786 - 3s/epoch - 8ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"LSTM = Sequential()\n",
"LSTM.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"#model.add(Dropout(0.4))\n",
"LSTM.add(layers.LSTM(100, return_sequences=True))\n",
"LSTM.add(layers.LSTM(64))\n",
"LSTM.add(Dropout(0.5))\n",
"LSTM.add(Dense(32,activation='relu'))\n",
"LSTM.add(Dense(3, activation='softmax'))\n",
"LSTM.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"LSTM.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"LSTMP=LSTM.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"LSTMP"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "e0495893",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "e0495893",
"outputId": "98891050-4330-47e7-fccc-b3b0e2831058"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 1s 3ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.94 0.95 0.95 954\n",
" 1 0.99 0.98 0.99 3314\n",
" 2 0.97 0.98 0.98 2216\n",
"\n",
" accuracy 0.98 6484\n",
" macro avg 0.97 0.97 0.97 6484\n",
"weighted avg 0.98 0.98 0.98 6484\n",
"\n",
"[[ 904 10 40]\n",
" [ 22 3264 28]\n",
" [ 32 7 2177]]\n",
"Accuracy: 0.978563\n",
"Precision: 0.978706\n",
"Recall: 0.978563\n",
"F1 score: 0.978607\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =LSTM.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "bec4ccf0",
"metadata": {
"id": "bec4ccf0"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 13,
"id": "c998bd21",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "c998bd21",
"outputId": "bd07d2ad-ea00-4749-8d1d-7bac44783706"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 16153, 'Positive': 11532, 'Negative': 4735})\n",
"Model: \"sequential_4\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_4 (Embedding) (None, 35, 100) 500000 \n",
" \n",
" conv1d (Conv1D) (None, 32, 128) 51328 \n",
" \n",
" max_pooling1d (MaxPooling1D (None, 8, 128) 0 \n",
" ) \n",
" \n",
" flatten (Flatten) (None, 1024) 0 \n",
" \n",
" dense_8 (Dense) (None, 16) 16400 \n",
" \n",
" dense_9 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 567,779\n",
"Trainable params: 567,779\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 6s - loss: 0.4170 - accuracy: 0.8325 - val_loss: 0.1092 - val_accuracy: 0.9715 - 6s/epoch - 15ms/step\n",
"Epoch 2/50\n",
"406/406 - 1s - loss: 0.0730 - accuracy: 0.9830 - val_loss: 0.0761 - val_accuracy: 0.9773 - 1s/epoch - 3ms/step\n",
"Epoch 3/50\n",
"406/406 - 1s - loss: 0.0381 - accuracy: 0.9919 - val_loss: 0.0825 - val_accuracy: 0.9767 - 1s/epoch - 3ms/step\n",
"Epoch 4/50\n",
"406/406 - 1s - loss: 0.0239 - accuracy: 0.9938 - val_loss: 0.0881 - val_accuracy: 0.9773 - 1s/epoch - 3ms/step\n",
"Epoch 5/50\n",
"406/406 - 1s - loss: 0.0166 - accuracy: 0.9957 - val_loss: 0.0976 - val_accuracy: 0.9766 - 1s/epoch - 3ms/step\n",
"Epoch 6/50\n",
"406/406 - 1s - loss: 0.0101 - accuracy: 0.9979 - val_loss: 0.1070 - val_accuracy: 0.9770 - 1s/epoch - 3ms/step\n",
"Epoch 7/50\n",
"406/406 - 1s - loss: 0.0066 - accuracy: 0.9986 - val_loss: 0.1184 - val_accuracy: 0.9759 - 1s/epoch - 3ms/step\n",
"Epoch 8/50\n",
"406/406 - 1s - loss: 0.0044 - accuracy: 0.9992 - val_loss: 0.1241 - val_accuracy: 0.9773 - 1s/epoch - 3ms/step\n",
"Epoch 9/50\n",
"406/406 - 1s - loss: 0.0035 - accuracy: 0.9993 - val_loss: 0.1406 - val_accuracy: 0.9749 - 1s/epoch - 3ms/step\n",
"Epoch 10/50\n",
"406/406 - 1s - loss: 0.0029 - accuracy: 0.9995 - val_loss: 0.1444 - val_accuracy: 0.9772 - 1s/epoch - 3ms/step\n",
"Epoch 11/50\n",
"406/406 - 1s - loss: 0.0027 - accuracy: 0.9994 - val_loss: 0.1500 - val_accuracy: 0.9741 - 1s/epoch - 3ms/step\n",
"Epoch 12/50\n",
"406/406 - 1s - loss: 0.0032 - accuracy: 0.9991 - val_loss: 0.1628 - val_accuracy: 0.9758 - 1s/epoch - 3ms/step\n",
"Epoch 13/50\n",
"406/406 - 1s - loss: 0.0126 - accuracy: 0.9961 - val_loss: 0.1599 - val_accuracy: 0.9724 - 1s/epoch - 3ms/step\n",
"Epoch 14/50\n",
"406/406 - 1s - loss: 0.0092 - accuracy: 0.9969 - val_loss: 0.1569 - val_accuracy: 0.9753 - 1s/epoch - 3ms/step\n",
"Epoch 15/50\n",
"406/406 - 1s - loss: 0.0025 - accuracy: 0.9994 - val_loss: 0.1566 - val_accuracy: 0.9772 - 1s/epoch - 3ms/step\n",
"Epoch 16/50\n",
"406/406 - 1s - loss: 0.0018 - accuracy: 0.9997 - val_loss: 0.1559 - val_accuracy: 0.9789 - 1s/epoch - 3ms/step\n",
"Epoch 17/50\n",
"406/406 - 1s - loss: 0.0017 - accuracy: 0.9997 - val_loss: 0.1556 - val_accuracy: 0.9793 - 1s/epoch - 3ms/step\n",
"Epoch 18/50\n",
"406/406 - 1s - loss: 0.0017 - accuracy: 0.9997 - val_loss: 0.1731 - val_accuracy: 0.9744 - 1s/epoch - 3ms/step\n",
"Epoch 19/50\n",
"406/406 - 1s - loss: 0.0022 - accuracy: 0.9995 - val_loss: 0.1572 - val_accuracy: 0.9781 - 1s/epoch - 3ms/step\n",
"Epoch 20/50\n",
"406/406 - 1s - loss: 0.0017 - accuracy: 0.9997 - val_loss: 0.1617 - val_accuracy: 0.9789 - 1s/epoch - 3ms/step\n",
"Epoch 21/50\n",
"406/406 - 1s - loss: 0.0017 - accuracy: 0.9997 - val_loss: 0.1672 - val_accuracy: 0.9787 - 1s/epoch - 3ms/step\n",
"Epoch 22/50\n",
"406/406 - 1s - loss: 0.0016 - accuracy: 0.9997 - val_loss: 0.1665 - val_accuracy: 0.9772 - 1s/epoch - 3ms/step\n",
"Epoch 23/50\n",
"406/406 - 1s - loss: 0.0016 - accuracy: 0.9997 - val_loss: 0.1744 - val_accuracy: 0.9770 - 1s/epoch - 3ms/step\n",
"Epoch 24/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.1710 - val_accuracy: 0.9784 - 1s/epoch - 3ms/step\n",
"Epoch 25/50\n",
"406/406 - 1s - loss: 0.0016 - accuracy: 0.9997 - val_loss: 0.1710 - val_accuracy: 0.9787 - 1s/epoch - 3ms/step\n",
"Epoch 26/50\n",
"406/406 - 1s - loss: 0.0055 - accuracy: 0.9988 - val_loss: 0.2145 - val_accuracy: 0.9730 - 1s/epoch - 3ms/step\n",
"Epoch 27/50\n",
"406/406 - 1s - loss: 0.0198 - accuracy: 0.9955 - val_loss: 0.1941 - val_accuracy: 0.9724 - 1s/epoch - 3ms/step\n",
"Epoch 28/50\n",
"406/406 - 1s - loss: 0.0029 - accuracy: 0.9993 - val_loss: 0.1954 - val_accuracy: 0.9727 - 1s/epoch - 3ms/step\n",
"Epoch 29/50\n",
"406/406 - 1s - loss: 0.0018 - accuracy: 0.9996 - val_loss: 0.2050 - val_accuracy: 0.9741 - 1s/epoch - 3ms/step\n",
"Epoch 30/50\n",
"406/406 - 1s - loss: 0.0017 - accuracy: 0.9996 - val_loss: 0.1883 - val_accuracy: 0.9736 - 1s/epoch - 3ms/step\n",
"Epoch 31/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.1926 - val_accuracy: 0.9742 - 1s/epoch - 3ms/step\n",
"Epoch 32/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.1930 - val_accuracy: 0.9747 - 1s/epoch - 3ms/step\n",
"Epoch 33/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.1962 - val_accuracy: 0.9744 - 1s/epoch - 3ms/step\n",
"Epoch 34/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.1988 - val_accuracy: 0.9744 - 1s/epoch - 3ms/step\n",
"Epoch 35/50\n",
"406/406 - 1s - loss: 0.0016 - accuracy: 0.9997 - val_loss: 0.1943 - val_accuracy: 0.9742 - 1s/epoch - 3ms/step\n",
"Epoch 36/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.1978 - val_accuracy: 0.9741 - 1s/epoch - 3ms/step\n",
"Epoch 37/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.1978 - val_accuracy: 0.9747 - 1s/epoch - 3ms/step\n",
"Epoch 38/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2045 - val_accuracy: 0.9750 - 1s/epoch - 3ms/step\n",
"Epoch 39/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2052 - val_accuracy: 0.9752 - 1s/epoch - 3ms/step\n",
"Epoch 40/50\n",
"406/406 - 1s - loss: 0.0013 - accuracy: 0.9997 - val_loss: 0.2075 - val_accuracy: 0.9752 - 1s/epoch - 3ms/step\n",
"Epoch 41/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.2156 - val_accuracy: 0.9750 - 1s/epoch - 3ms/step\n",
"Epoch 42/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2093 - val_accuracy: 0.9746 - 1s/epoch - 3ms/step\n",
"Epoch 43/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2201 - val_accuracy: 0.9744 - 1s/epoch - 3ms/step\n",
"Epoch 44/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9996 - val_loss: 0.2217 - val_accuracy: 0.9756 - 1s/epoch - 4ms/step\n",
"Epoch 45/50\n",
"406/406 - 1s - loss: 0.0089 - accuracy: 0.9977 - val_loss: 0.2742 - val_accuracy: 0.9685 - 1s/epoch - 3ms/step\n",
"Epoch 46/50\n",
"406/406 - 1s - loss: 0.0074 - accuracy: 0.9980 - val_loss: 0.2322 - val_accuracy: 0.9725 - 1s/epoch - 3ms/step\n",
"Epoch 47/50\n",
"406/406 - 1s - loss: 0.0029 - accuracy: 0.9994 - val_loss: 0.2328 - val_accuracy: 0.9733 - 1s/epoch - 3ms/step\n",
"Epoch 48/50\n",
"406/406 - 1s - loss: 0.0015 - accuracy: 0.9997 - val_loss: 0.2356 - val_accuracy: 0.9719 - 1s/epoch - 3ms/step\n",
"Epoch 49/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2365 - val_accuracy: 0.9730 - 1s/epoch - 3ms/step\n",
"Epoch 50/50\n",
"406/406 - 1s - loss: 0.0014 - accuracy: 0.9997 - val_loss: 0.2379 - val_accuracy: 0.9732 - 1s/epoch - 3ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model_conv = Sequential()\n",
"model_conv.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"model_conv.add(Conv1D(128, 4, activation='relu'))\n",
"model_conv.add(MaxPooling1D(pool_size=4))\n",
"model_conv.add(Flatten())\n",
"model_conv.add(Dense(16,activation='relu'))\n",
"model_conv.add(Dense(3, activation='softmax'))\n",
"model_conv.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model_conv.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"model_convP=model_conv.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"model_convP"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "Yzdjajy7z8bj",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Yzdjajy7z8bj",
"outputId": "2128dcac-ff73-4cd6-96bf-c26ebebcda64"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 0s 1ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.92 0.93 0.93 959\n",
" 1 0.99 0.99 0.99 3272\n",
" 2 0.97 0.97 0.97 2253\n",
"\n",
" accuracy 0.97 6484\n",
" macro avg 0.96 0.96 0.96 6484\n",
"weighted avg 0.97 0.97 0.97 6484\n",
"\n",
"[[ 895 25 39]\n",
" [ 17 3234 21]\n",
" [ 63 9 2181]]\n",
"Accuracy: 0.973165\n",
"Precision: 0.973311\n",
"Recall: 0.973165\n",
"F1 score: 0.973226\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model_conv.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "Y_DFkdVAu26P",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 458
},
"id": "Y_DFkdVAu26P",
"outputId": "014194af-fb86-492f-f02d-3a78f61d5e5a"
},
"outputs": [
{
"data": {
"image/png": "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cuzYMX766SeaN29OREQECxYs4MMPP6RLly5cvHiRVatWERYWZtGICgsLY/369Xh7e9OyZUtOnDjBzp07GT9+PDKZDC8vL7y8vLhw4YJT4/znP//JV199xQcffMDatWuL7D958mR69uzJgQMHaN26dZH9JRIJ06dPJywsDID69etbbddqtfz8889Ffm4EAkHJ4O3tbcl+zcvZs2cZMGCA098hTzsqtZycLC0eSncySkLoXOus+57Csp8rmcDPGufOnePs2bNlPQwLzZo1s2hwusLjdD5OTk522vn4lyXL8KpTF8XfehTqfHzt9BkbbbSycj7OS0pKCps3b2bYsGFERkZa2n19fenZsycbNmwgOjqa48ePo9frmTJliiXw06ZNGxo2bGgpfzt8+DA+Pj4WF2QwOQhv2bKFzMxMPD09OXLkCICNmY+j9OvXj507d7J7926Sk5MJCQmhdevWBAcHExAQ4FKgKz99+vRhypQp/P7775b7f+TIEW7fvk2vXr1YtmyZzT5KpZKWLVty9OjRYp9fIHAWhz71mZmZqAsR0q5UqZJD2RPPMnKJ6f4YH8UB9RJdsUTOIU9QKreIoJReDwaDwyt6TzruchUZmkzkUjlV1ZXLejhPLf379yctLY3q1avTvn17S/sbb7zB66+/ztatWxk5ciR79+61rGjVr1+fuXPncubMmSKPP2nSJAYNGsSWLVsYPXo0Bw4cYOHChXh4eFj6NG/enPfff59ff/2VESNGEB8fT1RUFOPGjePll19my5YtbN68GbVaTVRUFCkpKUyePNluxk/FihVZv349TZs2Zfbs2YwYMYLt27cTHR3N1KlTS+am5UOlUhEXF4enpyfjxo1j+vTpNGvWjEmTJjFy5EguXrzI3LlzARg1ahTTpk3jwIEDhIeHs3TpUkaOHMl7771nOd6MGTMYO3Ys//3vfwkPDycxMZH33nvPahLbpk0bTp06Vaj2VH5q167NG2+8wfHjx/n6668d6j9q1CinhN/9/f3p16+f3X1++OEHsrKyCrWqFwgEgtJCpVaQk20KSpVMppSzmlKOyy0IyiePw/n4+vXrZGRkOO18rM/OQaZWF+l8LFOrMeqsn/fKyvk4L9999x1Go5FXX33Vqr1hw4bUrVvXkgVVrVo1ABYuXGiVMTp8+HCLuUv16tW5cuUKCQkJFifTatWqMWrUKIsM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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#OVERALL\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set(rc={'figure.figsize':(10,6)})\n",
"sns.set(font_scale=1.6)\n",
"plt.style.use('seaborn-white')\n",
"fig, axes = plt.subplots(1, 2, figsize=(20,7))\n",
"axes[0].plot(GRUP.history['accuracy'])\n",
"axes[0].plot(GRUP.history['val_accuracy'])\n",
"axes[0].plot(SimpleRNNP.history['accuracy'])\n",
"axes[0].plot(SimpleRNNP.history['val_accuracy'])\n",
"axes[0].plot(BidirectionalP.history['accuracy'])\n",
"axes[0].plot(BidirectionalP.history['val_accuracy'])\n",
"axes[0].plot(LSTMP.history['accuracy'])\n",
"axes[0].plot(LSTMP.history['val_accuracy'])\n",
"axes[0].plot(model_convP.history['accuracy'])\n",
"axes[0].plot(model_convP.history['val_accuracy'])\n",
"axes[0].set_xlabel('Epochs')\n",
"axes[0].set_ylabel('Accuracy')\n",
"axes[0].legend(['Training_acc(GRU)','Validation_acc(GRU)','Training_acc(RNN)',\n",
" 'Validation_acc(RNN)','Training_acc(BiLSTM)','Validation_acc(BiLSTM)','Training_acc(LSTM)',\n",
" 'Validation_acc(LSTM)','Training_acc(CNN)',\n",
" 'Validation_acc(CNN)'])\n",
"axes[0].grid(True)\n",
"\n",
"axes[1].plot(GRUP.history['loss'])\n",
"axes[1].plot(GRUP.history['val_loss'])\n",
"axes[1].plot(SimpleRNNP.history['loss'])\n",
"axes[1].plot(SimpleRNNP.history['val_loss'])\n",
"axes[1].plot(BidirectionalP.history['loss'])\n",
"axes[1].plot(BidirectionalP.history['val_loss'])\n",
"axes[1].plot(LSTMP.history['loss'])\n",
"axes[1].plot(LSTMP.history['val_loss'])\n",
"axes[1].plot(model_convP.history['loss'])\n",
"axes[1].plot(model_convP.history['val_loss'])\n",
"axes[1].set_xlabel('Epochs')\n",
"axes[1].set_ylabel('Loss')\n",
"axes[1].legend(['Training_loss(GRU)','Validation_loss(GRU)','Training_loss(RNN)','Validation_loss(RNN)'\n",
",'Training_loss(BiLSTM)','Validation_loss(BiLSTM)','Training_loss(LSTM)',\n",
" 'Validation_loss(LSTM)','Training_loss(CNN)',\n",
" 'Validation_loss(CNN)'])\n",
"axes[1].grid(True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "uqfMQrqUu3DQ",
"metadata": {
"id": "uqfMQrqUu3DQ"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "j4XCbZc5u3Ms",
"metadata": {
"id": "j4XCbZc5u3Ms"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 17,
"id": "b_dJj5HWz8jO",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 156
},
"id": "b_dJj5HWz8jO",
"outputId": "0da8e030-ccfa-4ec0-b55f-c0296d0a452a"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Unnamed: 0.1 | \n",
" Date | \n",
" User | \n",
" Location | \n",
" Tweets | \n",
" Subjectivity | \n",
" Polarity | \n",
" Sentiment | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 0.0 | \n",
" 2022-10-30 23:48:29+00:00 | \n",
" wwsounder | \n",
" NaN | \n",
" if a Batman movie was made in 2022 he would ge... | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" Neutral | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 1.0 | \n",
" 2022-10-30 23:00:47+00:00 | \n",
" GhostlyOwl | \n",
" British Columbia | \n",
" I will go anywhere provided it be forward. ~ D... | \n",
" 0.411111 | \n",
" 0.427083 | \n",
" Positive | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"\n",
" \n",
"
\n",
"
\n",
" "
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 Date User \\\n",
"0 0 0.0 2022-10-30 23:48:29+00:00 wwsounder \n",
"1 1 1.0 2022-10-30 23:00:47+00:00 GhostlyOwl \n",
"\n",
" Location Tweets \\\n",
"0 NaN if a Batman movie was made in 2022 he would ge... \n",
"1 British Columbia I will go anywhere provided it be forward. ~ D... \n",
"\n",
" Subjectivity Polarity Sentiment \n",
"0 0.000000 0.000000 Neutral \n",
"1 0.411111 0.427083 Positive "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data=pd.read_csv(\"/content/drive/My Drive/smartphone_withoutpreprocessed_sentiments.csv\");\n",
"data.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "5bab3704",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "5bab3704",
"outputId": "f9ec4fc2-5efb-42d9-bcd8-dd1fc30d518d"
},
"outputs": [
{
"metadata": {
"tags": null
},
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Positive': 14746, 'Neutral': 11908, 'Negative': 5766})\n",
"Model: \"sequential_5\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_5 (Embedding) (None, 70, 100) 500000 \n",
" \n",
" gru_1 (GRU) (None, 128) 88320 \n",
" \n",
" dropout_5 (Dropout) (None, 128) 0 \n",
" \n",
" dense_10 (Dense) (None, 32) 4128 \n",
" \n",
" dense_11 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 592,547\n",
"Trainable params: 592,547\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 5s - loss: 0.6577 - accuracy: 0.7129 - val_loss: 0.3804 - val_accuracy: 0.8783 - 5s/epoch - 12ms/step\n",
"Epoch 2/50\n",
"406/406 - 3s - loss: 0.3163 - accuracy: 0.9019 - val_loss: 0.3406 - val_accuracy: 0.8910 - 3s/epoch - 7ms/step\n",
"Epoch 3/50\n",
"406/406 - 3s - loss: 0.2640 - accuracy: 0.9187 - val_loss: 0.3382 - val_accuracy: 0.8948 - 3s/epoch - 7ms/step\n",
"Epoch 4/50\n",
"406/406 - 3s - loss: 0.2321 - accuracy: 0.9276 - val_loss: 0.3547 - val_accuracy: 0.8920 - 3s/epoch - 7ms/step\n",
"Epoch 5/50\n",
"406/406 - 3s - loss: 0.2033 - accuracy: 0.9369 - val_loss: 0.3617 - val_accuracy: 0.8927 - 3s/epoch - 7ms/step\n",
"Epoch 6/50\n",
"406/406 - 3s - loss: 0.1773 - accuracy: 0.9452 - val_loss: 0.3963 - val_accuracy: 0.8914 - 3s/epoch - 7ms/step\n",
"Epoch 7/50\n",
"406/406 - 3s - loss: 0.1516 - accuracy: 0.9526 - val_loss: 0.4051 - val_accuracy: 0.8899 - 3s/epoch - 7ms/step\n",
"Epoch 8/50\n",
"406/406 - 3s - loss: 0.1317 - accuracy: 0.9586 - val_loss: 0.4402 - val_accuracy: 0.8899 - 3s/epoch - 8ms/step\n",
"Epoch 9/50\n",
"406/406 - 4s - loss: 0.1156 - accuracy: 0.9623 - val_loss: 0.5027 - val_accuracy: 0.8758 - 4s/epoch - 9ms/step\n",
"Epoch 10/50\n",
"406/406 - 3s - loss: 0.1008 - accuracy: 0.9676 - val_loss: 0.5421 - val_accuracy: 0.8777 - 3s/epoch - 8ms/step\n",
"Epoch 11/50\n",
"406/406 - 3s - loss: 0.0865 - accuracy: 0.9723 - val_loss: 0.5960 - val_accuracy: 0.8768 - 3s/epoch - 7ms/step\n",
"Epoch 12/50\n",
"406/406 - 3s - loss: 0.0778 - accuracy: 0.9743 - val_loss: 0.6253 - val_accuracy: 0.8715 - 3s/epoch - 7ms/step\n",
"Epoch 13/50\n",
"406/406 - 3s - loss: 0.0702 - accuracy: 0.9768 - val_loss: 0.6728 - val_accuracy: 0.8666 - 3s/epoch - 8ms/step\n",
"Epoch 14/50\n",
"406/406 - 3s - loss: 0.0626 - accuracy: 0.9792 - val_loss: 0.6770 - val_accuracy: 0.8811 - 3s/epoch - 9ms/step\n",
"Epoch 15/50\n",
"406/406 - 4s - loss: 0.0563 - accuracy: 0.9812 - val_loss: 0.7278 - val_accuracy: 0.8809 - 4s/epoch - 9ms/step\n",
"Epoch 16/50\n",
"406/406 - 4s - loss: 0.0507 - accuracy: 0.9824 - val_loss: 0.7665 - val_accuracy: 0.8717 - 4s/epoch - 9ms/step\n",
"Epoch 17/50\n",
"406/406 - 3s - loss: 0.0467 - accuracy: 0.9838 - val_loss: 0.7637 - val_accuracy: 0.8775 - 3s/epoch - 8ms/step\n",
"Epoch 18/50\n",
"406/406 - 3s - loss: 0.0477 - accuracy: 0.9836 - val_loss: 0.7453 - val_accuracy: 0.8768 - 3s/epoch - 7ms/step\n",
"Epoch 19/50\n",
"406/406 - 3s - loss: 0.0382 - accuracy: 0.9864 - val_loss: 0.7770 - val_accuracy: 0.8743 - 3s/epoch - 8ms/step\n",
"Epoch 20/50\n",
"406/406 - 3s - loss: 0.0359 - accuracy: 0.9872 - val_loss: 0.8533 - val_accuracy: 0.8754 - 3s/epoch - 8ms/step\n",
"Epoch 21/50\n",
"406/406 - 3s - loss: 0.0329 - accuracy: 0.9882 - val_loss: 0.8839 - val_accuracy: 0.8740 - 3s/epoch - 8ms/step\n",
"Epoch 22/50\n",
"406/406 - 3s - loss: 0.0310 - accuracy: 0.9892 - val_loss: 0.8757 - val_accuracy: 0.8789 - 3s/epoch - 7ms/step\n",
"Epoch 23/50\n",
"406/406 - 3s - loss: 0.0344 - accuracy: 0.9879 - val_loss: 0.8776 - val_accuracy: 0.8786 - 3s/epoch - 7ms/step\n",
"Epoch 24/50\n",
"406/406 - 3s - loss: 0.0283 - accuracy: 0.9905 - val_loss: 0.9957 - val_accuracy: 0.8729 - 3s/epoch - 8ms/step\n",
"Epoch 25/50\n",
"406/406 - 3s - loss: 0.0242 - accuracy: 0.9912 - val_loss: 0.9864 - val_accuracy: 0.8791 - 3s/epoch - 7ms/step\n",
"Epoch 26/50\n",
"406/406 - 3s - loss: 0.0274 - accuracy: 0.9897 - val_loss: 0.9508 - val_accuracy: 0.8769 - 3s/epoch - 7ms/step\n",
"Epoch 27/50\n",
"406/406 - 3s - loss: 0.0240 - accuracy: 0.9919 - val_loss: 1.0454 - val_accuracy: 0.8768 - 3s/epoch - 7ms/step\n",
"Epoch 28/50\n",
"406/406 - 3s - loss: 0.0265 - accuracy: 0.9908 - val_loss: 1.0077 - val_accuracy: 0.8820 - 3s/epoch - 7ms/step\n",
"Epoch 29/50\n",
"406/406 - 3s - loss: 0.0234 - accuracy: 0.9919 - val_loss: 0.9957 - val_accuracy: 0.8638 - 3s/epoch - 8ms/step\n",
"Epoch 30/50\n",
"406/406 - 3s - loss: 0.0211 - accuracy: 0.9924 - val_loss: 1.0448 - val_accuracy: 0.8831 - 3s/epoch - 8ms/step\n",
"Epoch 31/50\n",
"406/406 - 3s - loss: 0.0186 - accuracy: 0.9936 - val_loss: 1.1108 - val_accuracy: 0.8833 - 3s/epoch - 7ms/step\n",
"Epoch 32/50\n",
"406/406 - 3s - loss: 0.0219 - accuracy: 0.9926 - val_loss: 1.1177 - val_accuracy: 0.8797 - 3s/epoch - 7ms/step\n",
"Epoch 33/50\n",
"406/406 - 3s - loss: 0.0234 - accuracy: 0.9917 - val_loss: 1.0711 - val_accuracy: 0.8779 - 3s/epoch - 7ms/step\n",
"Epoch 34/50\n",
"406/406 - 3s - loss: 0.0211 - accuracy: 0.9925 - val_loss: 1.0753 - val_accuracy: 0.8695 - 3s/epoch - 7ms/step\n",
"Epoch 35/50\n",
"406/406 - 3s - loss: 0.0203 - accuracy: 0.9927 - val_loss: 1.0849 - val_accuracy: 0.8760 - 3s/epoch - 7ms/step\n",
"Epoch 36/50\n",
"406/406 - 3s - loss: 0.0218 - accuracy: 0.9927 - val_loss: 1.0176 - val_accuracy: 0.8758 - 3s/epoch - 7ms/step\n",
"Epoch 37/50\n",
"406/406 - 3s - loss: 0.0171 - accuracy: 0.9938 - val_loss: 1.1528 - val_accuracy: 0.8678 - 3s/epoch - 7ms/step\n",
"Epoch 38/50\n",
"406/406 - 3s - loss: 0.0153 - accuracy: 0.9946 - val_loss: 1.1271 - val_accuracy: 0.8758 - 3s/epoch - 7ms/step\n",
"Epoch 39/50\n",
"406/406 - 4s - loss: 0.0160 - accuracy: 0.9946 - val_loss: 1.2135 - val_accuracy: 0.8758 - 4s/epoch - 9ms/step\n",
"Epoch 40/50\n",
"406/406 - 3s - loss: 0.0189 - accuracy: 0.9931 - val_loss: 1.0716 - val_accuracy: 0.8688 - 3s/epoch - 7ms/step\n",
"Epoch 41/50\n",
"406/406 - 3s - loss: 0.0185 - accuracy: 0.9934 - val_loss: 1.1612 - val_accuracy: 0.8703 - 3s/epoch - 7ms/step\n",
"Epoch 42/50\n",
"406/406 - 4s - loss: 0.0155 - accuracy: 0.9944 - val_loss: 1.1736 - val_accuracy: 0.8734 - 4s/epoch - 9ms/step\n",
"Epoch 43/50\n",
"406/406 - 3s - loss: 0.0128 - accuracy: 0.9955 - val_loss: 1.2103 - val_accuracy: 0.8757 - 3s/epoch - 8ms/step\n",
"Epoch 44/50\n",
"406/406 - 3s - loss: 0.0133 - accuracy: 0.9953 - val_loss: 1.2859 - val_accuracy: 0.8624 - 3s/epoch - 7ms/step\n",
"Epoch 45/50\n",
"406/406 - 3s - loss: 0.0193 - accuracy: 0.9936 - val_loss: 1.1524 - val_accuracy: 0.8667 - 3s/epoch - 7ms/step\n",
"Epoch 46/50\n",
"406/406 - 3s - loss: 0.0155 - accuracy: 0.9947 - val_loss: 1.1731 - val_accuracy: 0.8734 - 3s/epoch - 7ms/step\n",
"Epoch 47/50\n",
"406/406 - 3s - loss: 0.0141 - accuracy: 0.9951 - val_loss: 1.2168 - val_accuracy: 0.8721 - 3s/epoch - 7ms/step\n",
"Epoch 48/50\n",
"406/406 - 3s - loss: 0.0143 - accuracy: 0.9951 - val_loss: 1.2125 - val_accuracy: 0.8712 - 3s/epoch - 7ms/step\n",
"Epoch 49/50\n",
"406/406 - 3s - loss: 0.0145 - accuracy: 0.9949 - val_loss: 1.1283 - val_accuracy: 0.8726 - 3s/epoch - 7ms/step\n",
"Epoch 50/50\n",
"406/406 - 3s - loss: 0.0154 - accuracy: 0.9949 - val_loss: 1.1357 - val_accuracy: 0.8762 - 3s/epoch - 7ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Tweets\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Tweets\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"GRU = Sequential()\n",
"GRU.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"GRU.add(layers.GRU(128))\n",
"GRU.add(Dropout(0.5))\n",
"GRU.add(Dense(32, activation='relu'))\n",
"GRU.add(Dense(3, activation='softmax'))\n",
"GRU.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"GRU.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"GRUP=GRU.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"GRUP"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "vk7k5Hc3tlwG",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vk7k5Hc3tlwG",
"outputId": "9f369afd-7525-4d39-ae58-b0a0e35fb0b6"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 1s 3ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.79 0.76 0.77 1155\n",
" 1 0.89 0.88 0.89 2332\n",
" 2 0.90 0.91 0.90 2997\n",
"\n",
" accuracy 0.88 6484\n",
" macro avg 0.86 0.85 0.86 6484\n",
"weighted avg 0.88 0.88 0.88 6484\n",
"\n",
"[[ 880 103 172]\n",
" [ 123 2062 147]\n",
" [ 118 140 2739]]\n",
"Accuracy: 0.876157\n",
"Precision: 0.875572\n",
"Recall: 0.876157\n",
"F1 score: 0.875780\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =GRU.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "C-eMOZRG2Ycc",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "C-eMOZRG2Ycc",
"outputId": "6b5de55b-3dc0-4e75-9173-f11bb06e555f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Positive': 14746, 'Neutral': 11908, 'Negative': 5766})\n",
"Model: \"sequential_6\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_6 (Embedding) (None, 70, 100) 500000 \n",
" \n",
" simple_rnn_1 (SimpleRNN) (None, 128) 29312 \n",
" \n",
" dropout_6 (Dropout) (None, 128) 0 \n",
" \n",
" dense_12 (Dense) (None, 32) 4128 \n",
" \n",
" dense_13 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 533,539\n",
"Trainable params: 533,539\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 31s - loss: 0.8274 - accuracy: 0.6226 - val_loss: 0.6602 - val_accuracy: 0.7304 - 31s/epoch - 77ms/step\n",
"Epoch 2/50\n",
"406/406 - 21s - loss: 0.4621 - accuracy: 0.8283 - val_loss: 0.5922 - val_accuracy: 0.7662 - 21s/epoch - 52ms/step\n",
"Epoch 3/50\n",
"406/406 - 21s - loss: 0.3544 - accuracy: 0.8736 - val_loss: 0.5233 - val_accuracy: 0.8154 - 21s/epoch - 52ms/step\n",
"Epoch 4/50\n",
"406/406 - 21s - loss: 0.2377 - accuracy: 0.9185 - val_loss: 0.6502 - val_accuracy: 0.8154 - 21s/epoch - 52ms/step\n",
"Epoch 5/50\n",
"406/406 - 24s - loss: 0.2362 - accuracy: 0.9193 - val_loss: 0.6673 - val_accuracy: 0.7738 - 24s/epoch - 58ms/step\n",
"Epoch 6/50\n",
"406/406 - 24s - loss: 0.2368 - accuracy: 0.9173 - val_loss: 0.6098 - val_accuracy: 0.8237 - 24s/epoch - 60ms/step\n",
"Epoch 7/50\n",
"406/406 - 25s - loss: 0.1333 - accuracy: 0.9561 - val_loss: 0.7018 - val_accuracy: 0.8151 - 25s/epoch - 62ms/step\n",
"Epoch 8/50\n",
"406/406 - 23s - loss: 0.1340 - accuracy: 0.9546 - val_loss: 0.7365 - val_accuracy: 0.7879 - 23s/epoch - 56ms/step\n",
"Epoch 9/50\n",
"406/406 - 23s - loss: 0.1783 - accuracy: 0.9382 - val_loss: 0.7706 - val_accuracy: 0.7912 - 23s/epoch - 56ms/step\n",
"Epoch 10/50\n",
"406/406 - 25s - loss: 0.0849 - accuracy: 0.9726 - val_loss: 0.8439 - val_accuracy: 0.8046 - 25s/epoch - 62ms/step\n",
"Epoch 11/50\n",
"406/406 - 24s - loss: 0.0698 - accuracy: 0.9790 - val_loss: 0.9416 - val_accuracy: 0.7961 - 24s/epoch - 59ms/step\n",
"Epoch 12/50\n",
"406/406 - 24s - loss: 0.1473 - accuracy: 0.9527 - val_loss: 0.8088 - val_accuracy: 0.8163 - 24s/epoch - 59ms/step\n",
"Epoch 13/50\n",
"406/406 - 21s - loss: 0.0682 - accuracy: 0.9785 - val_loss: 0.8918 - val_accuracy: 0.8114 - 21s/epoch - 51ms/step\n",
"Epoch 14/50\n",
"406/406 - 24s - loss: 0.0599 - accuracy: 0.9818 - val_loss: 0.9075 - val_accuracy: 0.8179 - 24s/epoch - 58ms/step\n",
"Epoch 15/50\n",
"406/406 - 23s - loss: 0.0992 - accuracy: 0.9685 - val_loss: 0.8418 - val_accuracy: 0.8200 - 23s/epoch - 57ms/step\n",
"Epoch 16/50\n",
"406/406 - 22s - loss: 0.0542 - accuracy: 0.9828 - val_loss: 0.9671 - val_accuracy: 0.8035 - 22s/epoch - 55ms/step\n",
"Epoch 17/50\n",
"406/406 - 21s - loss: 0.0864 - accuracy: 0.9734 - val_loss: 0.9769 - val_accuracy: 0.8034 - 21s/epoch - 51ms/step\n",
"Epoch 18/50\n",
"406/406 - 21s - loss: 0.0594 - accuracy: 0.9819 - val_loss: 1.0264 - val_accuracy: 0.7995 - 21s/epoch - 53ms/step\n",
"Epoch 19/50\n",
"406/406 - 21s - loss: 0.0999 - accuracy: 0.9686 - val_loss: 0.9040 - val_accuracy: 0.8017 - 21s/epoch - 51ms/step\n",
"Epoch 20/50\n",
"406/406 - 21s - loss: 0.0732 - accuracy: 0.9778 - val_loss: 1.0295 - val_accuracy: 0.7364 - 21s/epoch - 51ms/step\n",
"Epoch 21/50\n",
"406/406 - 21s - loss: 0.1498 - accuracy: 0.9516 - val_loss: 0.6978 - val_accuracy: 0.8234 - 21s/epoch - 51ms/step\n",
"Epoch 22/50\n",
"406/406 - 20s - loss: 0.2009 - accuracy: 0.9280 - val_loss: 0.6900 - val_accuracy: 0.8160 - 20s/epoch - 50ms/step\n",
"Epoch 23/50\n",
"406/406 - 21s - loss: 0.2157 - accuracy: 0.9198 - val_loss: 1.0109 - val_accuracy: 0.6393 - 21s/epoch - 51ms/step\n",
"Epoch 24/50\n",
"406/406 - 20s - loss: 0.2235 - accuracy: 0.9287 - val_loss: 0.8325 - val_accuracy: 0.7369 - 20s/epoch - 50ms/step\n",
"Epoch 25/50\n",
"406/406 - 21s - loss: 0.4633 - accuracy: 0.8334 - val_loss: 0.5402 - val_accuracy: 0.8293 - 21s/epoch - 53ms/step\n",
"Epoch 26/50\n",
"406/406 - 20s - loss: 0.1620 - accuracy: 0.9473 - val_loss: 0.7104 - val_accuracy: 0.8123 - 20s/epoch - 50ms/step\n",
"Epoch 27/50\n",
"406/406 - 21s - loss: 0.0912 - accuracy: 0.9714 - val_loss: 0.8119 - val_accuracy: 0.7975 - 21s/epoch - 51ms/step\n",
"Epoch 28/50\n",
"406/406 - 21s - loss: 0.0476 - accuracy: 0.9865 - val_loss: 0.9020 - val_accuracy: 0.8134 - 21s/epoch - 53ms/step\n",
"Epoch 29/50\n",
"406/406 - 20s - loss: 0.0619 - accuracy: 0.9807 - val_loss: 0.9299 - val_accuracy: 0.8091 - 20s/epoch - 50ms/step\n",
"Epoch 30/50\n",
"406/406 - 20s - loss: 0.0366 - accuracy: 0.9890 - val_loss: 0.9960 - val_accuracy: 0.8032 - 20s/epoch - 50ms/step\n",
"Epoch 31/50\n",
"406/406 - 20s - loss: 0.0466 - accuracy: 0.9863 - val_loss: 0.9238 - val_accuracy: 0.8125 - 20s/epoch - 50ms/step\n",
"Epoch 32/50\n",
"406/406 - 20s - loss: 0.1079 - accuracy: 0.9653 - val_loss: 0.7388 - val_accuracy: 0.7813 - 20s/epoch - 50ms/step\n",
"Epoch 33/50\n",
"406/406 - 20s - loss: 0.1570 - accuracy: 0.9473 - val_loss: 0.8453 - val_accuracy: 0.7967 - 20s/epoch - 50ms/step\n",
"Epoch 34/50\n",
"406/406 - 20s - loss: 0.0643 - accuracy: 0.9808 - val_loss: 0.8974 - val_accuracy: 0.8111 - 20s/epoch - 50ms/step\n",
"Epoch 35/50\n",
"406/406 - 20s - loss: 0.0351 - accuracy: 0.9899 - val_loss: 0.9648 - val_accuracy: 0.8078 - 20s/epoch - 50ms/step\n",
"Epoch 36/50\n",
"406/406 - 20s - loss: 0.0252 - accuracy: 0.9928 - val_loss: 1.0185 - val_accuracy: 0.8115 - 20s/epoch - 50ms/step\n",
"Epoch 37/50\n",
"406/406 - 21s - loss: 0.0273 - accuracy: 0.9921 - val_loss: 1.1128 - val_accuracy: 0.7989 - 21s/epoch - 51ms/step\n",
"Epoch 38/50\n",
"406/406 - 20s - loss: 0.0498 - accuracy: 0.9847 - val_loss: 0.9918 - val_accuracy: 0.7992 - 20s/epoch - 50ms/step\n",
"Epoch 39/50\n",
"406/406 - 21s - loss: 0.1106 - accuracy: 0.9663 - val_loss: 0.9674 - val_accuracy: 0.7776 - 21s/epoch - 51ms/step\n",
"Epoch 40/50\n",
"406/406 - 20s - loss: 0.0755 - accuracy: 0.9752 - val_loss: 0.9792 - val_accuracy: 0.7852 - 20s/epoch - 50ms/step\n",
"Epoch 41/50\n",
"406/406 - 20s - loss: 0.0662 - accuracy: 0.9801 - val_loss: 0.7773 - val_accuracy: 0.7989 - 20s/epoch - 50ms/step\n",
"Epoch 42/50\n",
"406/406 - 20s - loss: 0.0473 - accuracy: 0.9863 - val_loss: 0.9353 - val_accuracy: 0.8189 - 20s/epoch - 50ms/step\n",
"Epoch 43/50\n",
"406/406 - 20s - loss: 0.0687 - accuracy: 0.9800 - val_loss: 0.7501 - val_accuracy: 0.8162 - 20s/epoch - 50ms/step\n",
"Epoch 44/50\n",
"406/406 - 20s - loss: 0.0587 - accuracy: 0.9820 - val_loss: 0.9408 - val_accuracy: 0.8057 - 20s/epoch - 50ms/step\n",
"Epoch 45/50\n",
"406/406 - 20s - loss: 0.0265 - accuracy: 0.9923 - val_loss: 1.0390 - val_accuracy: 0.8086 - 20s/epoch - 50ms/step\n",
"Epoch 46/50\n",
"406/406 - 21s - loss: 0.0222 - accuracy: 0.9941 - val_loss: 1.1051 - val_accuracy: 0.8125 - 21s/epoch - 51ms/step\n",
"Epoch 47/50\n",
"406/406 - 20s - loss: 0.0191 - accuracy: 0.9948 - val_loss: 1.1447 - val_accuracy: 0.8117 - 20s/epoch - 50ms/step\n",
"Epoch 48/50\n",
"406/406 - 20s - loss: 0.2578 - accuracy: 0.9146 - val_loss: 0.7324 - val_accuracy: 0.7940 - 20s/epoch - 50ms/step\n",
"Epoch 49/50\n",
"406/406 - 20s - loss: 0.0777 - accuracy: 0.9765 - val_loss: 0.8805 - val_accuracy: 0.8034 - 20s/epoch - 50ms/step\n",
"Epoch 50/50\n",
"406/406 - 20s - loss: 0.1940 - accuracy: 0.9333 - val_loss: 0.9530 - val_accuracy: 0.7121 - 20s/epoch - 50ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Tweets\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Tweets\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"SimpleRNN = Sequential()\n",
"SimpleRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"SimpleRNN.add(layers.SimpleRNN(128))\n",
"SimpleRNN.add(Dropout(0.5))\n",
"SimpleRNN.add(Dense(32, activation='relu'))\n",
"SimpleRNN.add(Dense(3, activation='softmax'))\n",
"SimpleRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"SimpleRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"SimpleRNNP=SimpleRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"SimpleRNNP"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "lVKatgaztzCk",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "lVKatgaztzCk",
"outputId": "2bc9a382-f29a-4025-f65f-910a8f33339f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 1s 6ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.42 0.35 0.38 1187\n",
" 1 0.76 0.72 0.74 2364\n",
" 2 0.77 0.86 0.81 2933\n",
"\n",
" accuracy 0.71 6484\n",
" macro avg 0.65 0.64 0.64 6484\n",
"weighted avg 0.70 0.71 0.70 6484\n",
"\n",
"[[ 413 329 445]\n",
" [ 364 1693 307]\n",
" [ 217 205 2511]]\n",
"Accuracy: 0.712060\n",
"Precision: 0.701325\n",
"Recall: 0.712060\n",
"F1 score: 0.704863\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =SimpleRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "sa8JwUEf2qMt",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "sa8JwUEf2qMt",
"outputId": "c59a495f-a0c9-4dde-c754-b5860c4c308b"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Positive': 14746, 'Neutral': 11908, 'Negative': 5766})\n",
"Model: \"sequential_7\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_7 (Embedding) (None, 70, 100) 500000 \n",
" \n",
" dropout_7 (Dropout) (None, 70, 100) 0 \n",
" \n",
" bidirectional_2 (Bidirectio (None, 70, 128) 84480 \n",
" nal) \n",
" \n",
" bidirectional_3 (Bidirectio (None, 64) 41216 \n",
" nal) \n",
" \n",
" dropout_8 (Dropout) (None, 64) 0 \n",
" \n",
" dense_14 (Dense) (None, 16) 1040 \n",
" \n",
" dense_15 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 626,787\n",
"Trainable params: 626,787\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"380/380 - 14s - loss: 0.7285 - accuracy: 0.6896 - precision: 0.7526 - recall: 0.5942 - val_loss: 0.4530 - val_accuracy: 0.8394 - val_precision: 0.8498 - val_recall: 0.8249 - 14s/epoch - 36ms/step\n",
"Epoch 2/50\n",
"380/380 - 7s - loss: 0.3849 - accuracy: 0.8765 - precision: 0.8848 - recall: 0.8647 - val_loss: 0.3660 - val_accuracy: 0.8846 - val_precision: 0.8904 - val_recall: 0.8783 - 7s/epoch - 17ms/step\n",
"Epoch 3/50\n",
"380/380 - 7s - loss: 0.3080 - accuracy: 0.9070 - precision: 0.9121 - recall: 0.9008 - val_loss: 0.3470 - val_accuracy: 0.8944 - val_precision: 0.8982 - val_recall: 0.8898 - 7s/epoch - 18ms/step\n",
"Epoch 4/50\n",
"380/380 - 7s - loss: 0.2782 - accuracy: 0.9161 - precision: 0.9209 - recall: 0.9111 - val_loss: 0.3524 - val_accuracy: 0.8957 - val_precision: 0.8990 - val_recall: 0.8929 - 7s/epoch - 17ms/step\n",
"Epoch 5/50\n",
"380/380 - 7s - loss: 0.2556 - accuracy: 0.9233 - precision: 0.9280 - recall: 0.9185 - val_loss: 0.3424 - val_accuracy: 0.8933 - val_precision: 0.8974 - val_recall: 0.8890 - 7s/epoch - 17ms/step\n",
"Epoch 6/50\n",
"380/380 - 7s - loss: 0.2355 - accuracy: 0.9286 - precision: 0.9342 - recall: 0.9247 - val_loss: 0.3657 - val_accuracy: 0.8955 - val_precision: 0.8976 - val_recall: 0.8938 - 7s/epoch - 18ms/step\n",
"Epoch 7/50\n",
"380/380 - 6s - loss: 0.2180 - accuracy: 0.9331 - precision: 0.9368 - recall: 0.9297 - val_loss: 0.3669 - val_accuracy: 0.8930 - val_precision: 0.8966 - val_recall: 0.8898 - 6s/epoch - 17ms/step\n",
"Epoch 8/50\n",
"380/380 - 7s - loss: 0.1976 - accuracy: 0.9397 - precision: 0.9450 - recall: 0.9354 - val_loss: 0.3625 - val_accuracy: 0.8939 - val_precision: 0.8974 - val_recall: 0.8886 - 7s/epoch - 17ms/step\n",
"Epoch 9/50\n",
"380/380 - 6s - loss: 0.1842 - accuracy: 0.9410 - precision: 0.9457 - recall: 0.9369 - val_loss: 0.3707 - val_accuracy: 0.8919 - val_precision: 0.8962 - val_recall: 0.8851 - 6s/epoch - 17ms/step\n",
"Epoch 10/50\n",
"380/380 - 7s - loss: 0.1724 - accuracy: 0.9458 - precision: 0.9495 - recall: 0.9419 - val_loss: 0.4235 - val_accuracy: 0.8841 - val_precision: 0.8893 - val_recall: 0.8795 - 7s/epoch - 18ms/step\n",
"Epoch 11/50\n",
"380/380 - 7s - loss: 0.1633 - accuracy: 0.9479 - precision: 0.9519 - recall: 0.9441 - val_loss: 0.4007 - val_accuracy: 0.8933 - val_precision: 0.8971 - val_recall: 0.8897 - 7s/epoch - 17ms/step\n",
"Epoch 12/50\n",
"380/380 - 7s - loss: 0.1458 - accuracy: 0.9529 - precision: 0.9567 - recall: 0.9498 - val_loss: 0.4199 - val_accuracy: 0.8941 - val_precision: 0.8973 - val_recall: 0.8913 - 7s/epoch - 17ms/step\n",
"Epoch 13/50\n",
"380/380 - 7s - loss: 0.1343 - accuracy: 0.9568 - precision: 0.9603 - recall: 0.9539 - val_loss: 0.4570 - val_accuracy: 0.8959 - val_precision: 0.8981 - val_recall: 0.8930 - 7s/epoch - 18ms/step\n",
"Epoch 14/50\n",
"380/380 - 6s - loss: 0.1294 - accuracy: 0.9579 - precision: 0.9612 - recall: 0.9550 - val_loss: 0.4679 - val_accuracy: 0.8885 - val_precision: 0.8917 - val_recall: 0.8829 - 6s/epoch - 17ms/step\n",
"Epoch 15/50\n",
"380/380 - 7s - loss: 0.1164 - accuracy: 0.9606 - precision: 0.9635 - recall: 0.9577 - val_loss: 0.5204 - val_accuracy: 0.8864 - val_precision: 0.8893 - val_recall: 0.8841 - 7s/epoch - 18ms/step\n",
"Epoch 16/50\n",
"380/380 - 7s - loss: 0.1125 - accuracy: 0.9635 - precision: 0.9662 - recall: 0.9604 - val_loss: 0.5077 - val_accuracy: 0.8954 - val_precision: 0.8972 - val_recall: 0.8929 - 7s/epoch - 17ms/step\n",
"Epoch 17/50\n",
"380/380 - 7s - loss: 0.1039 - accuracy: 0.9664 - precision: 0.9693 - recall: 0.9637 - val_loss: 0.5790 - val_accuracy: 0.8785 - val_precision: 0.8801 - val_recall: 0.8765 - 7s/epoch - 18ms/step\n",
"Epoch 18/50\n",
"380/380 - 7s - loss: 0.1054 - accuracy: 0.9640 - precision: 0.9665 - recall: 0.9613 - val_loss: 0.4905 - val_accuracy: 0.8828 - val_precision: 0.8877 - val_recall: 0.8766 - 7s/epoch - 17ms/step\n",
"Epoch 19/50\n",
"380/380 - 7s - loss: 0.0987 - accuracy: 0.9673 - precision: 0.9703 - recall: 0.9650 - val_loss: 0.5685 - val_accuracy: 0.8885 - val_precision: 0.8901 - val_recall: 0.8860 - 7s/epoch - 17ms/step\n",
"Epoch 20/50\n",
"380/380 - 7s - loss: 0.0903 - accuracy: 0.9692 - precision: 0.9718 - recall: 0.9666 - val_loss: 0.5448 - val_accuracy: 0.8848 - val_precision: 0.8872 - val_recall: 0.8829 - 7s/epoch - 17ms/step\n",
"Epoch 21/50\n",
"380/380 - 7s - loss: 0.0816 - accuracy: 0.9722 - precision: 0.9743 - recall: 0.9704 - val_loss: 0.5980 - val_accuracy: 0.8845 - val_precision: 0.8866 - val_recall: 0.8823 - 7s/epoch - 17ms/step\n",
"Epoch 22/50\n",
"380/380 - 7s - loss: 0.0761 - accuracy: 0.9736 - precision: 0.9756 - recall: 0.9720 - val_loss: 0.6044 - val_accuracy: 0.8841 - val_precision: 0.8863 - val_recall: 0.8830 - 7s/epoch - 17ms/step\n",
"Epoch 23/50\n",
"380/380 - 7s - loss: 0.0718 - accuracy: 0.9756 - precision: 0.9773 - recall: 0.9740 - val_loss: 0.6479 - val_accuracy: 0.8867 - val_precision: 0.8885 - val_recall: 0.8853 - 7s/epoch - 17ms/step\n",
"Epoch 24/50\n",
"380/380 - 7s - loss: 0.0656 - accuracy: 0.9772 - precision: 0.9791 - recall: 0.9757 - val_loss: 0.6282 - val_accuracy: 0.8834 - val_precision: 0.8861 - val_recall: 0.8812 - 7s/epoch - 18ms/step\n",
"Epoch 25/50\n",
"380/380 - 6s - loss: 0.0708 - accuracy: 0.9754 - precision: 0.9773 - recall: 0.9741 - val_loss: 0.6131 - val_accuracy: 0.8897 - val_precision: 0.8909 - val_recall: 0.8883 - 6s/epoch - 17ms/step\n",
"Epoch 26/50\n",
"380/380 - 6s - loss: 0.0648 - accuracy: 0.9776 - precision: 0.9792 - recall: 0.9768 - val_loss: 0.5893 - val_accuracy: 0.8843 - val_precision: 0.8866 - val_recall: 0.8824 - 6s/epoch - 17ms/step\n",
"Epoch 27/50\n",
"380/380 - 7s - loss: 0.0631 - accuracy: 0.9782 - precision: 0.9797 - recall: 0.9769 - val_loss: 0.6532 - val_accuracy: 0.8802 - val_precision: 0.8814 - val_recall: 0.8787 - 7s/epoch - 17ms/step\n",
"Epoch 28/50\n",
"380/380 - 7s - loss: 0.0630 - accuracy: 0.9791 - precision: 0.9805 - recall: 0.9780 - val_loss: 0.6193 - val_accuracy: 0.8869 - val_precision: 0.8885 - val_recall: 0.8857 - 7s/epoch - 17ms/step\n",
"Epoch 29/50\n",
"380/380 - 7s - loss: 0.0583 - accuracy: 0.9806 - precision: 0.9819 - recall: 0.9799 - val_loss: 0.6167 - val_accuracy: 0.8875 - val_precision: 0.8886 - val_recall: 0.8864 - 7s/epoch - 17ms/step\n",
"Epoch 30/50\n",
"380/380 - 6s - loss: 0.0552 - accuracy: 0.9818 - precision: 0.9831 - recall: 0.9810 - val_loss: 0.6587 - val_accuracy: 0.8796 - val_precision: 0.8815 - val_recall: 0.8781 - 6s/epoch - 17ms/step\n",
"Epoch 31/50\n",
"380/380 - 6s - loss: 0.0498 - accuracy: 0.9832 - precision: 0.9838 - recall: 0.9824 - val_loss: 0.6438 - val_accuracy: 0.8876 - val_precision: 0.8886 - val_recall: 0.8859 - 6s/epoch - 17ms/step\n",
"Epoch 32/50\n",
"380/380 - 7s - loss: 0.0489 - accuracy: 0.9835 - precision: 0.9845 - recall: 0.9829 - val_loss: 0.6473 - val_accuracy: 0.8814 - val_precision: 0.8834 - val_recall: 0.8806 - 7s/epoch - 17ms/step\n",
"Epoch 33/50\n",
"380/380 - 7s - loss: 0.0499 - accuracy: 0.9835 - precision: 0.9842 - recall: 0.9829 - val_loss: 0.6259 - val_accuracy: 0.8909 - val_precision: 0.8917 - val_recall: 0.8896 - 7s/epoch - 18ms/step\n",
"Epoch 34/50\n",
"380/380 - 7s - loss: 0.0487 - accuracy: 0.9833 - precision: 0.9846 - recall: 0.9824 - val_loss: 0.6701 - val_accuracy: 0.8924 - val_precision: 0.8933 - val_recall: 0.8912 - 7s/epoch - 18ms/step\n",
"Epoch 35/50\n",
"380/380 - 6s - loss: 0.0423 - accuracy: 0.9861 - precision: 0.9864 - recall: 0.9854 - val_loss: 0.6718 - val_accuracy: 0.8869 - val_precision: 0.8880 - val_recall: 0.8859 - 6s/epoch - 17ms/step\n",
"Epoch 36/50\n",
"380/380 - 7s - loss: 0.0465 - accuracy: 0.9844 - precision: 0.9850 - recall: 0.9840 - val_loss: 0.6723 - val_accuracy: 0.8880 - val_precision: 0.8888 - val_recall: 0.8874 - 7s/epoch - 17ms/step\n",
"Epoch 37/50\n",
"380/380 - 6s - loss: 0.0404 - accuracy: 0.9864 - precision: 0.9869 - recall: 0.9856 - val_loss: 0.7239 - val_accuracy: 0.8904 - val_precision: 0.8919 - val_recall: 0.8893 - 6s/epoch - 17ms/step\n",
"Epoch 38/50\n",
"380/380 - 7s - loss: 0.0413 - accuracy: 0.9868 - precision: 0.9874 - recall: 0.9862 - val_loss: 0.7056 - val_accuracy: 0.8843 - val_precision: 0.8855 - val_recall: 0.8838 - 7s/epoch - 17ms/step\n",
"Epoch 39/50\n",
"380/380 - 6s - loss: 0.0394 - accuracy: 0.9866 - precision: 0.9870 - recall: 0.9861 - val_loss: 0.7469 - val_accuracy: 0.8832 - val_precision: 0.8843 - val_recall: 0.8825 - 6s/epoch - 17ms/step\n",
"Epoch 40/50\n",
"380/380 - 7s - loss: 0.0363 - accuracy: 0.9879 - precision: 0.9882 - recall: 0.9872 - val_loss: 0.7192 - val_accuracy: 0.8862 - val_precision: 0.8872 - val_recall: 0.8853 - 7s/epoch - 18ms/step\n",
"Epoch 41/50\n",
"380/380 - 7s - loss: 0.0375 - accuracy: 0.9880 - precision: 0.9885 - recall: 0.9876 - val_loss: 0.6975 - val_accuracy: 0.8871 - val_precision: 0.8882 - val_recall: 0.8860 - 7s/epoch - 17ms/step\n",
"Epoch 42/50\n",
"380/380 - 7s - loss: 0.0362 - accuracy: 0.9875 - precision: 0.9879 - recall: 0.9872 - val_loss: 0.7097 - val_accuracy: 0.8838 - val_precision: 0.8846 - val_recall: 0.8833 - 7s/epoch - 17ms/step\n",
"Epoch 43/50\n",
"380/380 - 7s - loss: 0.0360 - accuracy: 0.9886 - precision: 0.9889 - recall: 0.9881 - val_loss: 0.7386 - val_accuracy: 0.8840 - val_precision: 0.8847 - val_recall: 0.8833 - 7s/epoch - 18ms/step\n",
"Epoch 44/50\n",
"380/380 - 7s - loss: 0.0360 - accuracy: 0.9880 - precision: 0.9885 - recall: 0.9876 - val_loss: 0.7119 - val_accuracy: 0.8870 - val_precision: 0.8876 - val_recall: 0.8864 - 7s/epoch - 18ms/step\n",
"Epoch 45/50\n",
"380/380 - 7s - loss: 0.0335 - accuracy: 0.9901 - precision: 0.9905 - recall: 0.9896 - val_loss: 0.7895 - val_accuracy: 0.8790 - val_precision: 0.8796 - val_recall: 0.8779 - 7s/epoch - 18ms/step\n",
"Epoch 46/50\n",
"380/380 - 6s - loss: 0.0373 - accuracy: 0.9879 - precision: 0.9883 - recall: 0.9873 - val_loss: 0.7230 - val_accuracy: 0.8828 - val_precision: 0.8835 - val_recall: 0.8822 - 6s/epoch - 17ms/step\n",
"Epoch 47/50\n",
"380/380 - 7s - loss: 0.0344 - accuracy: 0.9889 - precision: 0.9893 - recall: 0.9886 - val_loss: 0.7205 - val_accuracy: 0.8872 - val_precision: 0.8881 - val_recall: 0.8872 - 7s/epoch - 18ms/step\n",
"Epoch 48/50\n",
"380/380 - 6s - loss: 0.0306 - accuracy: 0.9899 - precision: 0.9904 - recall: 0.9897 - val_loss: 0.7612 - val_accuracy: 0.8871 - val_precision: 0.8875 - val_recall: 0.8865 - 6s/epoch - 17ms/step\n",
"Epoch 49/50\n",
"380/380 - 7s - loss: 0.0285 - accuracy: 0.9908 - precision: 0.9911 - recall: 0.9906 - val_loss: 0.7748 - val_accuracy: 0.8855 - val_precision: 0.8863 - val_recall: 0.8853 - 7s/epoch - 17ms/step\n",
"Epoch 50/50\n",
"380/380 - 6s - loss: 0.0299 - accuracy: 0.9903 - precision: 0.9905 - recall: 0.9900 - val_loss: 0.8202 - val_accuracy: 0.8823 - val_precision: 0.8829 - val_recall: 0.8816 - 6s/epoch - 17ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Tweets\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Tweets\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"Bidirectional = Sequential()\n",
"Bidirectional.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"Bidirectional.add(Dropout(0.5))\n",
"Bidirectional.add(layers.Bidirectional(layers.LSTM(64, return_sequences=True), input_shape=(5, 10)))\n",
"Bidirectional.add(layers.Bidirectional(layers.LSTM(32)))\n",
"Bidirectional.add(Dropout(0.5))\n",
"Bidirectional.add(Dense(16, activation='relu'))\n",
"Bidirectional.add(Dense(3, activation='softmax'))\n",
"Bidirectional.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy','Precision','Recall'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"Bidirectional.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.25)\n",
"#Here we train the Network.\n",
"BidirectionalP=Bidirectional.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"BidirectionalP"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "fAV43Jhlt1Dg",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fAV43Jhlt1Dg",
"outputId": "2f6f2c7d-99d7-405a-9790-b1647eb14f0d"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"254/254 [==============================] - 3s 6ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.81 0.75 0.78 1447\n",
" 1 0.91 0.90 0.90 3026\n",
" 2 0.89 0.92 0.90 3632\n",
"\n",
" accuracy 0.88 8105\n",
" macro avg 0.87 0.86 0.86 8105\n",
"weighted avg 0.88 0.88 0.88 8105\n",
"\n",
"[[1079 137 231]\n",
" [ 102 2728 196]\n",
" [ 149 139 3344]]\n",
"Accuracy: 0.882295\n",
"Precision: 0.881263\n",
"Recall: 0.882295\n",
"F1 score: 0.881385\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =Bidirectional.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "vQacPxvF221v",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vQacPxvF221v",
"outputId": "a7bc24db-4e95-4506-f3e5-0e13e015287b"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Positive': 14746, 'Neutral': 11908, 'Negative': 5766})\n",
"Model: \"sequential_8\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_8 (Embedding) (None, 70, 100) 500000 \n",
" \n",
" lstm_6 (LSTM) (None, 70, 100) 80400 \n",
" \n",
" lstm_7 (LSTM) (None, 64) 42240 \n",
" \n",
" dropout_9 (Dropout) (None, 64) 0 \n",
" \n",
" dense_16 (Dense) (None, 32) 2080 \n",
" \n",
" dense_17 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 624,819\n",
"Trainable params: 624,819\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 8s - loss: 0.6330 - accuracy: 0.7424 - val_loss: 0.3806 - val_accuracy: 0.8788 - 8s/epoch - 19ms/step\n",
"Epoch 2/50\n",
"406/406 - 4s - loss: 0.3216 - accuracy: 0.9019 - val_loss: 0.3428 - val_accuracy: 0.8944 - 4s/epoch - 10ms/step\n",
"Epoch 3/50\n",
"406/406 - 4s - loss: 0.2798 - accuracy: 0.9165 - val_loss: 0.3365 - val_accuracy: 0.8973 - 4s/epoch - 10ms/step\n",
"Epoch 4/50\n",
"406/406 - 4s - loss: 0.2513 - accuracy: 0.9257 - val_loss: 0.3513 - val_accuracy: 0.8998 - 4s/epoch - 10ms/step\n",
"Epoch 5/50\n",
"406/406 - 4s - loss: 0.2200 - accuracy: 0.9338 - val_loss: 0.3853 - val_accuracy: 0.8866 - 4s/epoch - 10ms/step\n",
"Epoch 6/50\n",
"406/406 - 4s - loss: 0.1996 - accuracy: 0.9400 - val_loss: 0.3750 - val_accuracy: 0.8919 - 4s/epoch - 10ms/step\n",
"Epoch 7/50\n",
"406/406 - 4s - loss: 0.1781 - accuracy: 0.9447 - val_loss: 0.3994 - val_accuracy: 0.8911 - 4s/epoch - 10ms/step\n",
"Epoch 8/50\n",
"406/406 - 4s - loss: 0.1519 - accuracy: 0.9532 - val_loss: 0.4151 - val_accuracy: 0.8891 - 4s/epoch - 11ms/step\n",
"Epoch 9/50\n",
"406/406 - 4s - loss: 0.1278 - accuracy: 0.9592 - val_loss: 0.4558 - val_accuracy: 0.8853 - 4s/epoch - 10ms/step\n",
"Epoch 10/50\n",
"406/406 - 4s - loss: 0.1110 - accuracy: 0.9649 - val_loss: 0.4847 - val_accuracy: 0.8848 - 4s/epoch - 10ms/step\n",
"Epoch 11/50\n",
"406/406 - 4s - loss: 0.0925 - accuracy: 0.9698 - val_loss: 0.5429 - val_accuracy: 0.8794 - 4s/epoch - 10ms/step\n",
"Epoch 12/50\n",
"406/406 - 4s - loss: 0.0764 - accuracy: 0.9761 - val_loss: 0.5533 - val_accuracy: 0.8837 - 4s/epoch - 10ms/step\n",
"Epoch 13/50\n",
"406/406 - 4s - loss: 0.0706 - accuracy: 0.9777 - val_loss: 0.6485 - val_accuracy: 0.8860 - 4s/epoch - 10ms/step\n",
"Epoch 14/50\n",
"406/406 - 4s - loss: 0.0598 - accuracy: 0.9813 - val_loss: 0.6393 - val_accuracy: 0.8814 - 4s/epoch - 10ms/step\n",
"Epoch 15/50\n",
"406/406 - 4s - loss: 0.0526 - accuracy: 0.9829 - val_loss: 0.7227 - val_accuracy: 0.8789 - 4s/epoch - 11ms/step\n",
"Epoch 16/50\n",
"406/406 - 4s - loss: 0.0487 - accuracy: 0.9850 - val_loss: 0.6756 - val_accuracy: 0.8795 - 4s/epoch - 10ms/step\n",
"Epoch 17/50\n",
"406/406 - 4s - loss: 0.0415 - accuracy: 0.9871 - val_loss: 0.6942 - val_accuracy: 0.8837 - 4s/epoch - 10ms/step\n",
"Epoch 18/50\n",
"406/406 - 4s - loss: 0.0397 - accuracy: 0.9875 - val_loss: 0.6786 - val_accuracy: 0.8808 - 4s/epoch - 10ms/step\n",
"Epoch 19/50\n",
"406/406 - 4s - loss: 0.0438 - accuracy: 0.9865 - val_loss: 0.7271 - val_accuracy: 0.8849 - 4s/epoch - 10ms/step\n",
"Epoch 20/50\n",
"406/406 - 4s - loss: 0.0365 - accuracy: 0.9892 - val_loss: 0.7973 - val_accuracy: 0.8757 - 4s/epoch - 10ms/step\n",
"Epoch 21/50\n",
"406/406 - 4s - loss: 0.0306 - accuracy: 0.9908 - val_loss: 0.8804 - val_accuracy: 0.8814 - 4s/epoch - 10ms/step\n",
"Epoch 22/50\n",
"406/406 - 4s - loss: 0.0288 - accuracy: 0.9912 - val_loss: 0.8280 - val_accuracy: 0.8671 - 4s/epoch - 10ms/step\n",
"Epoch 23/50\n",
"406/406 - 4s - loss: 0.0307 - accuracy: 0.9905 - val_loss: 0.7907 - val_accuracy: 0.8768 - 4s/epoch - 10ms/step\n",
"Epoch 24/50\n",
"406/406 - 4s - loss: 0.0276 - accuracy: 0.9919 - val_loss: 0.8501 - val_accuracy: 0.8772 - 4s/epoch - 10ms/step\n",
"Epoch 25/50\n",
"406/406 - 4s - loss: 0.0207 - accuracy: 0.9938 - val_loss: 0.8774 - val_accuracy: 0.8735 - 4s/epoch - 10ms/step\n",
"Epoch 26/50\n",
"406/406 - 4s - loss: 0.0282 - accuracy: 0.9919 - val_loss: 0.7844 - val_accuracy: 0.8712 - 4s/epoch - 10ms/step\n",
"Epoch 27/50\n",
"406/406 - 4s - loss: 0.0249 - accuracy: 0.9914 - val_loss: 0.8488 - val_accuracy: 0.8762 - 4s/epoch - 10ms/step\n",
"Epoch 28/50\n",
"406/406 - 4s - loss: 0.0203 - accuracy: 0.9940 - val_loss: 0.9018 - val_accuracy: 0.8706 - 4s/epoch - 10ms/step\n",
"Epoch 29/50\n",
"406/406 - 4s - loss: 0.0162 - accuracy: 0.9951 - val_loss: 0.9389 - val_accuracy: 0.8708 - 4s/epoch - 10ms/step\n",
"Epoch 30/50\n",
"406/406 - 4s - loss: 0.0188 - accuracy: 0.9940 - val_loss: 0.9118 - val_accuracy: 0.8712 - 4s/epoch - 11ms/step\n",
"Epoch 31/50\n",
"406/406 - 4s - loss: 0.0225 - accuracy: 0.9926 - val_loss: 0.8487 - val_accuracy: 0.8745 - 4s/epoch - 10ms/step\n",
"Epoch 32/50\n",
"406/406 - 4s - loss: 0.0247 - accuracy: 0.9923 - val_loss: 0.8372 - val_accuracy: 0.8751 - 4s/epoch - 11ms/step\n",
"Epoch 33/50\n",
"406/406 - 4s - loss: 0.0210 - accuracy: 0.9929 - val_loss: 0.8556 - val_accuracy: 0.8675 - 4s/epoch - 10ms/step\n",
"Epoch 34/50\n",
"406/406 - 4s - loss: 0.0164 - accuracy: 0.9947 - val_loss: 0.9224 - val_accuracy: 0.8731 - 4s/epoch - 10ms/step\n",
"Epoch 35/50\n",
"406/406 - 4s - loss: 0.0158 - accuracy: 0.9946 - val_loss: 1.0080 - val_accuracy: 0.8812 - 4s/epoch - 10ms/step\n",
"Epoch 36/50\n",
"406/406 - 4s - loss: 0.0139 - accuracy: 0.9955 - val_loss: 1.0319 - val_accuracy: 0.8661 - 4s/epoch - 10ms/step\n",
"Epoch 37/50\n",
"406/406 - 4s - loss: 0.0228 - accuracy: 0.9933 - val_loss: 0.8300 - val_accuracy: 0.8779 - 4s/epoch - 10ms/step\n",
"Epoch 38/50\n",
"406/406 - 4s - loss: 0.0168 - accuracy: 0.9946 - val_loss: 0.9187 - val_accuracy: 0.8742 - 4s/epoch - 10ms/step\n",
"Epoch 39/50\n",
"406/406 - 4s - loss: 0.0151 - accuracy: 0.9953 - val_loss: 0.9153 - val_accuracy: 0.8743 - 4s/epoch - 11ms/step\n",
"Epoch 40/50\n",
"406/406 - 4s - loss: 0.0150 - accuracy: 0.9952 - val_loss: 0.8862 - val_accuracy: 0.8712 - 4s/epoch - 10ms/step\n",
"Epoch 41/50\n",
"406/406 - 4s - loss: 0.0127 - accuracy: 0.9958 - val_loss: 0.9798 - val_accuracy: 0.8765 - 4s/epoch - 10ms/step\n",
"Epoch 42/50\n",
"406/406 - 4s - loss: 0.0134 - accuracy: 0.9955 - val_loss: 0.9646 - val_accuracy: 0.8717 - 4s/epoch - 10ms/step\n",
"Epoch 43/50\n",
"406/406 - 4s - loss: 0.0139 - accuracy: 0.9958 - val_loss: 0.9105 - val_accuracy: 0.8664 - 4s/epoch - 10ms/step\n",
"Epoch 44/50\n",
"406/406 - 4s - loss: 0.0134 - accuracy: 0.9954 - val_loss: 0.9950 - val_accuracy: 0.8749 - 4s/epoch - 10ms/step\n",
"Epoch 45/50\n",
"406/406 - 4s - loss: 0.0163 - accuracy: 0.9949 - val_loss: 0.9319 - val_accuracy: 0.8728 - 4s/epoch - 11ms/step\n",
"Epoch 46/50\n",
"406/406 - 4s - loss: 0.0118 - accuracy: 0.9960 - val_loss: 0.9910 - val_accuracy: 0.8718 - 4s/epoch - 10ms/step\n",
"Epoch 47/50\n",
"406/406 - 4s - loss: 0.0132 - accuracy: 0.9956 - val_loss: 1.0055 - val_accuracy: 0.8697 - 4s/epoch - 10ms/step\n",
"Epoch 48/50\n",
"406/406 - 4s - loss: 0.0122 - accuracy: 0.9956 - val_loss: 1.0560 - val_accuracy: 0.8754 - 4s/epoch - 10ms/step\n",
"Epoch 49/50\n",
"406/406 - 4s - loss: 0.0122 - accuracy: 0.9956 - val_loss: 1.0516 - val_accuracy: 0.8746 - 4s/epoch - 10ms/step\n",
"Epoch 50/50\n",
"406/406 - 4s - loss: 0.0186 - accuracy: 0.9940 - val_loss: 0.8666 - val_accuracy: 0.8766 - 4s/epoch - 10ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Tweets\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Tweets\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model = Sequential()\n",
"model.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"#model.add(Dropout(0.4))\n",
"model.add(layers.LSTM(100, return_sequences=True))\n",
"model.add(layers.LSTM(64))\n",
"model.add(Dropout(0.5))\n",
"model.add(Dense(32,activation='relu'))\n",
"model.add(Dense(3, activation='softmax'))\n",
"model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"modelP=model.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"modelP"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "Bhx4umc53BOK",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Bhx4umc53BOK",
"outputId": "efe3d262-8093-458d-90e2-47088ab44f66"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 1s 4ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.79 0.74 0.76 1132\n",
" 1 0.90 0.90 0.90 2426\n",
" 2 0.89 0.91 0.90 2926\n",
"\n",
" accuracy 0.88 6484\n",
" macro avg 0.86 0.85 0.85 6484\n",
"weighted avg 0.88 0.88 0.88 6484\n",
"\n",
"[[ 838 106 188]\n",
" [ 95 2193 138]\n",
" [ 128 145 2653]]\n",
"Accuracy: 0.876619\n",
"Precision: 0.875498\n",
"Recall: 0.876619\n",
"F1 score: 0.875881\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "GTxjC-BD3Btt",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "GTxjC-BD3Btt",
"outputId": "bc962ed4-b907-4a93-fa95-dd5d8eaa21a7"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Positive': 14746, 'Neutral': 11908, 'Negative': 5766})\n",
"Model: \"sequential_9\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_9 (Embedding) (None, 73, 120) 780000 \n",
" \n",
" conv1d_1 (Conv1D) (None, 70, 128) 61568 \n",
" \n",
" max_pooling1d_1 (MaxPooling (None, 17, 128) 0 \n",
" 1D) \n",
" \n",
" flatten_1 (Flatten) (None, 2176) 0 \n",
" \n",
" dense_18 (Dense) (None, 16) 34832 \n",
" \n",
" dense_19 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 876,451\n",
"Trainable params: 876,451\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"406/406 - 3s - loss: 0.6480 - accuracy: 0.7261 - val_loss: 0.4302 - val_accuracy: 0.8486 - 3s/epoch - 7ms/step\n",
"Epoch 2/50\n",
"406/406 - 1s - loss: 0.3503 - accuracy: 0.8749 - val_loss: 0.4082 - val_accuracy: 0.8539 - 1s/epoch - 3ms/step\n",
"Epoch 3/50\n",
"406/406 - 1s - loss: 0.2457 - accuracy: 0.9137 - val_loss: 0.4424 - val_accuracy: 0.8549 - 1s/epoch - 4ms/step\n",
"Epoch 4/50\n",
"406/406 - 1s - loss: 0.1536 - accuracy: 0.9451 - val_loss: 0.5487 - val_accuracy: 0.8421 - 1s/epoch - 3ms/step\n",
"Epoch 5/50\n",
"406/406 - 1s - loss: 0.0968 - accuracy: 0.9641 - val_loss: 0.6361 - val_accuracy: 0.8348 - 1s/epoch - 3ms/step\n",
"Epoch 6/50\n",
"406/406 - 1s - loss: 0.0685 - accuracy: 0.9741 - val_loss: 0.7476 - val_accuracy: 0.8354 - 1s/epoch - 3ms/step\n",
"Epoch 7/50\n",
"406/406 - 1s - loss: 0.0536 - accuracy: 0.9791 - val_loss: 0.8226 - val_accuracy: 0.8385 - 1s/epoch - 3ms/step\n",
"Epoch 8/50\n",
"406/406 - 1s - loss: 0.0464 - accuracy: 0.9818 - val_loss: 0.8980 - val_accuracy: 0.8391 - 1s/epoch - 3ms/step\n",
"Epoch 9/50\n",
"406/406 - 1s - loss: 0.0431 - accuracy: 0.9826 - val_loss: 0.9654 - val_accuracy: 0.8376 - 1s/epoch - 3ms/step\n",
"Epoch 10/50\n",
"406/406 - 1s - loss: 0.0407 - accuracy: 0.9829 - val_loss: 1.0115 - val_accuracy: 0.8330 - 1s/epoch - 3ms/step\n",
"Epoch 11/50\n",
"406/406 - 1s - loss: 0.0425 - accuracy: 0.9827 - val_loss: 1.1101 - val_accuracy: 0.8324 - 1s/epoch - 3ms/step\n",
"Epoch 12/50\n",
"406/406 - 1s - loss: 0.0740 - accuracy: 0.9725 - val_loss: 1.1514 - val_accuracy: 0.8171 - 1s/epoch - 4ms/step\n",
"Epoch 13/50\n",
"406/406 - 1s - loss: 0.0710 - accuracy: 0.9729 - val_loss: 1.0924 - val_accuracy: 0.8197 - 1s/epoch - 3ms/step\n",
"Epoch 14/50\n",
"406/406 - 1s - loss: 0.0460 - accuracy: 0.9815 - val_loss: 1.1469 - val_accuracy: 0.8277 - 1s/epoch - 3ms/step\n",
"Epoch 15/50\n",
"406/406 - 1s - loss: 0.0384 - accuracy: 0.9840 - val_loss: 1.1883 - val_accuracy: 0.8296 - 1s/epoch - 3ms/step\n",
"Epoch 16/50\n",
"406/406 - 1s - loss: 0.0363 - accuracy: 0.9848 - val_loss: 1.2104 - val_accuracy: 0.8290 - 1s/epoch - 3ms/step\n",
"Epoch 17/50\n",
"406/406 - 1s - loss: 0.0354 - accuracy: 0.9841 - val_loss: 1.2795 - val_accuracy: 0.8324 - 1s/epoch - 3ms/step\n",
"Epoch 18/50\n",
"406/406 - 1s - loss: 0.0343 - accuracy: 0.9848 - val_loss: 1.2658 - val_accuracy: 0.8236 - 1s/epoch - 3ms/step\n",
"Epoch 19/50\n",
"406/406 - 1s - loss: 0.0357 - accuracy: 0.9842 - val_loss: 1.2800 - val_accuracy: 0.8283 - 1s/epoch - 3ms/step\n",
"Epoch 20/50\n",
"406/406 - 1s - loss: 0.0340 - accuracy: 0.9848 - val_loss: 1.2955 - val_accuracy: 0.8256 - 1s/epoch - 3ms/step\n",
"Epoch 21/50\n",
"406/406 - 1s - loss: 0.0347 - accuracy: 0.9848 - val_loss: 1.3161 - val_accuracy: 0.8302 - 1s/epoch - 3ms/step\n",
"Epoch 22/50\n",
"406/406 - 1s - loss: 0.0349 - accuracy: 0.9843 - val_loss: 1.3610 - val_accuracy: 0.8293 - 1s/epoch - 3ms/step\n",
"Epoch 23/50\n",
"406/406 - 1s - loss: 0.0337 - accuracy: 0.9844 - val_loss: 1.4407 - val_accuracy: 0.8220 - 1s/epoch - 3ms/step\n",
"Epoch 24/50\n",
"406/406 - 1s - loss: 0.0336 - accuracy: 0.9847 - val_loss: 1.4255 - val_accuracy: 0.8229 - 1s/epoch - 3ms/step\n",
"Epoch 25/50\n",
"406/406 - 1s - loss: 0.0342 - accuracy: 0.9850 - val_loss: 1.4683 - val_accuracy: 0.8225 - 1s/epoch - 3ms/step\n",
"Epoch 26/50\n",
"406/406 - 1s - loss: 0.0881 - accuracy: 0.9700 - val_loss: 1.1640 - val_accuracy: 0.8162 - 1s/epoch - 3ms/step\n",
"Epoch 27/50\n",
"406/406 - 1s - loss: 0.0495 - accuracy: 0.9798 - val_loss: 1.3397 - val_accuracy: 0.8208 - 1s/epoch - 3ms/step\n",
"Epoch 28/50\n",
"406/406 - 1s - loss: 0.0341 - accuracy: 0.9845 - val_loss: 1.3348 - val_accuracy: 0.8217 - 1s/epoch - 3ms/step\n",
"Epoch 29/50\n",
"406/406 - 1s - loss: 0.0324 - accuracy: 0.9854 - val_loss: 1.4304 - val_accuracy: 0.8220 - 1s/epoch - 3ms/step\n",
"Epoch 30/50\n",
"406/406 - 1s - loss: 0.0323 - accuracy: 0.9850 - val_loss: 1.4243 - val_accuracy: 0.8219 - 1s/epoch - 3ms/step\n",
"Epoch 31/50\n",
"406/406 - 1s - loss: 0.0326 - accuracy: 0.9848 - val_loss: 1.4611 - val_accuracy: 0.8220 - 1s/epoch - 3ms/step\n",
"Epoch 32/50\n",
"406/406 - 1s - loss: 0.0321 - accuracy: 0.9850 - val_loss: 1.4798 - val_accuracy: 0.8222 - 1s/epoch - 3ms/step\n",
"Epoch 33/50\n",
"406/406 - 1s - loss: 0.0317 - accuracy: 0.9850 - val_loss: 1.5147 - val_accuracy: 0.8205 - 1s/epoch - 3ms/step\n",
"Epoch 34/50\n",
"406/406 - 1s - loss: 0.0319 - accuracy: 0.9851 - val_loss: 1.5496 - val_accuracy: 0.8165 - 1s/epoch - 3ms/step\n",
"Epoch 35/50\n",
"406/406 - 1s - loss: 0.0316 - accuracy: 0.9848 - val_loss: 1.5521 - val_accuracy: 0.8242 - 1s/epoch - 3ms/step\n",
"Epoch 36/50\n",
"406/406 - 1s - loss: 0.0318 - accuracy: 0.9850 - val_loss: 1.5935 - val_accuracy: 0.8217 - 1s/epoch - 3ms/step\n",
"Epoch 37/50\n",
"406/406 - 1s - loss: 0.0320 - accuracy: 0.9845 - val_loss: 1.6164 - val_accuracy: 0.8240 - 1s/epoch - 3ms/step\n",
"Epoch 38/50\n",
"406/406 - 1s - loss: 0.0319 - accuracy: 0.9848 - val_loss: 1.6348 - val_accuracy: 0.8259 - 1s/epoch - 3ms/step\n",
"Epoch 39/50\n",
"406/406 - 1s - loss: 0.0315 - accuracy: 0.9850 - val_loss: 1.6505 - val_accuracy: 0.8176 - 1s/epoch - 3ms/step\n",
"Epoch 40/50\n",
"406/406 - 1s - loss: 0.0473 - accuracy: 0.9806 - val_loss: 1.4845 - val_accuracy: 0.8077 - 1s/epoch - 3ms/step\n",
"Epoch 41/50\n",
"406/406 - 1s - loss: 0.0554 - accuracy: 0.9773 - val_loss: 1.4254 - val_accuracy: 0.8154 - 1s/epoch - 3ms/step\n",
"Epoch 42/50\n",
"406/406 - 1s - loss: 0.0381 - accuracy: 0.9829 - val_loss: 1.4615 - val_accuracy: 0.8180 - 1s/epoch - 3ms/step\n",
"Epoch 43/50\n",
"406/406 - 1s - loss: 0.0317 - accuracy: 0.9856 - val_loss: 1.5145 - val_accuracy: 0.8172 - 1s/epoch - 3ms/step\n",
"Epoch 44/50\n",
"406/406 - 1s - loss: 0.0313 - accuracy: 0.9855 - val_loss: 1.5254 - val_accuracy: 0.8191 - 1s/epoch - 3ms/step\n",
"Epoch 45/50\n",
"406/406 - 1s - loss: 0.0311 - accuracy: 0.9848 - val_loss: 1.5488 - val_accuracy: 0.8191 - 1s/epoch - 3ms/step\n",
"Epoch 46/50\n",
"406/406 - 1s - loss: 0.0310 - accuracy: 0.9851 - val_loss: 1.5641 - val_accuracy: 0.8189 - 1s/epoch - 3ms/step\n",
"Epoch 47/50\n",
"406/406 - 1s - loss: 0.0310 - accuracy: 0.9853 - val_loss: 1.6247 - val_accuracy: 0.8165 - 1s/epoch - 3ms/step\n",
"Epoch 48/50\n",
"406/406 - 1s - loss: 0.0310 - accuracy: 0.9852 - val_loss: 1.6230 - val_accuracy: 0.8189 - 1s/epoch - 4ms/step\n",
"Epoch 49/50\n",
"406/406 - 1s - loss: 0.0310 - accuracy: 0.9854 - val_loss: 1.6234 - val_accuracy: 0.8189 - 1s/epoch - 3ms/step\n",
"Epoch 50/50\n",
"406/406 - 1s - loss: 0.0309 - accuracy: 0.9850 - val_loss: 1.6572 - val_accuracy: 0.8205 - 1s/epoch - 3ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=6000, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Tweets\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Tweets\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model_conv = Sequential()\n",
"model_conv.add(Embedding(6500,120, input_length=X.shape[1]))\n",
"model_conv.add(Conv1D(128, 4, activation='relu'))\n",
"model_conv.add(MaxPooling1D(pool_size=4))\n",
"model_conv.add(Flatten())\n",
"model_conv.add(Dense(16,activation='relu'))\n",
"model_conv.add(Dense(3, activation='softmax'))\n",
"model_conv.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model_conv.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"model_convP=model_conv.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"model_convP"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "YzmbDwYl3Y8K",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "YzmbDwYl3Y8K",
"outputId": "47c8a930-3d6a-44b9-ea4a-95d7c5867ce9"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"203/203 [==============================] - 0s 1ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.75 0.67 0.71 1134\n",
" 1 0.81 0.85 0.83 2356\n",
" 2 0.85 0.85 0.85 2994\n",
"\n",
" accuracy 0.82 6484\n",
" macro avg 0.80 0.79 0.80 6484\n",
"weighted avg 0.82 0.82 0.82 6484\n",
"\n",
"[[ 762 169 203]\n",
" [ 103 2010 243]\n",
" [ 154 292 2548]]\n",
"Accuracy: 0.820481\n",
"Precision: 0.819317\n",
"Recall: 0.820481\n",
"F1 score: 0.819373\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model_conv.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "cLRvtuyO3tAi",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 453
},
"id": "cLRvtuyO3tAi",
"outputId": "d42945ae-685c-4f85-8297-ec5334fbe654"
},
"outputs": [
{
"data": {
"image/png": "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F1/vD36C7g3dcb6lKfqIESPMylvLyyi9vLxYv359lY3Jg4KCGDFiBF999VWlJZeV6dChA3369OHjjz+u8XFs2rQpgNlKfnXBU1UWiKqqhC9XU0pqYYko3RPqTWlmEnnHdmDXvAc2vmXBd1WT9iCRUnjxcD3P7uFSb5lS8fHxPPfcczRt2pTFixcjl8v58ssvef7559m6dWulKasAX3/9NR9++CEDBw40BZlmz55NfHy8Wf3z9u3bef311xk6dChvv/02mZmZfPTRR4waNYrNmzfflynkp04l0TxfS4GDgkZ/l+0B5GdfQiK15nIMdOvjXemxMVlXRD8p4ZHmYuuE1qBDXVqIg8LOomNyNX9nSonyPUEQHiGW9pC6mYuLS6Wrwl25cgWovNToXvDo0a3azKSTJ08SERV1r6ZzxwYMGMCiRYvYunWrqfzxxx9/JCQkhPDwcAD27NnD2rVriY6OJje39qvOlgdabg16VLZSXnR0NP/5z384evQo2dnZ6PV6077yTCpLpKenV3p+d3d30/6bubm5md22srKq1ZdOVc0BwNPTs9J5lO/v378/p0+fZv369axbt46wsDCatO1IcmAUz7RthqfKhilTphAfH88777zDBx98QFRUFH369GHgwIEoFAoAcnNyUCqV2NhUngU0e/Zs03MKZSWvSUlJLFmyBJVKVe21jB8/nm3btvHhhx+yYsUKi67/rbfeom/fvixevLjCSoA3c3Yu+4I7OzvbovPeLk9V2eOUXqQBKpYRx2SVJRyIJudCfTAajWT97yukVta4dH/WtF2mcsS2YbOyEr6uw0UJ311Sb5lSy5YtQy6Xs2LFCrp27UqnTp34/PPPkUqlLFu2rNJjNBoNn376KW3btmXevHl07NiR/v378+mnn3LkyBEOHjwIlP0Sffzxx7Rr144PPviANm3a0LdvX+bPn090dDTbtm27l5dqkZISHbl7riCRSAgdEo7kpjRVdfZl9HhjNEpp2qJiUCqrKIesohxCROme8AhzsXUCILvI8jfoeRo1CrkCG7mirqYlCILw0CoqKmLRokV4e3tXyNzZuXMngwYNIjIykvbt2/Pmm29W2sBbMOfq6krXrl3ZsWMHOp2OK1eucObMGZ566imgLCA1fvx4tFotH3zwAZs3b2br1q0VMouqU1Vw59btKSkpPPPMM5w4cYLJkyezYcMG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qERbsGABX331FStWrDjqNzbKyae0tBQgthD/waLbSktLGxWljnZcKBSisrKy2e2as4adiIicOMMwMHwW5lGmZLXE8zSnHy3p6w3fkdunY4ues6WYHhMzK7L2lhyZilIiInLKy8/PZ8WKFc1umyzDhw9n+PCTe/3BW265hVtuuSXZ3ZDjFAwGAfA1MV0iush+XV3j6Q7RbUc6LhgMNrvdoTZu3MiePSf6xfNN0weDyaG4J4finjyKfXIo7slxLHHft2/fEferKCUiIqc8n89H165dk90NkaTz+yNTTkKhxt8GFC0WpaY2nu6SkpJy1ONSUlKa3e5QhYWFWuj8FKK4J4finjyKfXIo7slxPAudH0kSlrESERERkWTIy8sDoKysrNG+6NS7aJuD5ebmHvG4lJQUWrVq1ex2IiIiIqCilIiIiMiPRrt27cjJyWHr1q2N9m3dupW8vLwmp7AWFBRgWdZhj+vatSuWZTW7nYiIiAioKCUiIiLyozJ48GDWrl1LRUVFbFtZWRlr165lyJAhTR7TqlUr+vbty1tvvdVgal5xcTGbN2+OHdfcdiIiIiKgopSIiIjIj8r48ePxeDyMHz+eNWvWsGbNGiZMmEBaWho333wzACtWrKBbt258/PHHseNuvfVW9u7dy6RJk/jwww955513mDRpEh07duTqq68+5nYiIiIiKkqJiIiI/IicdtppLF68mPT0dCZPnsytt95KTk4OS5Ysia0n5TgOtm3jum7suMLCQp5//nkqKiq46aabuPPOOyksLGTRokUNFi9vbjsRERERffueiIiIyI9Mly5dWLhw4WH3X3nllVx55ZWNthcVFbF06dKjnr+57UREROTHTSOlREREREREREQk4VSUEhERERERERGRhFNRSkREREREREREEk5FKRERERERERERSTgVpUREREREREREJOFUlBIRERERERERkYTzJLsDJwPbtgH49ttv4/Yc+/btY+fOnXE7vzRNcU8OxT05FPfkUNyT43jiHv07H/27L8kX7xxMv5/Jobgnh+KePIp9cijuyXGscT9a/qWiFJGgAowaNSrJPREREZF427dvH2eeeWayuyEoBxMREfmxOFz+Zbiu6yahPyeVQCDAxo0bycvLw7KsZHdHRERE4sC2bfbt20dhYSEpKSnJ7o6gHExERORUd7T8S0UpERERERERERFJOC10LiIiIiIiIiIiCaeiVBxt2rSJG264gV69etGrVy9uuOEGNm3alOxunXLWr1/PRRddREFBQZP7161bxzXXXMNPf/pTioqKmDRpEl9//XWCe3nqWbNmDSNGjKBnz55ceOGFjB07lk8//bRBm//93//liiuuoEePHvzrv/4rd9xxB6WlpUnq8anhb3/7G9dccw1FRUX06tWLMWPG8NFHHzVoo7jHz5tvvklBQQEzZsxosF0xb3ljxoyhoKCgydvixYtj7XSNl6YoB0sM5WCJp/wrOZR/JZ9ysMRJdA6molScbN++ndGjRxMIBHjsscd48sknCYfDjBkzRn+MW9Dzzz/P9ddfj+M4Te5fv34948aNo3Xr1jz99NM89NBDfP3114wePZrKysoE9/bU8de//pVx48aRn5/PggUL+M1vfkN5eTmjRo1i48aNALzxxhtMmTKFwsJCnnvuOe6++24++ugjxo4dSygUSvIr+GH6y1/+wvjx4/nJT37C/PnzefDBB6msrGTs2LH84x//ABT3eKqsrOT+++9vtF0xj5/u3bvz6quvNroNHToU0DVemqYcLDGUgyWe8q/kUP6VfMrBEi+hOZgrcXH77be7RUVFblVVVWxbVVWV26dPH3f69OlJ7Nmp44MPPnDPPfdc9+2333anT5/udunSpVGbkSNHuoMGDXJDoVBs29dff+127drVfeKJJxLZ3VPKkCFD3Msuu8wNh8OxbXv27HELCgrcu+66y3Ucx7344ovdMWPGNDju448/drt06eIuW7Ys0V0+JVx88cXuVVdd1WDbzp073YKCAvfuu+9W3ONs1qxZ7mWXXeYOGDAgdh1XzONn9OjR7ujRo4/YRtd4aYpysPhTDpYcyr+SQ/lX8ikHS6xE52AaKRUHruuyatUqLrroIjIyMmLbMzIy6N+/P++++24Se3fqaNOmDa+88go///nPm9xfXl7Ohg0bGDRoEB6PJ7b9jDPOoGfPnrzzzjuJ6uopxXVdJk6cyKxZsxp8U1J+fj5t2rRh9+7dfP755+zatStWSY8677zzyMvLU+yPQzgc5sYbb2Ty5MkNtnfo0IE2bdpQUlKiuMfR3//+d1555RWmTZuGYRix7Yp58ugaL01RDpYYysEST/lXcij/Sj7lYCeflr7GqygVByUlJVRVVdG5c+dG+84++2wqKyspKSlJQs9OLQUFBZxzzjmH3V9cXIzruod9H7Zt20Y4HI5nF09JhmEwdOhQzjvvvAbby8rK+O677zjzzDPZunUrQJOx79y5c2y/NJ/H42HkyJFceOGFDbZXVlZSUVFBp06dFPc4CYfDzJw5k8GDB3PRRRc12KeYJ4+u8dIU5WCJoRws8ZR/JYfyr+RSDnZyaulrvIpScRBdWC0nJ6fRvug2Lb4Wf0d7H0KhkNY0aEH33Xcfruty1VVXHTX2ZWVlie7eKce2bb744gsmTpxImzZtuO666xT3OHn++efZtWsXd9xxR6N9inl8lZWVMW3aNPr370+PHj24/PLLWbFiBaBrvDRNOdjJQb+fiaP8K7GUfyWWcrDkSWQOpqJUHASDQQB8Pl+jfV6vF4C6urqE9unHKBrjI70P0fdKTsyTTz7J66+/zqRJkygoKDhq7PXv/8QsX76cbt26cdlll2HbNi+99BLt27dX3ONg586d/Pa3v2Xy5Mm0bdu20X7FPL527drFGWecwaOPPsq8efPIzMxk+vTpvPHGG7rGS5OUg50c9PuZGMq/Ekv5V2IpB0uuROZgnqM3kWPl9/sBmlzxP/rmpKamJrRPP0YpKSnAkd+HaBs5Pq7rcv/99/Piiy8yduxYJkyYABw99or7iRk4cCDLli2jpKSExYsXM3z4cBYsWKC4x8E999xDp06dGD16dJP7FfP4mT9/Ph6Pp8G6QP369WPYsGE89NBDsU9NdY2XgykHOzkoB4sv5V/JofwrsZSDJU+iczCNlIqDvLw8gCaHDEaHukXbSPzk5uYCh38fUlJSaNWqVaK7dcpwHIdp06axaNEibr/9dqZPnx7bd7TY69//icnOzqawsJBBgwbx+9//nry8PO69917FvYWtXLmS999/nxkzZhAIBKiurqa6uhrXdQmHw1RXV9O6dWtAMY+H7OzsBskQRD6Ru+iii/j22291jZcmKQc7Oej3M36UfyWP8q/EUQ6WXInOwVSUioN27dqRk5PT5OJqW7duJS8vj/z8/CT07MeloKAAy7IO+z507dq1wbeXyLGZO3cub775JnPnzuXGG29ssK9r164AjWLvui7FxcUUFhYmrJ+nirKyMv74xz+ybdu2Btu9Xi+dO3fmiy++UNxb2HvvvYdt21x77bX07t07dispKeH111+nd+/eVFdXA4p5PDiO0+QimdFP4E477TRd46UR5WAnB+Vg8aP8K7GUfyWHcrDkSnQOpqJUnAwePJi1a9dSUVER21ZWVsbatWsZMmRIEnv249GqVSv69u3LW2+91WBoYXFxMZs3b9b7cAJWrlzJiy++yH/913/x7//+7432d+nShbPOOos333yzwfb33nuP8vJyxf44zZw5k4ULFzbYFg6H2bRpE+3bt1fcW9j48eNZsmRJo1teXh79+vVjyZIlXH755Yp5HHzzzTf07NmTxx9/vMH2QCDA+++/T5cuXejQoYOu8dIk5WDJpxwsPpR/JYfyr8RTDpY8ycjBrNmzZ89uic5LQ//yL//CK6+8wrp168jPz2fHjh3cfffd1NTU8Mgjj5Cenp7sLv7g7dy5kx07drB3717Wrl3L9u3bGTBgAHv37mXv3r20bduWs846i0WLFrFp0yZyc3PZsmULM2fOJDs7mzlz5uDxaFm1YxUOh5kwYQK5ubmMHj06Fu/orby8nNzcXNq3b8/ChQvZvXs3WVlZbNiwgd/85jd0796dqVOnYhhGsl/KD0pqaip79uxh2bJlVFZW4vF4+PLLL3nwwQf59NNPue222ygsLFTcW1B2djbt27dvdFu8eDHnnHMO1157LX6/XzGPg6ysLIqLi1m2bBnBYBDTNNm8eTOzZ8/mn//8J3PmzKFjx466xkuTlIPFn3KwxFP+lRzKv5JDOVjyJCMHM1zXdeP4mn7UiouLefDBB9mwYQOGYXD++eczbdo0zjrrrGR37ZQwY8YM/vSnPx12f3Q44fr163n00UfZuHEjKSkp9OvXj9tvv73Jb3GQo9u5cyeXXHLJYfd36NCBVatWAfDOO+/w1FNP8cUXX5CZmcmgQYO47bbbtI7EcbJtmxdffJHly5ezY8cO0tLS6NSpEyNHjuSXv/xlrJ3iHl8DBw7k/PPPZ+7cubFtinnLCwaDvPDCC/z5z39m586dWJZFjx49mDBhAhdccEGsna7x0hTlYPGlHCzxlH8lj/Kvk4dysMRIdA6mopSIiIiIiIiIiCSc1pQSEREREREREZGEU1FKREREREREREQSTkUpERERERERERFJOBWlREREREREREQk4VSUEhERERERERGRhFNRSkREREREREREEk5FKRERERERERERSThPsjsgIrJ8+XLuuOOOo7YbOnQo8+bNS0CPDm/MmDH8/e9/57PPPktqP0REREROhPIvETkZqCglIieNm2++mZ///OeH3Z+dnZ3A3oiIiIic+pR/iUgyqSglIieN0047jR49eiS7GyIiIiI/Gsq/RCSZtKaUiPzgDBw4kF/84hds27aNsWPH0qtXL3r16sX1119PcXFxg7a1tbXMmzePwYMHU1hYSK9evbjqqqt47bXXGp139+7dzJgxg5/97Gf89Kc/5Re/+AULFy4kFAo1altZWckdd9zBBRdcQGFhIcOGDeNvf/tbgzZbtmxh0qRJ9OvXj8LCQn72s58xceJEtmzZ0qLxEBEREYk35V8iEg8aKSUiP0ilpaXceuutXH311fznf/4n27Zt47777uP6669n5cqVZGVlYds2N954I59++ik333wzRUVF1NbW8qc//Ylp06ZRWlrK2LFjAdi3bx/Dhw8nIyODqVOn0qFDBz788EMefvhhtm/fzr333tvg+adMmULv3r154okn2LFjBw8//DBTpkxhzZo1tGrVitLSUq699lp+8pOfMHPmTNq0acOuXbt49tlnGTlyJCtXrqRt27bJCJ2IiIjIcVH+JSItTUUpEflB+u6775g2bRpXXnklAEVFRdTU1DB37lxWrFjBddddx9tvv8369euZOHEit9xyS+zYAQMGMGzYMH77298ycuRIUlJS+P3vf8++fft44YUX6Ny5MwDnnXceJSUlrFmzhrKyMlq3bg1AMBikX79+XHfddQBccMEF7Ny5k2eeeYaPPvqISy+9lE8++YSKigrGjx/PpZdeCkDv3r3p06cPf/7zn6mtrU1kuEREREROmPIvEWlpmr4nIieN2bNnU1BQcNjbvn37Ym0Nw2DQoEENjh8wYAAAW7duBeD9998HYMiQIQ3amabJgAEDOHDgABs3bgTgvffeo127drGEKOr+++9nzZo1sYQo6tBznn766QCUlZUBxD6FW7hwIf/4xz9wXReA9u3bM378eDp27Nj8wIiIiIjEifIvEUkmjZQSkZPG+PHjGyUbB8vJyYk9zszMJCMjo8H+Nm3aAJGh5QDffvstAO3atWt0rmjSsmfPnljbTp06Nbuvhw799ngil1PbtgHo2bMns2fP5uGHH2b48OHk5ORw3nnnxdZj8Pl8zX4uERERkXhR/iUiyaSilIicNNq1a0fXrl2b1dYwjEbbop+GNbXvaOcxTbPJBTVPxDXXXMOwYcN4//33+b//+z/Wrl3L22+/zbPPPsvixYsbffonIiIikmjKv0QkmTR9T0R+kCorKwkEAg22RT+hy83NBSJDtQFKSkoaHb97924g8jXI0bZ79+7FcZwG7erq6igrKzvuhCkjI4MhQ4bw3//936xatYpZs2axbds2lixZclznExEREUkW5V8i0tJUlBKRHyTHcVi1alWDbe+99x4A3bt3B6Bfv34A/OUvf2nQLhwOs2rVKlq3bh1re/7551NeXs4HH3zQoO29997LhRdeGBtm3lyvv/4699xzT6Pt//Zv/wZAeXn5MZ1PREREJNmUf4lIS9P0PRE5aezevZvPPvvsiG2iSUxmZiZPPvkk+/bto3v37nz55Zc89thj5OfnM2zYMAAuueQS+vbty+9+9zssy6KoqIiqqir++Mc/sn37dubOnRtbW+Cmm25i5cqVTJ06lTvvvDP2lcSvvvoqv/rVr2ILaTaXz+djyZIl7N27lyuuuII2bdrw3XffsXTpUizLYujQoccRIREREZGWpfxLRJJJRSkROWk888wzPPPMM0ds88knnwCRpGP+/Pncd999PP744ziOQ1FREXfddVdsAU7TNHn66ad56qmneO2111iwYAE+n4/u3bvzu9/9jv79+8fO27ZtW15++WXmzZvH3LlzqayspF27dkydOpVrr732mF/L4MGDWbBgAS+++CJ33nkn1dXV5OTkUFhYyKJFi+jTp88xn1NERESkpSn/EpFkMtzoynQiIj8QAwcOpK6urtFQbxERERGJD+VfIhIPWlNKREREREREREQSTkUpERERERERERFJOBWlREREREREREQk4bSmlIiIiIiIiIiIJJxGSomIiIiIiIiISMKpKCUiIiIiIiIiIgmnopSIiIiIiIiIiCScilIiIiIiIiIiIpJwKkqJiIiIiIiIiEjCqSglIiIiIiIiIiIJ9/+1JU8Nrx8dBQAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#OVERALL\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set(rc={'figure.figsize':(10,6)})\n",
"sns.set(font_scale=1.6)\n",
"plt.style.use('seaborn-white')\n",
"fig, axes = plt.subplots(1, 2, figsize=(20,7))\n",
"axes[0].plot(GRUP.history['accuracy'])\n",
"axes[0].plot(GRUP.history['val_accuracy'])\n",
"axes[0].plot(SimpleRNNP.history['accuracy'])\n",
"axes[0].plot(SimpleRNNP.history['val_accuracy'])\n",
"axes[0].plot(BidirectionalP.history['accuracy'])\n",
"axes[0].plot(BidirectionalP.history['val_accuracy'])\n",
"axes[0].plot(modelP.history['accuracy'])\n",
"axes[0].plot(modelP.history['val_accuracy'])\n",
"axes[0].plot(model_convP.history['accuracy'])\n",
"axes[0].plot(model_convP.history['val_accuracy'])\n",
"axes[0].set_xlabel('Epochs')\n",
"axes[0].set_ylabel('Accuracy')\n",
"axes[0].legend(['Training_acc(GRU)','Validation_acc(GRU)','Training_acc(RNN)',\n",
" 'Validation_acc(RNN)','Training_acc(BiLSTM)','Validation_acc(BiLSTM)','Training_acc(LSTM)',\n",
" 'Validation_acc(LSTM)','Training_acc(CNN)',\n",
" 'Validation_acc(CNN)'])\n",
"axes[0].grid(True)\n",
"\n",
"axes[1].plot(GRUP.history['loss'])\n",
"axes[1].plot(GRUP.history['val_loss'])\n",
"axes[1].plot(SimpleRNNP.history['loss'])\n",
"axes[1].plot(SimpleRNNP.history['val_loss'])\n",
"axes[1].plot(BidirectionalP.history['loss'])\n",
"axes[1].plot(BidirectionalP.history['val_loss'])\n",
"axes[1].plot(modelP.history['loss'])\n",
"axes[1].plot(modelP.history['val_loss'])\n",
"axes[1].plot(model_convP.history['loss'])\n",
"axes[1].plot(model_convP.history['val_loss'])\n",
"axes[1].set_xlabel('Epochs')\n",
"axes[1].set_ylabel('Loss')\n",
"axes[1].legend(['Training_loss(GRU)','Validation_loss(GRU)','Training_loss(RNN)','Validation_loss(RNN)'\n",
",'Training_loss(BiLSTM)','Validation_loss(BiLSTM)','Training_loss(LSTM)',\n",
" 'Validation_loss(LSTM)','Training_loss(CNN)',\n",
" 'Validation_loss(CNN)'])\n",
"axes[1].grid(True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "E1xf2mTA0MjY",
"metadata": {
"id": "E1xf2mTA0MjY"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "INyrXrYE3tHo",
"metadata": {
"id": "INyrXrYE3tHo"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 29,
"id": "gd-UxLiI3Y_4",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 367
},
"id": "gd-UxLiI3Y_4",
"outputId": "7871fbee-11d7-4c9a-cf82-c4f57e8c75aa"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Unnamed: 0.1 | \n",
" Date | \n",
" Username | \n",
" Content | \n",
" URL | \n",
" Hashtags | \n",
" c_Tweets | \n",
" cleanText | \n",
" Subjectivity | \n",
" Polarity | \n",
" Sentiment | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2022-11-30 11:53:21+00:00 | \n",
" 0xEthereumYoda | \n",
" #Ethereum price update: \\n\\n#ETH $1269.23 USD\\... | \n",
" https://twitter.com/0xEthereumYoda/status/1597... | \n",
" ['Ethereum', 'ETH', 'Bitcoin', 'BTC', 'altcoin... | \n",
" price update: $1269.23 USD 0.07510228 Follow ... | \n",
" price updat usd follow recent eth price updat | \n",
" 0.25 | \n",
" 0.0 | \n",
" Neutral | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2022-11-30 11:53:21+00:00 | \n",
" Lawrenc32984128 | \n",
" @mtmalinen @ecb Do well to understand that eve... | \n",
" https://twitter.com/Lawrenc32984128/status/159... | \n",
" ['BTC'] | \n",
" Do well to understand that every dip in the pr... | \n",
" well understand everi dip price provid golden ... | \n",
" 0.50 | \n",
" 0.3 | \n",
" Positive | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"\n",
" \n",
"
\n",
"
\n",
" "
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 Date Username \\\n",
"0 0 0 2022-11-30 11:53:21+00:00 0xEthereumYoda \n",
"1 1 1 2022-11-30 11:53:21+00:00 Lawrenc32984128 \n",
"\n",
" Content \\\n",
"0 #Ethereum price update: \\n\\n#ETH $1269.23 USD\\... \n",
"1 @mtmalinen @ecb Do well to understand that eve... \n",
"\n",
" URL \\\n",
"0 https://twitter.com/0xEthereumYoda/status/1597... \n",
"1 https://twitter.com/Lawrenc32984128/status/159... \n",
"\n",
" Hashtags \\\n",
"0 ['Ethereum', 'ETH', 'Bitcoin', 'BTC', 'altcoin... \n",
"1 ['BTC'] \n",
"\n",
" c_Tweets \\\n",
"0 price update: $1269.23 USD 0.07510228 Follow ... \n",
"1 Do well to understand that every dip in the pr... \n",
"\n",
" cleanText Subjectivity Polarity \\\n",
"0 price updat usd follow recent eth price updat 0.25 0.0 \n",
"1 well understand everi dip price provid golden ... 0.50 0.3 \n",
"\n",
" Sentiment \n",
"0 Neutral \n",
"1 Positive "
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data=pd.read_csv(\"/content/drive/My Drive/crypto_10k_tweets_preprocessed_sentiments.csv\");\n",
"data.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "2ULksJDGBnJv",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "2ULksJDGBnJv",
"outputId": "a014a4fb-5f00-40a7-aa1e-f234dca604b9"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6956, 'Positive': 2227, 'Negative': 817})\n",
"Model: \"sequential_10\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_10 (Embedding) (None, 31, 100) 500000 \n",
" \n",
" gru_2 (GRU) (None, 128) 88320 \n",
" \n",
" dropout_10 (Dropout) (None, 128) 0 \n",
" \n",
" dense_20 (Dense) (None, 32) 4128 \n",
" \n",
" dense_21 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 592,547\n",
"Trainable params: 592,547\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 2s - loss: 0.6012 - accuracy: 0.7611 - val_loss: 0.3362 - val_accuracy: 0.8725 - 2s/epoch - 19ms/step\n",
"Epoch 2/50\n",
"125/125 - 1s - loss: 0.1893 - accuracy: 0.9304 - val_loss: 0.1971 - val_accuracy: 0.9460 - 618ms/epoch - 5ms/step\n",
"Epoch 3/50\n",
"125/125 - 1s - loss: 0.0745 - accuracy: 0.9774 - val_loss: 0.1571 - val_accuracy: 0.9580 - 622ms/epoch - 5ms/step\n",
"Epoch 4/50\n",
"125/125 - 1s - loss: 0.0379 - accuracy: 0.9916 - val_loss: 0.1628 - val_accuracy: 0.9650 - 630ms/epoch - 5ms/step\n",
"Epoch 5/50\n",
"125/125 - 1s - loss: 0.0246 - accuracy: 0.9941 - val_loss: 0.1643 - val_accuracy: 0.9565 - 631ms/epoch - 5ms/step\n",
"Epoch 6/50\n",
"125/125 - 1s - loss: 0.0166 - accuracy: 0.9965 - val_loss: 0.1664 - val_accuracy: 0.9625 - 619ms/epoch - 5ms/step\n",
"Epoch 7/50\n",
"125/125 - 1s - loss: 0.0123 - accuracy: 0.9970 - val_loss: 0.1790 - val_accuracy: 0.9685 - 626ms/epoch - 5ms/step\n",
"Epoch 8/50\n",
"125/125 - 1s - loss: 0.0101 - accuracy: 0.9981 - val_loss: 0.1921 - val_accuracy: 0.9650 - 633ms/epoch - 5ms/step\n",
"Epoch 9/50\n",
"125/125 - 1s - loss: 0.0074 - accuracy: 0.9989 - val_loss: 0.2211 - val_accuracy: 0.9640 - 644ms/epoch - 5ms/step\n",
"Epoch 10/50\n",
"125/125 - 1s - loss: 0.0082 - accuracy: 0.9977 - val_loss: 0.1979 - val_accuracy: 0.9630 - 640ms/epoch - 5ms/step\n",
"Epoch 11/50\n",
"125/125 - 1s - loss: 0.0090 - accuracy: 0.9983 - val_loss: 0.2205 - val_accuracy: 0.9690 - 624ms/epoch - 5ms/step\n",
"Epoch 12/50\n",
"125/125 - 1s - loss: 0.0056 - accuracy: 0.9989 - val_loss: 0.2324 - val_accuracy: 0.9590 - 625ms/epoch - 5ms/step\n",
"Epoch 13/50\n",
"125/125 - 1s - loss: 0.0228 - accuracy: 0.9949 - val_loss: 0.1964 - val_accuracy: 0.9675 - 617ms/epoch - 5ms/step\n",
"Epoch 14/50\n",
"125/125 - 1s - loss: 0.0122 - accuracy: 0.9967 - val_loss: 0.2102 - val_accuracy: 0.9675 - 625ms/epoch - 5ms/step\n",
"Epoch 15/50\n",
"125/125 - 1s - loss: 0.0154 - accuracy: 0.9960 - val_loss: 0.1986 - val_accuracy: 0.9660 - 627ms/epoch - 5ms/step\n",
"Epoch 16/50\n",
"125/125 - 1s - loss: 0.0081 - accuracy: 0.9980 - val_loss: 0.2138 - val_accuracy: 0.9655 - 613ms/epoch - 5ms/step\n",
"Epoch 17/50\n",
"125/125 - 1s - loss: 0.0068 - accuracy: 0.9987 - val_loss: 0.2302 - val_accuracy: 0.9620 - 622ms/epoch - 5ms/step\n",
"Epoch 18/50\n",
"125/125 - 1s - loss: 0.0076 - accuracy: 0.9985 - val_loss: 0.2397 - val_accuracy: 0.9650 - 621ms/epoch - 5ms/step\n",
"Epoch 19/50\n",
"125/125 - 1s - loss: 0.0051 - accuracy: 0.9987 - val_loss: 0.2520 - val_accuracy: 0.9660 - 624ms/epoch - 5ms/step\n",
"Epoch 20/50\n",
"125/125 - 1s - loss: 0.0043 - accuracy: 0.9992 - val_loss: 0.2539 - val_accuracy: 0.9675 - 626ms/epoch - 5ms/step\n",
"Epoch 21/50\n",
"125/125 - 1s - loss: 0.0035 - accuracy: 0.9991 - val_loss: 0.2860 - val_accuracy: 0.9630 - 621ms/epoch - 5ms/step\n",
"Epoch 22/50\n",
"125/125 - 1s - loss: 0.0057 - accuracy: 0.9989 - val_loss: 0.2689 - val_accuracy: 0.9590 - 623ms/epoch - 5ms/step\n",
"Epoch 23/50\n",
"125/125 - 1s - loss: 0.0059 - accuracy: 0.9987 - val_loss: 0.2544 - val_accuracy: 0.9605 - 627ms/epoch - 5ms/step\n",
"Epoch 24/50\n",
"125/125 - 1s - loss: 0.0035 - accuracy: 0.9989 - val_loss: 0.2383 - val_accuracy: 0.9620 - 622ms/epoch - 5ms/step\n",
"Epoch 25/50\n",
"125/125 - 1s - loss: 0.0042 - accuracy: 0.9992 - val_loss: 0.2441 - val_accuracy: 0.9620 - 621ms/epoch - 5ms/step\n",
"Epoch 26/50\n",
"125/125 - 1s - loss: 0.0031 - accuracy: 0.9992 - val_loss: 0.2444 - val_accuracy: 0.9640 - 621ms/epoch - 5ms/step\n",
"Epoch 27/50\n",
"125/125 - 1s - loss: 0.0025 - accuracy: 0.9996 - val_loss: 0.2875 - val_accuracy: 0.9590 - 625ms/epoch - 5ms/step\n",
"Epoch 28/50\n",
"125/125 - 1s - loss: 0.0027 - accuracy: 0.9995 - val_loss: 0.2832 - val_accuracy: 0.9620 - 621ms/epoch - 5ms/step\n",
"Epoch 29/50\n",
"125/125 - 1s - loss: 0.0024 - accuracy: 0.9995 - val_loss: 0.2837 - val_accuracy: 0.9650 - 623ms/epoch - 5ms/step\n",
"Epoch 30/50\n",
"125/125 - 1s - loss: 0.0082 - accuracy: 0.9985 - val_loss: 0.2453 - val_accuracy: 0.9660 - 620ms/epoch - 5ms/step\n",
"Epoch 31/50\n",
"125/125 - 1s - loss: 0.0094 - accuracy: 0.9974 - val_loss: 0.3075 - val_accuracy: 0.9560 - 622ms/epoch - 5ms/step\n",
"Epoch 32/50\n",
"125/125 - 1s - loss: 0.0162 - accuracy: 0.9958 - val_loss: 0.2334 - val_accuracy: 0.9600 - 623ms/epoch - 5ms/step\n",
"Epoch 33/50\n",
"125/125 - 1s - loss: 0.0043 - accuracy: 0.9990 - val_loss: 0.2296 - val_accuracy: 0.9645 - 618ms/epoch - 5ms/step\n",
"Epoch 34/50\n",
"125/125 - 1s - loss: 0.0032 - accuracy: 0.9992 - val_loss: 0.2454 - val_accuracy: 0.9625 - 619ms/epoch - 5ms/step\n",
"Epoch 35/50\n",
"125/125 - 1s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.2590 - val_accuracy: 0.9630 - 619ms/epoch - 5ms/step\n",
"Epoch 36/50\n",
"125/125 - 1s - loss: 0.0025 - accuracy: 0.9992 - val_loss: 0.2608 - val_accuracy: 0.9640 - 656ms/epoch - 5ms/step\n",
"Epoch 37/50\n",
"125/125 - 1s - loss: 0.0022 - accuracy: 0.9996 - val_loss: 0.2670 - val_accuracy: 0.9600 - 705ms/epoch - 6ms/step\n",
"Epoch 38/50\n",
"125/125 - 1s - loss: 0.0029 - accuracy: 0.9995 - val_loss: 0.2793 - val_accuracy: 0.9635 - 683ms/epoch - 5ms/step\n",
"Epoch 39/50\n",
"125/125 - 1s - loss: 0.0018 - accuracy: 0.9996 - val_loss: 0.2804 - val_accuracy: 0.9630 - 624ms/epoch - 5ms/step\n",
"Epoch 40/50\n",
"125/125 - 1s - loss: 0.0019 - accuracy: 0.9996 - val_loss: 0.2823 - val_accuracy: 0.9620 - 621ms/epoch - 5ms/step\n",
"Epoch 41/50\n",
"125/125 - 1s - loss: 0.0020 - accuracy: 0.9995 - val_loss: 0.2821 - val_accuracy: 0.9630 - 622ms/epoch - 5ms/step\n",
"Epoch 42/50\n",
"125/125 - 1s - loss: 0.0022 - accuracy: 0.9996 - val_loss: 0.2763 - val_accuracy: 0.9615 - 618ms/epoch - 5ms/step\n",
"Epoch 43/50\n",
"125/125 - 1s - loss: 0.0019 - accuracy: 0.9996 - val_loss: 0.2802 - val_accuracy: 0.9635 - 620ms/epoch - 5ms/step\n",
"Epoch 44/50\n",
"125/125 - 1s - loss: 0.0021 - accuracy: 0.9995 - val_loss: 0.2808 - val_accuracy: 0.9620 - 612ms/epoch - 5ms/step\n",
"Epoch 45/50\n",
"125/125 - 1s - loss: 0.0022 - accuracy: 0.9996 - val_loss: 0.2960 - val_accuracy: 0.9590 - 626ms/epoch - 5ms/step\n",
"Epoch 46/50\n",
"125/125 - 1s - loss: 0.0025 - accuracy: 0.9994 - val_loss: 0.2879 - val_accuracy: 0.9650 - 655ms/epoch - 5ms/step\n",
"Epoch 47/50\n",
"125/125 - 1s - loss: 0.0123 - accuracy: 0.9966 - val_loss: 0.2706 - val_accuracy: 0.9600 - 629ms/epoch - 5ms/step\n",
"Epoch 48/50\n",
"125/125 - 1s - loss: 0.0083 - accuracy: 0.9979 - val_loss: 0.3016 - val_accuracy: 0.9440 - 637ms/epoch - 5ms/step\n",
"Epoch 49/50\n",
"125/125 - 1s - loss: 0.0112 - accuracy: 0.9971 - val_loss: 0.2410 - val_accuracy: 0.9580 - 641ms/epoch - 5ms/step\n",
"Epoch 50/50\n",
"125/125 - 1s - loss: 0.0035 - accuracy: 0.9990 - val_loss: 0.2541 - val_accuracy: 0.9605 - 628ms/epoch - 5ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"CNNRNN = Sequential()\n",
"CNNRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"CNNRNN.add(layers.GRU(128))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(Dense(32, activation='relu'))\n",
"CNNRNN.add(Dense(3, activation='softmax'))\n",
"CNNRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"CNNRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"predCNNRNN=CNNRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"predCNNRNN"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "U-c-adprt7Ii",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "U-c-adprt7Ii",
"outputId": "d436a925-0da3-41c4-ec13-cc93763bc609"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 0s 2ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.87 0.79 0.83 166\n",
" 1 0.99 0.98 0.99 1385\n",
" 2 0.90 0.96 0.93 449\n",
"\n",
" accuracy 0.96 2000\n",
" macro avg 0.92 0.91 0.92 2000\n",
"weighted avg 0.96 0.96 0.96 2000\n",
"\n",
"[[ 131 5 30]\n",
" [ 10 1359 16]\n",
" [ 9 9 431]]\n",
"Accuracy: 0.960500\n",
"Precision: 0.960776\n",
"Recall: 0.960500\n",
"F1 score: 0.960257\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =CNNRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "gB3uLHjZDCBZ",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gB3uLHjZDCBZ",
"outputId": "40fbed8a-9e61-436d-e0f3-29c0e6f9e960"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6956, 'Positive': 2227, 'Negative': 817})\n",
"Model: \"sequential_11\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_11 (Embedding) (None, 31, 100) 500000 \n",
" \n",
" simple_rnn_2 (SimpleRNN) (None, 128) 29312 \n",
" \n",
" dropout_11 (Dropout) (None, 128) 0 \n",
" \n",
" dense_22 (Dense) (None, 32) 4128 \n",
" \n",
" dense_23 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 533,539\n",
"Trainable params: 533,539\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 4s - loss: 0.6212 - accuracy: 0.7529 - val_loss: 0.4534 - val_accuracy: 0.8165 - 4s/epoch - 29ms/step\n",
"Epoch 2/50\n",
"125/125 - 2s - loss: 0.2764 - accuracy: 0.9001 - val_loss: 0.2844 - val_accuracy: 0.8995 - 2s/epoch - 19ms/step\n",
"Epoch 3/50\n",
"125/125 - 2s - loss: 0.1179 - accuracy: 0.9636 - val_loss: 0.2743 - val_accuracy: 0.9135 - 2s/epoch - 18ms/step\n",
"Epoch 4/50\n",
"125/125 - 2s - loss: 0.0579 - accuracy: 0.9834 - val_loss: 0.3081 - val_accuracy: 0.9065 - 2s/epoch - 18ms/step\n",
"Epoch 5/50\n",
"125/125 - 2s - loss: 0.0264 - accuracy: 0.9930 - val_loss: 0.3137 - val_accuracy: 0.9120 - 2s/epoch - 17ms/step\n",
"Epoch 6/50\n",
"125/125 - 2s - loss: 0.0142 - accuracy: 0.9962 - val_loss: 0.3471 - val_accuracy: 0.9220 - 2s/epoch - 18ms/step\n",
"Epoch 7/50\n",
"125/125 - 2s - loss: 0.0084 - accuracy: 0.9984 - val_loss: 0.3595 - val_accuracy: 0.9110 - 2s/epoch - 17ms/step\n",
"Epoch 8/50\n",
"125/125 - 2s - loss: 0.0069 - accuracy: 0.9987 - val_loss: 0.3816 - val_accuracy: 0.9210 - 2s/epoch - 18ms/step\n",
"Epoch 9/50\n",
"125/125 - 2s - loss: 0.0062 - accuracy: 0.9991 - val_loss: 0.3714 - val_accuracy: 0.9220 - 2s/epoch - 17ms/step\n",
"Epoch 10/50\n",
"125/125 - 2s - loss: 0.0036 - accuracy: 0.9994 - val_loss: 0.3807 - val_accuracy: 0.9190 - 2s/epoch - 18ms/step\n",
"Epoch 11/50\n",
"125/125 - 2s - loss: 0.0080 - accuracy: 0.9980 - val_loss: 0.4292 - val_accuracy: 0.9150 - 2s/epoch - 17ms/step\n",
"Epoch 12/50\n",
"125/125 - 2s - loss: 0.0418 - accuracy: 0.9866 - val_loss: 0.4179 - val_accuracy: 0.9140 - 2s/epoch - 18ms/step\n",
"Epoch 13/50\n",
"125/125 - 2s - loss: 0.0248 - accuracy: 0.9929 - val_loss: 0.4173 - val_accuracy: 0.9105 - 2s/epoch - 18ms/step\n",
"Epoch 14/50\n",
"125/125 - 2s - loss: 0.0084 - accuracy: 0.9980 - val_loss: 0.4649 - val_accuracy: 0.9170 - 2s/epoch - 17ms/step\n",
"Epoch 15/50\n",
"125/125 - 2s - loss: 0.0090 - accuracy: 0.9981 - val_loss: 0.4420 - val_accuracy: 0.9160 - 2s/epoch - 18ms/step\n",
"Epoch 16/50\n",
"125/125 - 2s - loss: 0.0050 - accuracy: 0.9991 - val_loss: 0.4514 - val_accuracy: 0.9180 - 2s/epoch - 18ms/step\n",
"Epoch 17/50\n",
"125/125 - 2s - loss: 0.0045 - accuracy: 0.9992 - val_loss: 0.4367 - val_accuracy: 0.9150 - 2s/epoch - 17ms/step\n",
"Epoch 18/50\n",
"125/125 - 2s - loss: 0.0041 - accuracy: 0.9990 - val_loss: 0.5290 - val_accuracy: 0.8980 - 2s/epoch - 18ms/step\n",
"Epoch 19/50\n",
"125/125 - 2s - loss: 0.0148 - accuracy: 0.9955 - val_loss: 0.4510 - val_accuracy: 0.9190 - 2s/epoch - 17ms/step\n",
"Epoch 20/50\n",
"125/125 - 2s - loss: 0.0090 - accuracy: 0.9976 - val_loss: 0.4503 - val_accuracy: 0.9240 - 2s/epoch - 18ms/step\n",
"Epoch 21/50\n",
"125/125 - 2s - loss: 0.0476 - accuracy: 0.9874 - val_loss: 0.5888 - val_accuracy: 0.8895 - 2s/epoch - 18ms/step\n",
"Epoch 22/50\n",
"125/125 - 2s - loss: 0.0366 - accuracy: 0.9890 - val_loss: 0.4120 - val_accuracy: 0.9160 - 2s/epoch - 18ms/step\n",
"Epoch 23/50\n",
"125/125 - 2s - loss: 0.0103 - accuracy: 0.9974 - val_loss: 0.4412 - val_accuracy: 0.9230 - 2s/epoch - 18ms/step\n",
"Epoch 24/50\n",
"125/125 - 2s - loss: 0.0042 - accuracy: 0.9992 - val_loss: 0.4402 - val_accuracy: 0.9155 - 2s/epoch - 18ms/step\n",
"Epoch 25/50\n",
"125/125 - 2s - loss: 0.0034 - accuracy: 0.9995 - val_loss: 0.4330 - val_accuracy: 0.9165 - 2s/epoch - 18ms/step\n",
"Epoch 26/50\n",
"125/125 - 2s - loss: 0.0030 - accuracy: 0.9995 - val_loss: 0.4432 - val_accuracy: 0.9145 - 2s/epoch - 18ms/step\n",
"Epoch 27/50\n",
"125/125 - 2s - loss: 0.0030 - accuracy: 0.9996 - val_loss: 0.4608 - val_accuracy: 0.9200 - 2s/epoch - 18ms/step\n",
"Epoch 28/50\n",
"125/125 - 2s - loss: 0.0025 - accuracy: 0.9996 - val_loss: 0.4891 - val_accuracy: 0.9205 - 2s/epoch - 18ms/step\n",
"Epoch 29/50\n",
"125/125 - 2s - loss: 0.0027 - accuracy: 0.9996 - val_loss: 0.4834 - val_accuracy: 0.9215 - 2s/epoch - 17ms/step\n",
"Epoch 30/50\n",
"125/125 - 2s - loss: 0.0025 - accuracy: 0.9998 - val_loss: 0.4754 - val_accuracy: 0.9225 - 2s/epoch - 17ms/step\n",
"Epoch 31/50\n",
"125/125 - 2s - loss: 0.0024 - accuracy: 0.9998 - val_loss: 0.5111 - val_accuracy: 0.9230 - 2s/epoch - 17ms/step\n",
"Epoch 32/50\n",
"125/125 - 2s - loss: 0.0022 - accuracy: 0.9996 - val_loss: 0.5038 - val_accuracy: 0.9200 - 2s/epoch - 17ms/step\n",
"Epoch 33/50\n",
"125/125 - 2s - loss: 0.0023 - accuracy: 0.9998 - val_loss: 0.4695 - val_accuracy: 0.9150 - 2s/epoch - 18ms/step\n",
"Epoch 34/50\n",
"125/125 - 2s - loss: 0.0026 - accuracy: 0.9996 - val_loss: 0.4777 - val_accuracy: 0.9205 - 2s/epoch - 18ms/step\n",
"Epoch 35/50\n",
"125/125 - 2s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.4817 - val_accuracy: 0.9195 - 2s/epoch - 18ms/step\n",
"Epoch 36/50\n",
"125/125 - 2s - loss: 0.0026 - accuracy: 0.9996 - val_loss: 0.4913 - val_accuracy: 0.9070 - 2s/epoch - 18ms/step\n",
"Epoch 37/50\n",
"125/125 - 2s - loss: 0.0023 - accuracy: 0.9995 - val_loss: 0.5260 - val_accuracy: 0.9255 - 2s/epoch - 18ms/step\n",
"Epoch 38/50\n",
"125/125 - 2s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.5217 - val_accuracy: 0.9215 - 2s/epoch - 18ms/step\n",
"Epoch 39/50\n",
"125/125 - 2s - loss: 0.0019 - accuracy: 0.9995 - val_loss: 0.5406 - val_accuracy: 0.9220 - 2s/epoch - 18ms/step\n",
"Epoch 40/50\n",
"125/125 - 2s - loss: 0.0023 - accuracy: 0.9995 - val_loss: 0.5531 - val_accuracy: 0.9250 - 2s/epoch - 17ms/step\n",
"Epoch 41/50\n",
"125/125 - 2s - loss: 0.0092 - accuracy: 0.9975 - val_loss: 0.5613 - val_accuracy: 0.9105 - 2s/epoch - 18ms/step\n",
"Epoch 42/50\n",
"125/125 - 2s - loss: 0.0462 - accuracy: 0.9870 - val_loss: 0.5161 - val_accuracy: 0.9120 - 2s/epoch - 18ms/step\n",
"Epoch 43/50\n",
"125/125 - 2s - loss: 0.0279 - accuracy: 0.9909 - val_loss: 0.3923 - val_accuracy: 0.9260 - 2s/epoch - 17ms/step\n",
"Epoch 44/50\n",
"125/125 - 2s - loss: 0.0059 - accuracy: 0.9985 - val_loss: 0.4346 - val_accuracy: 0.9250 - 2s/epoch - 17ms/step\n",
"Epoch 45/50\n",
"125/125 - 2s - loss: 0.0086 - accuracy: 0.9980 - val_loss: 0.5876 - val_accuracy: 0.8995 - 2s/epoch - 18ms/step\n",
"Epoch 46/50\n",
"125/125 - 2s - loss: 0.0188 - accuracy: 0.9946 - val_loss: 0.4114 - val_accuracy: 0.9240 - 2s/epoch - 17ms/step\n",
"Epoch 47/50\n",
"125/125 - 2s - loss: 0.0074 - accuracy: 0.9979 - val_loss: 0.4232 - val_accuracy: 0.9215 - 2s/epoch - 18ms/step\n",
"Epoch 48/50\n",
"125/125 - 2s - loss: 0.0033 - accuracy: 0.9995 - val_loss: 0.4213 - val_accuracy: 0.9190 - 2s/epoch - 18ms/step\n",
"Epoch 49/50\n",
"125/125 - 2s - loss: 0.0026 - accuracy: 0.9992 - val_loss: 0.4321 - val_accuracy: 0.9220 - 2s/epoch - 17ms/step\n",
"Epoch 50/50\n",
"125/125 - 2s - loss: 0.0024 - accuracy: 0.9998 - val_loss: 0.4457 - val_accuracy: 0.9250 - 2s/epoch - 18ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"CNNRNN = Sequential()\n",
"CNNRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"CNNRNN.add(layers.SimpleRNN(128))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(Dense(32, activation='relu'))\n",
"CNNRNN.add(Dense(3, activation='softmax'))\n",
"CNNRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"CNNRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"predCNNRNN=CNNRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"predCNNRNN"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "9aT1KldJEA7s",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "9aT1KldJEA7s",
"outputId": "181553e4-c363-406d-ccc0-39e32bae7a02"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 0s 4ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.73 0.53 0.61 163\n",
" 1 0.96 0.98 0.97 1405\n",
" 2 0.86 0.88 0.87 432\n",
"\n",
" accuracy 0.93 2000\n",
" macro avg 0.85 0.80 0.82 2000\n",
"weighted avg 0.92 0.93 0.92 2000\n",
"\n",
"[[ 86 28 49]\n",
" [ 8 1382 15]\n",
" [ 24 26 382]]\n",
"Accuracy: 0.925000\n",
"Precision: 0.920486\n",
"Recall: 0.925000\n",
"F1 score: 0.921301\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =CNNRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "lMRGcYZZEA-g",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "lMRGcYZZEA-g",
"outputId": "ae685233-9726-42be-cb2a-022709817a9f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6956, 'Positive': 2227, 'Negative': 817})\n",
"Model: \"sequential_12\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_12 (Embedding) (None, 31, 100) 500000 \n",
" \n",
" dropout_12 (Dropout) (None, 31, 100) 0 \n",
" \n",
" bidirectional_4 (Bidirectio (None, 31, 128) 84480 \n",
" nal) \n",
" \n",
" bidirectional_5 (Bidirectio (None, 64) 41216 \n",
" nal) \n",
" \n",
" dropout_13 (Dropout) (None, 64) 0 \n",
" \n",
" dense_24 (Dense) (None, 16) 1040 \n",
" \n",
" dense_25 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 626,787\n",
"Trainable params: 626,787\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"118/118 - 8s - loss: 0.6691 - accuracy: 0.7407 - precision: 0.7797 - recall: 0.6575 - val_loss: 0.4193 - val_accuracy: 0.8404 - val_precision: 0.8637 - val_recall: 0.8164 - 8s/epoch - 71ms/step\n",
"Epoch 2/50\n",
"118/118 - 1s - loss: 0.3192 - accuracy: 0.8796 - precision: 0.8992 - recall: 0.8603 - val_loss: 0.2785 - val_accuracy: 0.8884 - val_precision: 0.9125 - val_recall: 0.8720 - 1s/epoch - 12ms/step\n",
"Epoch 3/50\n",
"118/118 - 1s - loss: 0.1902 - accuracy: 0.9251 - precision: 0.9394 - recall: 0.9088 - val_loss: 0.2354 - val_accuracy: 0.9332 - val_precision: 0.9437 - val_recall: 0.9260 - 1s/epoch - 13ms/step\n",
"Epoch 4/50\n",
"118/118 - 1s - loss: 0.0985 - accuracy: 0.9704 - precision: 0.9729 - recall: 0.9681 - val_loss: 0.2012 - val_accuracy: 0.9452 - val_precision: 0.9488 - val_recall: 0.9420 - 1s/epoch - 12ms/step\n",
"Epoch 5/50\n",
"118/118 - 1s - loss: 0.0591 - accuracy: 0.9840 - precision: 0.9856 - recall: 0.9831 - val_loss: 0.1960 - val_accuracy: 0.9436 - val_precision: 0.9465 - val_recall: 0.9412 - 1s/epoch - 12ms/step\n",
"Epoch 6/50\n",
"118/118 - 1s - loss: 0.0391 - accuracy: 0.9901 - precision: 0.9904 - recall: 0.9896 - val_loss: 0.1948 - val_accuracy: 0.9504 - val_precision: 0.9531 - val_recall: 0.9504 - 1s/epoch - 12ms/step\n",
"Epoch 7/50\n",
"118/118 - 1s - loss: 0.0344 - accuracy: 0.9915 - precision: 0.9921 - recall: 0.9912 - val_loss: 0.2444 - val_accuracy: 0.9508 - val_precision: 0.9515 - val_recall: 0.9496 - 1s/epoch - 12ms/step\n",
"Epoch 8/50\n",
"118/118 - 1s - loss: 0.0251 - accuracy: 0.9932 - precision: 0.9935 - recall: 0.9931 - val_loss: 0.2134 - val_accuracy: 0.9580 - val_precision: 0.9583 - val_recall: 0.9560 - 1s/epoch - 12ms/step\n",
"Epoch 9/50\n",
"118/118 - 1s - loss: 0.0220 - accuracy: 0.9951 - precision: 0.9953 - recall: 0.9949 - val_loss: 0.2098 - val_accuracy: 0.9484 - val_precision: 0.9506 - val_recall: 0.9468 - 1s/epoch - 12ms/step\n",
"Epoch 10/50\n",
"118/118 - 1s - loss: 0.0176 - accuracy: 0.9957 - precision: 0.9960 - recall: 0.9955 - val_loss: 0.2189 - val_accuracy: 0.9532 - val_precision: 0.9547 - val_recall: 0.9524 - 1s/epoch - 12ms/step\n",
"Epoch 11/50\n",
"118/118 - 1s - loss: 0.0186 - accuracy: 0.9952 - precision: 0.9956 - recall: 0.9949 - val_loss: 0.2141 - val_accuracy: 0.9572 - val_precision: 0.9572 - val_recall: 0.9572 - 1s/epoch - 12ms/step\n",
"Epoch 12/50\n",
"118/118 - 1s - loss: 0.0203 - accuracy: 0.9953 - precision: 0.9956 - recall: 0.9951 - val_loss: 0.1935 - val_accuracy: 0.9528 - val_precision: 0.9550 - val_recall: 0.9516 - 1s/epoch - 12ms/step\n",
"Epoch 13/50\n",
"118/118 - 1s - loss: 0.0144 - accuracy: 0.9969 - precision: 0.9971 - recall: 0.9969 - val_loss: 0.2190 - val_accuracy: 0.9592 - val_precision: 0.9596 - val_recall: 0.9584 - 1s/epoch - 12ms/step\n",
"Epoch 14/50\n",
"118/118 - 1s - loss: 0.0152 - accuracy: 0.9969 - precision: 0.9971 - recall: 0.9969 - val_loss: 0.2252 - val_accuracy: 0.9588 - val_precision: 0.9592 - val_recall: 0.9588 - 1s/epoch - 12ms/step\n",
"Epoch 15/50\n",
"118/118 - 2s - loss: 0.0164 - accuracy: 0.9956 - precision: 0.9957 - recall: 0.9955 - val_loss: 0.2040 - val_accuracy: 0.9548 - val_precision: 0.9567 - val_recall: 0.9544 - 2s/epoch - 13ms/step\n",
"Epoch 16/50\n",
"118/118 - 2s - loss: 0.0101 - accuracy: 0.9977 - precision: 0.9980 - recall: 0.9976 - val_loss: 0.2429 - val_accuracy: 0.9544 - val_precision: 0.9548 - val_recall: 0.9540 - 2s/epoch - 14ms/step\n",
"Epoch 17/50\n",
"118/118 - 1s - loss: 0.0127 - accuracy: 0.9972 - precision: 0.9973 - recall: 0.9971 - val_loss: 0.2313 - val_accuracy: 0.9556 - val_precision: 0.9579 - val_recall: 0.9552 - 1s/epoch - 13ms/step\n",
"Epoch 18/50\n",
"118/118 - 2s - loss: 0.0117 - accuracy: 0.9975 - precision: 0.9975 - recall: 0.9975 - val_loss: 0.2294 - val_accuracy: 0.9568 - val_precision: 0.9575 - val_recall: 0.9564 - 2s/epoch - 13ms/step\n",
"Epoch 19/50\n",
"118/118 - 1s - loss: 0.0112 - accuracy: 0.9969 - precision: 0.9969 - recall: 0.9968 - val_loss: 0.2460 - val_accuracy: 0.9548 - val_precision: 0.9548 - val_recall: 0.9548 - 1s/epoch - 12ms/step\n",
"Epoch 20/50\n",
"118/118 - 1s - loss: 0.0130 - accuracy: 0.9969 - precision: 0.9969 - recall: 0.9968 - val_loss: 0.2166 - val_accuracy: 0.9564 - val_precision: 0.9575 - val_recall: 0.9560 - 1s/epoch - 13ms/step\n",
"Epoch 21/50\n",
"118/118 - 1s - loss: 0.0098 - accuracy: 0.9980 - precision: 0.9983 - recall: 0.9977 - val_loss: 0.2127 - val_accuracy: 0.9568 - val_precision: 0.9572 - val_recall: 0.9564 - 1s/epoch - 13ms/step\n",
"Epoch 22/50\n",
"118/118 - 1s - loss: 0.0130 - accuracy: 0.9972 - precision: 0.9973 - recall: 0.9972 - val_loss: 0.2721 - val_accuracy: 0.9552 - val_precision: 0.9559 - val_recall: 0.9548 - 1s/epoch - 13ms/step\n",
"Epoch 23/50\n",
"118/118 - 1s - loss: 0.0106 - accuracy: 0.9972 - precision: 0.9975 - recall: 0.9971 - val_loss: 0.2312 - val_accuracy: 0.9548 - val_precision: 0.9555 - val_recall: 0.9532 - 1s/epoch - 12ms/step\n",
"Epoch 24/50\n",
"118/118 - 1s - loss: 0.0155 - accuracy: 0.9963 - precision: 0.9965 - recall: 0.9963 - val_loss: 0.2099 - val_accuracy: 0.9576 - val_precision: 0.9587 - val_recall: 0.9572 - 1s/epoch - 12ms/step\n",
"Epoch 25/50\n",
"118/118 - 2s - loss: 0.0083 - accuracy: 0.9976 - precision: 0.9979 - recall: 0.9976 - val_loss: 0.2997 - val_accuracy: 0.9524 - val_precision: 0.9531 - val_recall: 0.9512 - 2s/epoch - 13ms/step\n",
"Epoch 26/50\n",
"118/118 - 1s - loss: 0.0073 - accuracy: 0.9980 - precision: 0.9983 - recall: 0.9976 - val_loss: 0.2392 - val_accuracy: 0.9556 - val_precision: 0.9575 - val_recall: 0.9544 - 1s/epoch - 13ms/step\n",
"Epoch 27/50\n",
"118/118 - 1s - loss: 0.0053 - accuracy: 0.9988 - precision: 0.9989 - recall: 0.9988 - val_loss: 0.2867 - val_accuracy: 0.9500 - val_precision: 0.9511 - val_recall: 0.9496 - 1s/epoch - 13ms/step\n",
"Epoch 28/50\n",
"118/118 - 1s - loss: 0.0053 - accuracy: 0.9985 - precision: 0.9985 - recall: 0.9985 - val_loss: 0.2661 - val_accuracy: 0.9600 - val_precision: 0.9607 - val_recall: 0.9588 - 1s/epoch - 13ms/step\n",
"Epoch 29/50\n",
"118/118 - 1s - loss: 0.0036 - accuracy: 0.9985 - precision: 0.9985 - recall: 0.9985 - val_loss: 0.2934 - val_accuracy: 0.9584 - val_precision: 0.9596 - val_recall: 0.9584 - 1s/epoch - 13ms/step\n",
"Epoch 30/50\n",
"118/118 - 1s - loss: 0.0070 - accuracy: 0.9977 - precision: 0.9979 - recall: 0.9977 - val_loss: 0.2688 - val_accuracy: 0.9548 - val_precision: 0.9566 - val_recall: 0.9528 - 1s/epoch - 12ms/step\n",
"Epoch 31/50\n",
"118/118 - 1s - loss: 0.0089 - accuracy: 0.9981 - precision: 0.9981 - recall: 0.9979 - val_loss: 0.2337 - val_accuracy: 0.9600 - val_precision: 0.9607 - val_recall: 0.9580 - 1s/epoch - 13ms/step\n",
"Epoch 32/50\n",
"118/118 - 1s - loss: 0.0034 - accuracy: 0.9992 - precision: 0.9992 - recall: 0.9991 - val_loss: 0.2891 - val_accuracy: 0.9556 - val_precision: 0.9560 - val_recall: 0.9552 - 1s/epoch - 13ms/step\n",
"Epoch 33/50\n",
"118/118 - 1s - loss: 0.0066 - accuracy: 0.9984 - precision: 0.9987 - recall: 0.9984 - val_loss: 0.2506 - val_accuracy: 0.9584 - val_precision: 0.9599 - val_recall: 0.9568 - 1s/epoch - 13ms/step\n",
"Epoch 34/50\n",
"118/118 - 2s - loss: 0.0063 - accuracy: 0.9985 - precision: 0.9987 - recall: 0.9985 - val_loss: 0.2789 - val_accuracy: 0.9556 - val_precision: 0.9564 - val_recall: 0.9556 - 2s/epoch - 13ms/step\n",
"Epoch 35/50\n",
"118/118 - 2s - loss: 0.0032 - accuracy: 0.9993 - precision: 0.9995 - recall: 0.9993 - val_loss: 0.3047 - val_accuracy: 0.9576 - val_precision: 0.9584 - val_recall: 0.9576 - 2s/epoch - 13ms/step\n",
"Epoch 36/50\n",
"118/118 - 2s - loss: 0.0043 - accuracy: 0.9991 - precision: 0.9992 - recall: 0.9989 - val_loss: 0.2925 - val_accuracy: 0.9584 - val_precision: 0.9588 - val_recall: 0.9580 - 2s/epoch - 14ms/step\n",
"Epoch 37/50\n",
"118/118 - 2s - loss: 0.0033 - accuracy: 0.9991 - precision: 0.9992 - recall: 0.9991 - val_loss: 0.3115 - val_accuracy: 0.9572 - val_precision: 0.9587 - val_recall: 0.9564 - 2s/epoch - 13ms/step\n",
"Epoch 38/50\n",
"118/118 - 2s - loss: 0.0071 - accuracy: 0.9985 - precision: 0.9985 - recall: 0.9984 - val_loss: 0.2548 - val_accuracy: 0.9560 - val_precision: 0.9563 - val_recall: 0.9548 - 2s/epoch - 13ms/step\n",
"Epoch 39/50\n",
"118/118 - 2s - loss: 0.0071 - accuracy: 0.9984 - precision: 0.9984 - recall: 0.9983 - val_loss: 0.2667 - val_accuracy: 0.9564 - val_precision: 0.9567 - val_recall: 0.9556 - 2s/epoch - 13ms/step\n",
"Epoch 40/50\n",
"118/118 - 2s - loss: 0.0040 - accuracy: 0.9991 - precision: 0.9991 - recall: 0.9991 - val_loss: 0.2722 - val_accuracy: 0.9616 - val_precision: 0.9615 - val_recall: 0.9596 - 2s/epoch - 13ms/step\n",
"Epoch 41/50\n",
"118/118 - 2s - loss: 0.0044 - accuracy: 0.9988 - precision: 0.9989 - recall: 0.9988 - val_loss: 0.2807 - val_accuracy: 0.9576 - val_precision: 0.9584 - val_recall: 0.9572 - 2s/epoch - 13ms/step\n",
"Epoch 42/50\n",
"118/118 - 2s - loss: 0.0022 - accuracy: 0.9995 - precision: 0.9995 - recall: 0.9993 - val_loss: 0.3206 - val_accuracy: 0.9572 - val_precision: 0.9583 - val_recall: 0.9560 - 2s/epoch - 13ms/step\n",
"Epoch 43/50\n",
"118/118 - 2s - loss: 0.0059 - accuracy: 0.9984 - precision: 0.9984 - recall: 0.9983 - val_loss: 0.2663 - val_accuracy: 0.9544 - val_precision: 0.9567 - val_recall: 0.9540 - 2s/epoch - 13ms/step\n",
"Epoch 44/50\n",
"118/118 - 1s - loss: 0.0082 - accuracy: 0.9979 - precision: 0.9979 - recall: 0.9979 - val_loss: 0.2961 - val_accuracy: 0.9528 - val_precision: 0.9528 - val_recall: 0.9520 - 1s/epoch - 13ms/step\n",
"Epoch 45/50\n",
"118/118 - 1s - loss: 0.0067 - accuracy: 0.9981 - precision: 0.9981 - recall: 0.9980 - val_loss: 0.3106 - val_accuracy: 0.9572 - val_precision: 0.9583 - val_recall: 0.9568 - 1s/epoch - 13ms/step\n",
"Epoch 46/50\n",
"118/118 - 1s - loss: 0.0061 - accuracy: 0.9984 - precision: 0.9987 - recall: 0.9984 - val_loss: 0.3145 - val_accuracy: 0.9476 - val_precision: 0.9487 - val_recall: 0.9472 - 1s/epoch - 13ms/step\n",
"Epoch 47/50\n",
"118/118 - 1s - loss: 0.0056 - accuracy: 0.9987 - precision: 0.9988 - recall: 0.9987 - val_loss: 0.2976 - val_accuracy: 0.9560 - val_precision: 0.9567 - val_recall: 0.9556 - 1s/epoch - 13ms/step\n",
"Epoch 48/50\n",
"118/118 - 1s - loss: 0.0052 - accuracy: 0.9985 - precision: 0.9985 - recall: 0.9984 - val_loss: 0.2951 - val_accuracy: 0.9556 - val_precision: 0.9556 - val_recall: 0.9552 - 1s/epoch - 13ms/step\n",
"Epoch 49/50\n",
"118/118 - 1s - loss: 0.0063 - accuracy: 0.9984 - precision: 0.9984 - recall: 0.9983 - val_loss: 0.2995 - val_accuracy: 0.9556 - val_precision: 0.9560 - val_recall: 0.9556 - 1s/epoch - 13ms/step\n",
"Epoch 50/50\n",
"118/118 - 2s - loss: 0.0050 - accuracy: 0.9985 - precision: 0.9985 - recall: 0.9984 - val_loss: 0.2970 - val_accuracy: 0.9564 - val_precision: 0.9564 - val_recall: 0.9560 - 2s/epoch - 13ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"CNNRNN = Sequential()\n",
"CNNRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(layers.Bidirectional(layers.LSTM(64, return_sequences=True), input_shape=(5, 10)))\n",
"CNNRNN.add(layers.Bidirectional(layers.LSTM(32)))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(Dense(16, activation='relu'))\n",
"CNNRNN.add(Dense(3, activation='softmax'))\n",
"CNNRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy','Precision','Recall'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"CNNRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.25)\n",
"#Here we train the Network.\n",
"predCNNRNN=CNNRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"predCNNRNN"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "xy3f8eNtEBA_",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "xy3f8eNtEBA_",
"outputId": "b76445e9-125f-4450-d32d-2be76f7d9996"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"79/79 [==============================] - 2s 5ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.81 0.77 0.79 202\n",
" 1 0.98 0.98 0.98 1750\n",
" 2 0.92 0.94 0.93 548\n",
"\n",
" accuracy 0.96 2500\n",
" macro avg 0.90 0.90 0.90 2500\n",
"weighted avg 0.96 0.96 0.96 2500\n",
"\n",
"[[ 155 17 30]\n",
" [ 15 1719 16]\n",
" [ 21 10 517]]\n",
"Accuracy: 0.956400\n",
"Precision: 0.956036\n",
"Recall: 0.956400\n",
"F1 score: 0.956130\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =CNNRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "IGD8gbzkEBDm",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "IGD8gbzkEBDm",
"outputId": "d672433f-a69e-48a1-ee7d-bc179c86be64"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6956, 'Positive': 2227, 'Negative': 817})\n",
"Model: \"sequential_13\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_13 (Embedding) (None, 31, 100) 500000 \n",
" \n",
" lstm_10 (LSTM) (None, 31, 100) 80400 \n",
" \n",
" lstm_11 (LSTM) (None, 64) 42240 \n",
" \n",
" dropout_14 (Dropout) (None, 64) 0 \n",
" \n",
" dense_26 (Dense) (None, 32) 2080 \n",
" \n",
" dense_27 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 624,819\n",
"Trainable params: 624,819\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 4s - loss: 0.6387 - accuracy: 0.7525 - val_loss: 0.3893 - val_accuracy: 0.8555 - 4s/epoch - 31ms/step\n",
"Epoch 2/50\n",
"125/125 - 1s - loss: 0.2416 - accuracy: 0.9082 - val_loss: 0.2254 - val_accuracy: 0.9235 - 865ms/epoch - 7ms/step\n",
"Epoch 3/50\n",
"125/125 - 1s - loss: 0.0998 - accuracy: 0.9694 - val_loss: 0.1991 - val_accuracy: 0.9470 - 963ms/epoch - 8ms/step\n",
"Epoch 4/50\n",
"125/125 - 1s - loss: 0.0497 - accuracy: 0.9872 - val_loss: 0.2178 - val_accuracy: 0.9460 - 884ms/epoch - 7ms/step\n",
"Epoch 5/50\n",
"125/125 - 1s - loss: 0.0313 - accuracy: 0.9925 - val_loss: 0.2155 - val_accuracy: 0.9525 - 868ms/epoch - 7ms/step\n",
"Epoch 6/50\n",
"125/125 - 1s - loss: 0.0153 - accuracy: 0.9980 - val_loss: 0.2530 - val_accuracy: 0.9425 - 870ms/epoch - 7ms/step\n",
"Epoch 7/50\n",
"125/125 - 1s - loss: 0.0108 - accuracy: 0.9980 - val_loss: 0.2790 - val_accuracy: 0.9525 - 867ms/epoch - 7ms/step\n",
"Epoch 8/50\n",
"125/125 - 1s - loss: 0.0137 - accuracy: 0.9969 - val_loss: 0.2742 - val_accuracy: 0.9520 - 874ms/epoch - 7ms/step\n",
"Epoch 9/50\n",
"125/125 - 1s - loss: 0.0105 - accuracy: 0.9974 - val_loss: 0.2772 - val_accuracy: 0.9580 - 866ms/epoch - 7ms/step\n",
"Epoch 10/50\n",
"125/125 - 1s - loss: 0.0088 - accuracy: 0.9983 - val_loss: 0.2652 - val_accuracy: 0.9520 - 864ms/epoch - 7ms/step\n",
"Epoch 11/50\n",
"125/125 - 1s - loss: 0.0076 - accuracy: 0.9981 - val_loss: 0.2642 - val_accuracy: 0.9575 - 862ms/epoch - 7ms/step\n",
"Epoch 12/50\n",
"125/125 - 1s - loss: 0.0075 - accuracy: 0.9983 - val_loss: 0.2715 - val_accuracy: 0.9515 - 865ms/epoch - 7ms/step\n",
"Epoch 13/50\n",
"125/125 - 1s - loss: 0.0062 - accuracy: 0.9985 - val_loss: 0.2956 - val_accuracy: 0.9560 - 873ms/epoch - 7ms/step\n",
"Epoch 14/50\n",
"125/125 - 1s - loss: 0.0120 - accuracy: 0.9977 - val_loss: 0.2373 - val_accuracy: 0.9580 - 873ms/epoch - 7ms/step\n",
"Epoch 15/50\n",
"125/125 - 1s - loss: 0.0081 - accuracy: 0.9979 - val_loss: 0.2538 - val_accuracy: 0.9585 - 865ms/epoch - 7ms/step\n",
"Epoch 16/50\n",
"125/125 - 1s - loss: 0.0064 - accuracy: 0.9989 - val_loss: 0.2706 - val_accuracy: 0.9590 - 865ms/epoch - 7ms/step\n",
"Epoch 17/50\n",
"125/125 - 1s - loss: 0.0051 - accuracy: 0.9990 - val_loss: 0.3185 - val_accuracy: 0.9545 - 865ms/epoch - 7ms/step\n",
"Epoch 18/50\n",
"125/125 - 1s - loss: 0.0061 - accuracy: 0.9990 - val_loss: 0.2917 - val_accuracy: 0.9505 - 863ms/epoch - 7ms/step\n",
"Epoch 19/50\n",
"125/125 - 1s - loss: 0.0052 - accuracy: 0.9987 - val_loss: 0.2770 - val_accuracy: 0.9585 - 871ms/epoch - 7ms/step\n",
"Epoch 20/50\n",
"125/125 - 1s - loss: 0.0072 - accuracy: 0.9983 - val_loss: 0.2733 - val_accuracy: 0.9595 - 861ms/epoch - 7ms/step\n",
"Epoch 21/50\n",
"125/125 - 1s - loss: 0.0112 - accuracy: 0.9967 - val_loss: 0.2783 - val_accuracy: 0.9540 - 871ms/epoch - 7ms/step\n",
"Epoch 22/50\n",
"125/125 - 1s - loss: 0.0062 - accuracy: 0.9986 - val_loss: 0.2813 - val_accuracy: 0.9575 - 885ms/epoch - 7ms/step\n",
"Epoch 23/50\n",
"125/125 - 1s - loss: 0.0024 - accuracy: 0.9998 - val_loss: 0.2979 - val_accuracy: 0.9580 - 885ms/epoch - 7ms/step\n",
"Epoch 24/50\n",
"125/125 - 1s - loss: 0.0019 - accuracy: 0.9998 - val_loss: 0.2959 - val_accuracy: 0.9575 - 877ms/epoch - 7ms/step\n",
"Epoch 25/50\n",
"125/125 - 1s - loss: 0.0023 - accuracy: 0.9998 - val_loss: 0.3121 - val_accuracy: 0.9580 - 871ms/epoch - 7ms/step\n",
"Epoch 26/50\n",
"125/125 - 1s - loss: 0.0025 - accuracy: 0.9996 - val_loss: 0.3048 - val_accuracy: 0.9590 - 872ms/epoch - 7ms/step\n",
"Epoch 27/50\n",
"125/125 - 1s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.3336 - val_accuracy: 0.9605 - 872ms/epoch - 7ms/step\n",
"Epoch 28/50\n",
"125/125 - 1s - loss: 0.0052 - accuracy: 0.9984 - val_loss: 0.3522 - val_accuracy: 0.9465 - 869ms/epoch - 7ms/step\n",
"Epoch 29/50\n",
"125/125 - 1s - loss: 0.0076 - accuracy: 0.9985 - val_loss: 0.3153 - val_accuracy: 0.9575 - 879ms/epoch - 7ms/step\n",
"Epoch 30/50\n",
"125/125 - 1s - loss: 0.0067 - accuracy: 0.9985 - val_loss: 0.2627 - val_accuracy: 0.9540 - 880ms/epoch - 7ms/step\n",
"Epoch 31/50\n",
"125/125 - 1s - loss: 0.0039 - accuracy: 0.9989 - val_loss: 0.3138 - val_accuracy: 0.9575 - 879ms/epoch - 7ms/step\n",
"Epoch 32/50\n",
"125/125 - 1s - loss: 0.0066 - accuracy: 0.9987 - val_loss: 0.2852 - val_accuracy: 0.9600 - 896ms/epoch - 7ms/step\n",
"Epoch 33/50\n",
"125/125 - 1s - loss: 0.0097 - accuracy: 0.9977 - val_loss: 0.2561 - val_accuracy: 0.9605 - 867ms/epoch - 7ms/step\n",
"Epoch 34/50\n",
"125/125 - 1s - loss: 0.0048 - accuracy: 0.9991 - val_loss: 0.2538 - val_accuracy: 0.9610 - 864ms/epoch - 7ms/step\n",
"Epoch 35/50\n",
"125/125 - 1s - loss: 0.0031 - accuracy: 0.9996 - val_loss: 0.2523 - val_accuracy: 0.9605 - 874ms/epoch - 7ms/step\n",
"Epoch 36/50\n",
"125/125 - 1s - loss: 0.0018 - accuracy: 0.9998 - val_loss: 0.2628 - val_accuracy: 0.9615 - 910ms/epoch - 7ms/step\n",
"Epoch 37/50\n",
"125/125 - 1s - loss: 0.0018 - accuracy: 0.9999 - val_loss: 0.2720 - val_accuracy: 0.9600 - 950ms/epoch - 8ms/step\n",
"Epoch 38/50\n",
"125/125 - 1s - loss: 0.0017 - accuracy: 0.9998 - val_loss: 0.2641 - val_accuracy: 0.9625 - 988ms/epoch - 8ms/step\n",
"Epoch 39/50\n",
"125/125 - 1s - loss: 0.0016 - accuracy: 0.9998 - val_loss: 0.2750 - val_accuracy: 0.9605 - 921ms/epoch - 7ms/step\n",
"Epoch 40/50\n",
"125/125 - 1s - loss: 0.0012 - accuracy: 0.9999 - val_loss: 0.2868 - val_accuracy: 0.9620 - 882ms/epoch - 7ms/step\n",
"Epoch 41/50\n",
"125/125 - 1s - loss: 0.0016 - accuracy: 0.9998 - val_loss: 0.2873 - val_accuracy: 0.9630 - 910ms/epoch - 7ms/step\n",
"Epoch 42/50\n",
"125/125 - 1s - loss: 0.0015 - accuracy: 0.9999 - val_loss: 0.2995 - val_accuracy: 0.9625 - 880ms/epoch - 7ms/step\n",
"Epoch 43/50\n",
"125/125 - 1s - loss: 0.0012 - accuracy: 0.9998 - val_loss: 0.3075 - val_accuracy: 0.9620 - 867ms/epoch - 7ms/step\n",
"Epoch 44/50\n",
"125/125 - 1s - loss: 0.0022 - accuracy: 0.9995 - val_loss: 0.3167 - val_accuracy: 0.9580 - 864ms/epoch - 7ms/step\n",
"Epoch 45/50\n",
"125/125 - 1s - loss: 0.0130 - accuracy: 0.9975 - val_loss: 0.3043 - val_accuracy: 0.9555 - 872ms/epoch - 7ms/step\n",
"Epoch 46/50\n",
"125/125 - 1s - loss: 0.0100 - accuracy: 0.9976 - val_loss: 0.2550 - val_accuracy: 0.9590 - 871ms/epoch - 7ms/step\n",
"Epoch 47/50\n",
"125/125 - 1s - loss: 0.0057 - accuracy: 0.9986 - val_loss: 0.2528 - val_accuracy: 0.9635 - 854ms/epoch - 7ms/step\n",
"Epoch 48/50\n",
"125/125 - 1s - loss: 0.0022 - accuracy: 0.9998 - val_loss: 0.2712 - val_accuracy: 0.9630 - 860ms/epoch - 7ms/step\n",
"Epoch 49/50\n",
"125/125 - 1s - loss: 0.0026 - accuracy: 0.9994 - val_loss: 0.2613 - val_accuracy: 0.9645 - 861ms/epoch - 7ms/step\n",
"Epoch 50/50\n",
"125/125 - 1s - loss: 0.0021 - accuracy: 0.9999 - val_loss: 0.2815 - val_accuracy: 0.9625 - 874ms/epoch - 7ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model = Sequential()\n",
"model.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"#model.add(Dropout(0.4))\n",
"model.add(layers.LSTM(100, return_sequences=True))\n",
"model.add(layers.LSTM(64))\n",
"model.add(Dropout(0.5))\n",
"model.add(Dense(32,activation='relu'))\n",
"model.add(Dense(3, activation='softmax'))\n",
"model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"pred4=model.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"pred4"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "d9FljZCBF669",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "d9FljZCBF669",
"outputId": "69b6df59-f516-4fd8-9ffa-f2038cfefb8e"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 1s 11ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.86 0.82 0.84 150\n",
" 1 0.98 0.98 0.98 1433\n",
" 2 0.92 0.94 0.93 417\n",
"\n",
" accuracy 0.96 2000\n",
" macro avg 0.92 0.91 0.92 2000\n",
"weighted avg 0.96 0.96 0.96 2000\n",
"\n",
"[[ 123 7 20]\n",
" [ 10 1410 13]\n",
" [ 10 15 392]]\n",
"Accuracy: 0.962500\n",
"Precision: 0.962313\n",
"Recall: 0.962500\n",
"F1 score: 0.962353\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "3HOv5rjRF7qI",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3HOv5rjRF7qI",
"outputId": "49661795-590f-4cb8-fa62-2e189faeb10f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6956, 'Positive': 2227, 'Negative': 817})\n",
"Model: \"sequential_14\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_14 (Embedding) (None, 31, 100) 500000 \n",
" \n",
" conv1d_2 (Conv1D) (None, 28, 128) 51328 \n",
" \n",
" max_pooling1d_2 (MaxPooling (None, 7, 128) 0 \n",
" 1D) \n",
" \n",
" flatten_2 (Flatten) (None, 896) 0 \n",
" \n",
" dense_28 (Dense) (None, 16) 14352 \n",
" \n",
" dense_29 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 565,731\n",
"Trainable params: 565,731\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 1s - loss: 0.6327 - accuracy: 0.7581 - val_loss: 0.3580 - val_accuracy: 0.8750 - 1s/epoch - 9ms/step\n",
"Epoch 2/50\n",
"125/125 - 0s - loss: 0.2226 - accuracy: 0.9155 - val_loss: 0.2240 - val_accuracy: 0.9265 - 384ms/epoch - 3ms/step\n",
"Epoch 3/50\n",
"125/125 - 0s - loss: 0.1028 - accuracy: 0.9691 - val_loss: 0.1883 - val_accuracy: 0.9400 - 380ms/epoch - 3ms/step\n",
"Epoch 4/50\n",
"125/125 - 0s - loss: 0.0530 - accuracy: 0.9865 - val_loss: 0.1782 - val_accuracy: 0.9495 - 384ms/epoch - 3ms/step\n",
"Epoch 5/50\n",
"125/125 - 0s - loss: 0.0270 - accuracy: 0.9945 - val_loss: 0.1890 - val_accuracy: 0.9520 - 392ms/epoch - 3ms/step\n",
"Epoch 6/50\n",
"125/125 - 0s - loss: 0.0139 - accuracy: 0.9976 - val_loss: 0.2070 - val_accuracy: 0.9475 - 380ms/epoch - 3ms/step\n",
"Epoch 7/50\n",
"125/125 - 0s - loss: 0.0081 - accuracy: 0.9987 - val_loss: 0.2133 - val_accuracy: 0.9485 - 385ms/epoch - 3ms/step\n",
"Epoch 8/50\n",
"125/125 - 0s - loss: 0.0068 - accuracy: 0.9986 - val_loss: 0.2245 - val_accuracy: 0.9510 - 387ms/epoch - 3ms/step\n",
"Epoch 9/50\n",
"125/125 - 0s - loss: 0.0049 - accuracy: 0.9991 - val_loss: 0.2385 - val_accuracy: 0.9500 - 378ms/epoch - 3ms/step\n",
"Epoch 10/50\n",
"125/125 - 0s - loss: 0.0042 - accuracy: 0.9995 - val_loss: 0.2460 - val_accuracy: 0.9435 - 385ms/epoch - 3ms/step\n",
"Epoch 11/50\n",
"125/125 - 0s - loss: 0.0040 - accuracy: 0.9991 - val_loss: 0.2449 - val_accuracy: 0.9485 - 388ms/epoch - 3ms/step\n",
"Epoch 12/50\n",
"125/125 - 0s - loss: 0.0035 - accuracy: 0.9995 - val_loss: 0.2529 - val_accuracy: 0.9475 - 379ms/epoch - 3ms/step\n",
"Epoch 13/50\n",
"125/125 - 0s - loss: 0.0029 - accuracy: 0.9996 - val_loss: 0.2614 - val_accuracy: 0.9520 - 393ms/epoch - 3ms/step\n",
"Epoch 14/50\n",
"125/125 - 0s - loss: 0.0029 - accuracy: 0.9994 - val_loss: 0.2737 - val_accuracy: 0.9500 - 383ms/epoch - 3ms/step\n",
"Epoch 15/50\n",
"125/125 - 0s - loss: 0.0029 - accuracy: 0.9995 - val_loss: 0.2649 - val_accuracy: 0.9475 - 384ms/epoch - 3ms/step\n",
"Epoch 16/50\n",
"125/125 - 0s - loss: 0.0026 - accuracy: 0.9996 - val_loss: 0.2707 - val_accuracy: 0.9480 - 394ms/epoch - 3ms/step\n",
"Epoch 17/50\n",
"125/125 - 0s - loss: 0.0025 - accuracy: 0.9995 - val_loss: 0.2796 - val_accuracy: 0.9455 - 385ms/epoch - 3ms/step\n",
"Epoch 18/50\n",
"125/125 - 0s - loss: 0.0029 - accuracy: 0.9995 - val_loss: 0.2761 - val_accuracy: 0.9490 - 390ms/epoch - 3ms/step\n",
"Epoch 19/50\n",
"125/125 - 0s - loss: 0.0025 - accuracy: 0.9995 - val_loss: 0.2761 - val_accuracy: 0.9485 - 388ms/epoch - 3ms/step\n",
"Epoch 20/50\n",
"125/125 - 0s - loss: 0.0023 - accuracy: 0.9996 - val_loss: 0.2934 - val_accuracy: 0.9470 - 384ms/epoch - 3ms/step\n",
"Epoch 21/50\n",
"125/125 - 0s - loss: 0.0023 - accuracy: 0.9994 - val_loss: 0.3037 - val_accuracy: 0.9485 - 391ms/epoch - 3ms/step\n",
"Epoch 22/50\n",
"125/125 - 0s - loss: 0.0023 - accuracy: 0.9996 - val_loss: 0.3156 - val_accuracy: 0.9480 - 381ms/epoch - 3ms/step\n",
"Epoch 23/50\n",
"125/125 - 0s - loss: 0.0025 - accuracy: 0.9994 - val_loss: 0.3145 - val_accuracy: 0.9480 - 382ms/epoch - 3ms/step\n",
"Epoch 24/50\n",
"125/125 - 0s - loss: 0.0025 - accuracy: 0.9996 - val_loss: 0.3068 - val_accuracy: 0.9470 - 384ms/epoch - 3ms/step\n",
"Epoch 25/50\n",
"125/125 - 0s - loss: 0.0024 - accuracy: 0.9996 - val_loss: 0.2940 - val_accuracy: 0.9495 - 388ms/epoch - 3ms/step\n",
"Epoch 26/50\n",
"125/125 - 0s - loss: 0.0021 - accuracy: 0.9995 - val_loss: 0.3201 - val_accuracy: 0.9500 - 393ms/epoch - 3ms/step\n",
"Epoch 27/50\n",
"125/125 - 0s - loss: 0.0026 - accuracy: 0.9995 - val_loss: 0.3047 - val_accuracy: 0.9500 - 392ms/epoch - 3ms/step\n",
"Epoch 28/50\n",
"125/125 - 0s - loss: 0.0022 - accuracy: 0.9996 - val_loss: 0.3093 - val_accuracy: 0.9490 - 382ms/epoch - 3ms/step\n",
"Epoch 29/50\n",
"125/125 - 0s - loss: 0.0022 - accuracy: 0.9994 - val_loss: 0.3034 - val_accuracy: 0.9515 - 387ms/epoch - 3ms/step\n",
"Epoch 30/50\n",
"125/125 - 0s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.3151 - val_accuracy: 0.9450 - 388ms/epoch - 3ms/step\n",
"Epoch 31/50\n",
"125/125 - 0s - loss: 0.0026 - accuracy: 0.9994 - val_loss: 0.3075 - val_accuracy: 0.9515 - 390ms/epoch - 3ms/step\n",
"Epoch 32/50\n",
"125/125 - 0s - loss: 0.0020 - accuracy: 0.9996 - val_loss: 0.3123 - val_accuracy: 0.9495 - 381ms/epoch - 3ms/step\n",
"Epoch 33/50\n",
"125/125 - 0s - loss: 0.0020 - accuracy: 0.9994 - val_loss: 0.3392 - val_accuracy: 0.9490 - 383ms/epoch - 3ms/step\n",
"Epoch 34/50\n",
"125/125 - 0s - loss: 0.0022 - accuracy: 0.9996 - val_loss: 0.3249 - val_accuracy: 0.9495 - 388ms/epoch - 3ms/step\n",
"Epoch 35/50\n",
"125/125 - 0s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.3562 - val_accuracy: 0.9480 - 386ms/epoch - 3ms/step\n",
"Epoch 36/50\n",
"125/125 - 0s - loss: 0.0027 - accuracy: 0.9995 - val_loss: 0.2939 - val_accuracy: 0.9455 - 386ms/epoch - 3ms/step\n",
"Epoch 37/50\n",
"125/125 - 0s - loss: 0.0026 - accuracy: 0.9995 - val_loss: 0.2954 - val_accuracy: 0.9500 - 389ms/epoch - 3ms/step\n",
"Epoch 38/50\n",
"125/125 - 0s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.3303 - val_accuracy: 0.9495 - 382ms/epoch - 3ms/step\n",
"Epoch 39/50\n",
"125/125 - 0s - loss: 0.0022 - accuracy: 0.9995 - val_loss: 0.3369 - val_accuracy: 0.9485 - 387ms/epoch - 3ms/step\n",
"Epoch 40/50\n",
"125/125 - 0s - loss: 0.0020 - accuracy: 0.9996 - val_loss: 0.3190 - val_accuracy: 0.9475 - 380ms/epoch - 3ms/step\n",
"Epoch 41/50\n",
"125/125 - 0s - loss: 0.0025 - accuracy: 0.9995 - val_loss: 0.3131 - val_accuracy: 0.9445 - 384ms/epoch - 3ms/step\n",
"Epoch 42/50\n",
"125/125 - 0s - loss: 0.0021 - accuracy: 0.9995 - val_loss: 0.3220 - val_accuracy: 0.9505 - 397ms/epoch - 3ms/step\n",
"Epoch 43/50\n",
"125/125 - 0s - loss: 0.0026 - accuracy: 0.9994 - val_loss: 0.3289 - val_accuracy: 0.9505 - 385ms/epoch - 3ms/step\n",
"Epoch 44/50\n",
"125/125 - 0s - loss: 0.0023 - accuracy: 0.9995 - val_loss: 0.3453 - val_accuracy: 0.9485 - 382ms/epoch - 3ms/step\n",
"Epoch 45/50\n",
"125/125 - 0s - loss: 0.0021 - accuracy: 0.9996 - val_loss: 0.3364 - val_accuracy: 0.9505 - 385ms/epoch - 3ms/step\n",
"Epoch 46/50\n",
"125/125 - 0s - loss: 0.0019 - accuracy: 0.9995 - val_loss: 0.3369 - val_accuracy: 0.9470 - 402ms/epoch - 3ms/step\n",
"Epoch 47/50\n",
"125/125 - 0s - loss: 0.0022 - accuracy: 0.9995 - val_loss: 0.3318 - val_accuracy: 0.9485 - 389ms/epoch - 3ms/step\n",
"Epoch 48/50\n",
"125/125 - 0s - loss: 0.0019 - accuracy: 0.9996 - val_loss: 0.3300 - val_accuracy: 0.9495 - 386ms/epoch - 3ms/step\n",
"Epoch 49/50\n",
"125/125 - 0s - loss: 0.0020 - accuracy: 0.9996 - val_loss: 0.3380 - val_accuracy: 0.9475 - 383ms/epoch - 3ms/step\n",
"Epoch 50/50\n",
"125/125 - 0s - loss: 0.0020 - accuracy: 0.9995 - val_loss: 0.3361 - val_accuracy: 0.9495 - 382ms/epoch - 3ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"cleanText\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"cleanText\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model_conv = Sequential()\n",
"model_conv.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"model_conv.add(Conv1D(128, 4, activation='relu'))\n",
"model_conv.add(MaxPooling1D(pool_size=4))\n",
"model_conv.add(Flatten())\n",
"model_conv.add(Dense(16,activation='relu'))\n",
"model_conv.add(Dense(3, activation='softmax'))\n",
"model_conv.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model_conv.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"pred4=model_conv.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"pred4"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "kEaKTdvDHvW_",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kEaKTdvDHvW_",
"outputId": "80a0af1e-824b-4224-8eea-e7fbca62f4e3"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 0s 1ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.83 0.73 0.77 153\n",
" 1 0.97 0.98 0.97 1375\n",
" 2 0.93 0.93 0.93 472\n",
"\n",
" accuracy 0.95 2000\n",
" macro avg 0.91 0.88 0.89 2000\n",
"weighted avg 0.95 0.95 0.95 2000\n",
"\n",
"[[ 111 24 18]\n",
" [ 13 1349 13]\n",
" [ 10 23 439]]\n",
"Accuracy: 0.949500\n",
"Precision: 0.948157\n",
"Recall: 0.949500\n",
"F1 score: 0.948529\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model_conv.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fZjWXR1B0brS",
"metadata": {
"id": "fZjWXR1B0brS"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "WF24Pg9y0b2u",
"metadata": {
"id": "WF24Pg9y0b2u"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 40,
"id": "JvagE_3BHvee",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 295
},
"id": "JvagE_3BHvee",
"outputId": "4a9749ad-507f-464a-cdbb-ff619c3e1f49"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Unnamed: 0.1 | \n",
" Date | \n",
" Username | \n",
" Content | \n",
" URL | \n",
" Hashtags | \n",
" Subjectivity | \n",
" Polarity | \n",
" Sentiment | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2022-11-30 11:53:21+00:00 | \n",
" 0xEthereumYoda | \n",
" #Ethereum price update: \\n\\n#ETH $1269.23 USD\\... | \n",
" https://twitter.com/0xEthereumYoda/status/1597... | \n",
" ['Ethereum', 'ETH', 'Bitcoin', 'BTC', 'altcoin... | \n",
" 0.250000 | \n",
" 0.000000 | \n",
" Neutral | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2022-11-30 11:53:21+00:00 | \n",
" Lawrenc32984128 | \n",
" @mtmalinen @ecb Do well to understand that eve... | \n",
" https://twitter.com/Lawrenc32984128/status/159... | \n",
" ['BTC'] | \n",
" 0.511111 | \n",
" 0.366667 | \n",
" Positive | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"\n",
" \n",
"
\n",
"
\n",
" "
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 Date Username \\\n",
"0 0 0 2022-11-30 11:53:21+00:00 0xEthereumYoda \n",
"1 1 1 2022-11-30 11:53:21+00:00 Lawrenc32984128 \n",
"\n",
" Content \\\n",
"0 #Ethereum price update: \\n\\n#ETH $1269.23 USD\\... \n",
"1 @mtmalinen @ecb Do well to understand that eve... \n",
"\n",
" URL \\\n",
"0 https://twitter.com/0xEthereumYoda/status/1597... \n",
"1 https://twitter.com/Lawrenc32984128/status/159... \n",
"\n",
" Hashtags Subjectivity Polarity \\\n",
"0 ['Ethereum', 'ETH', 'Bitcoin', 'BTC', 'altcoin... 0.250000 0.000000 \n",
"1 ['BTC'] 0.511111 0.366667 \n",
"\n",
" Sentiment \n",
"0 Neutral \n",
"1 Positive "
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data=pd.read_csv(\"/content/drive/My Drive/crypto_10k_tweets_withoutpreprocessed_sentiments.csv\");\n",
"data.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "eFtuvhqbJpgF",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "eFtuvhqbJpgF",
"outputId": "74387062-f1aa-4550-9eca-d369092443fe"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6127, 'Positive': 3013, 'Negative': 860})\n",
"Model: \"sequential_15\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_15 (Embedding) (None, 63, 100) 500000 \n",
" \n",
" gru_3 (GRU) (None, 128) 88320 \n",
" \n",
" dropout_15 (Dropout) (None, 128) 0 \n",
" \n",
" dense_30 (Dense) (None, 32) 4128 \n",
" \n",
" dense_31 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 592,547\n",
"Trainable params: 592,547\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 3s - loss: 0.7264 - accuracy: 0.6967 - val_loss: 0.5648 - val_accuracy: 0.7780 - 3s/epoch - 20ms/step\n",
"Epoch 2/50\n",
"125/125 - 1s - loss: 0.4157 - accuracy: 0.8465 - val_loss: 0.4206 - val_accuracy: 0.8380 - 792ms/epoch - 6ms/step\n",
"Epoch 3/50\n",
"125/125 - 1s - loss: 0.2704 - accuracy: 0.9015 - val_loss: 0.4117 - val_accuracy: 0.8760 - 810ms/epoch - 6ms/step\n",
"Epoch 4/50\n",
"125/125 - 1s - loss: 0.1782 - accuracy: 0.9427 - val_loss: 0.4274 - val_accuracy: 0.8770 - 789ms/epoch - 6ms/step\n",
"Epoch 5/50\n",
"125/125 - 1s - loss: 0.1326 - accuracy: 0.9597 - val_loss: 0.4292 - val_accuracy: 0.8700 - 802ms/epoch - 6ms/step\n",
"Epoch 6/50\n",
"125/125 - 1s - loss: 0.0991 - accuracy: 0.9707 - val_loss: 0.5957 - val_accuracy: 0.8775 - 792ms/epoch - 6ms/step\n",
"Epoch 7/50\n",
"125/125 - 1s - loss: 0.0867 - accuracy: 0.9745 - val_loss: 0.4976 - val_accuracy: 0.8790 - 794ms/epoch - 6ms/step\n",
"Epoch 8/50\n",
"125/125 - 1s - loss: 0.0692 - accuracy: 0.9805 - val_loss: 0.5952 - val_accuracy: 0.8845 - 798ms/epoch - 6ms/step\n",
"Epoch 9/50\n",
"125/125 - 1s - loss: 0.0549 - accuracy: 0.9850 - val_loss: 0.5796 - val_accuracy: 0.8675 - 788ms/epoch - 6ms/step\n",
"Epoch 10/50\n",
"125/125 - 1s - loss: 0.0410 - accuracy: 0.9885 - val_loss: 0.6277 - val_accuracy: 0.8590 - 791ms/epoch - 6ms/step\n",
"Epoch 11/50\n",
"125/125 - 1s - loss: 0.0375 - accuracy: 0.9905 - val_loss: 0.6116 - val_accuracy: 0.8790 - 796ms/epoch - 6ms/step\n",
"Epoch 12/50\n",
"125/125 - 1s - loss: 0.0304 - accuracy: 0.9914 - val_loss: 0.7491 - val_accuracy: 0.8690 - 787ms/epoch - 6ms/step\n",
"Epoch 13/50\n",
"125/125 - 1s - loss: 0.0301 - accuracy: 0.9910 - val_loss: 0.6123 - val_accuracy: 0.8695 - 787ms/epoch - 6ms/step\n",
"Epoch 14/50\n",
"125/125 - 1s - loss: 0.0321 - accuracy: 0.9920 - val_loss: 0.7453 - val_accuracy: 0.8615 - 790ms/epoch - 6ms/step\n",
"Epoch 15/50\n",
"125/125 - 1s - loss: 0.0282 - accuracy: 0.9921 - val_loss: 0.6031 - val_accuracy: 0.8765 - 791ms/epoch - 6ms/step\n",
"Epoch 16/50\n",
"125/125 - 1s - loss: 0.0224 - accuracy: 0.9939 - val_loss: 0.7341 - val_accuracy: 0.8795 - 797ms/epoch - 6ms/step\n",
"Epoch 17/50\n",
"125/125 - 1s - loss: 0.0162 - accuracy: 0.9960 - val_loss: 0.7205 - val_accuracy: 0.8715 - 794ms/epoch - 6ms/step\n",
"Epoch 18/50\n",
"125/125 - 1s - loss: 0.0184 - accuracy: 0.9956 - val_loss: 0.7879 - val_accuracy: 0.8630 - 792ms/epoch - 6ms/step\n",
"Epoch 19/50\n",
"125/125 - 1s - loss: 0.0249 - accuracy: 0.9934 - val_loss: 0.8594 - val_accuracy: 0.8680 - 790ms/epoch - 6ms/step\n",
"Epoch 20/50\n",
"125/125 - 1s - loss: 0.0249 - accuracy: 0.9916 - val_loss: 0.7781 - val_accuracy: 0.8740 - 796ms/epoch - 6ms/step\n",
"Epoch 21/50\n",
"125/125 - 1s - loss: 0.0303 - accuracy: 0.9911 - val_loss: 0.7573 - val_accuracy: 0.8795 - 791ms/epoch - 6ms/step\n",
"Epoch 22/50\n",
"125/125 - 1s - loss: 0.0142 - accuracy: 0.9967 - val_loss: 0.7572 - val_accuracy: 0.8765 - 799ms/epoch - 6ms/step\n",
"Epoch 23/50\n",
"125/125 - 1s - loss: 0.0097 - accuracy: 0.9977 - val_loss: 0.8772 - val_accuracy: 0.8780 - 786ms/epoch - 6ms/step\n",
"Epoch 24/50\n",
"125/125 - 1s - loss: 0.0082 - accuracy: 0.9984 - val_loss: 0.8761 - val_accuracy: 0.8705 - 841ms/epoch - 7ms/step\n",
"Epoch 25/50\n",
"125/125 - 1s - loss: 0.0073 - accuracy: 0.9980 - val_loss: 0.9546 - val_accuracy: 0.8730 - 817ms/epoch - 7ms/step\n",
"Epoch 26/50\n",
"125/125 - 1s - loss: 0.0093 - accuracy: 0.9976 - val_loss: 0.9554 - val_accuracy: 0.8725 - 779ms/epoch - 6ms/step\n",
"Epoch 27/50\n",
"125/125 - 1s - loss: 0.0109 - accuracy: 0.9969 - val_loss: 0.8849 - val_accuracy: 0.8750 - 788ms/epoch - 6ms/step\n",
"Epoch 28/50\n",
"125/125 - 1s - loss: 0.0129 - accuracy: 0.9970 - val_loss: 0.8164 - val_accuracy: 0.8755 - 786ms/epoch - 6ms/step\n",
"Epoch 29/50\n",
"125/125 - 1s - loss: 0.0202 - accuracy: 0.9937 - val_loss: 0.7456 - val_accuracy: 0.8705 - 788ms/epoch - 6ms/step\n",
"Epoch 30/50\n",
"125/125 - 1s - loss: 0.0110 - accuracy: 0.9971 - val_loss: 0.8166 - val_accuracy: 0.8735 - 895ms/epoch - 7ms/step\n",
"Epoch 31/50\n",
"125/125 - 1s - loss: 0.0090 - accuracy: 0.9975 - val_loss: 0.9144 - val_accuracy: 0.8750 - 896ms/epoch - 7ms/step\n",
"Epoch 32/50\n",
"125/125 - 1s - loss: 0.0066 - accuracy: 0.9981 - val_loss: 0.9810 - val_accuracy: 0.8785 - 838ms/epoch - 7ms/step\n",
"Epoch 33/50\n",
"125/125 - 1s - loss: 0.0070 - accuracy: 0.9979 - val_loss: 0.9891 - val_accuracy: 0.8760 - 825ms/epoch - 7ms/step\n",
"Epoch 34/50\n",
"125/125 - 1s - loss: 0.0060 - accuracy: 0.9979 - val_loss: 0.9982 - val_accuracy: 0.8765 - 810ms/epoch - 6ms/step\n",
"Epoch 35/50\n",
"125/125 - 1s - loss: 0.0066 - accuracy: 0.9985 - val_loss: 1.0001 - val_accuracy: 0.8770 - 809ms/epoch - 6ms/step\n",
"Epoch 36/50\n",
"125/125 - 1s - loss: 0.0064 - accuracy: 0.9981 - val_loss: 0.9785 - val_accuracy: 0.8785 - 800ms/epoch - 6ms/step\n",
"Epoch 37/50\n",
"125/125 - 1s - loss: 0.0066 - accuracy: 0.9981 - val_loss: 1.1035 - val_accuracy: 0.8725 - 791ms/epoch - 6ms/step\n",
"Epoch 38/50\n",
"125/125 - 1s - loss: 0.0237 - accuracy: 0.9933 - val_loss: 0.7935 - val_accuracy: 0.8675 - 796ms/epoch - 6ms/step\n",
"Epoch 39/50\n",
"125/125 - 1s - loss: 0.0170 - accuracy: 0.9950 - val_loss: 1.0117 - val_accuracy: 0.8740 - 792ms/epoch - 6ms/step\n",
"Epoch 40/50\n",
"125/125 - 1s - loss: 0.0153 - accuracy: 0.9960 - val_loss: 0.9096 - val_accuracy: 0.8675 - 801ms/epoch - 6ms/step\n",
"Epoch 41/50\n",
"125/125 - 1s - loss: 0.0147 - accuracy: 0.9964 - val_loss: 0.9105 - val_accuracy: 0.8680 - 808ms/epoch - 6ms/step\n",
"Epoch 42/50\n",
"125/125 - 1s - loss: 0.0135 - accuracy: 0.9962 - val_loss: 0.8667 - val_accuracy: 0.8750 - 793ms/epoch - 6ms/step\n",
"Epoch 43/50\n",
"125/125 - 1s - loss: 0.0091 - accuracy: 0.9979 - val_loss: 0.9110 - val_accuracy: 0.8690 - 797ms/epoch - 6ms/step\n",
"Epoch 44/50\n",
"125/125 - 1s - loss: 0.0061 - accuracy: 0.9980 - val_loss: 0.9645 - val_accuracy: 0.8645 - 806ms/epoch - 6ms/step\n",
"Epoch 45/50\n",
"125/125 - 1s - loss: 0.0054 - accuracy: 0.9984 - val_loss: 1.0400 - val_accuracy: 0.8680 - 825ms/epoch - 7ms/step\n",
"Epoch 46/50\n",
"125/125 - 1s - loss: 0.0060 - accuracy: 0.9980 - val_loss: 1.0506 - val_accuracy: 0.8650 - 817ms/epoch - 7ms/step\n",
"Epoch 47/50\n",
"125/125 - 1s - loss: 0.0060 - accuracy: 0.9979 - val_loss: 1.0336 - val_accuracy: 0.8750 - 800ms/epoch - 6ms/step\n",
"Epoch 48/50\n",
"125/125 - 1s - loss: 0.0049 - accuracy: 0.9986 - val_loss: 1.0511 - val_accuracy: 0.8700 - 798ms/epoch - 6ms/step\n",
"Epoch 49/50\n",
"125/125 - 1s - loss: 0.0048 - accuracy: 0.9986 - val_loss: 1.0655 - val_accuracy: 0.8730 - 811ms/epoch - 6ms/step\n",
"Epoch 50/50\n",
"125/125 - 1s - loss: 0.0043 - accuracy: 0.9986 - val_loss: 1.1622 - val_accuracy: 0.8685 - 793ms/epoch - 6ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Content\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Content\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"CNNRNN = Sequential()\n",
"CNNRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"CNNRNN.add(layers.GRU(128))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(Dense(32, activation='relu'))\n",
"CNNRNN.add(Dense(3, activation='softmax'))\n",
"CNNRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"CNNRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"predCNNRNN=CNNRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"predCNNRNN"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "W-u6J0KSKd95",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "W-u6J0KSKd95",
"outputId": "3d53bf06-39fb-48bd-cd99-62ef3d07e200"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 0s 2ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.66 0.61 0.63 182\n",
" 1 0.94 0.90 0.92 1221\n",
" 2 0.80 0.88 0.84 597\n",
"\n",
" accuracy 0.87 2000\n",
" macro avg 0.80 0.80 0.80 2000\n",
"weighted avg 0.87 0.87 0.87 2000\n",
"\n",
"[[ 111 27 44]\n",
" [ 32 1099 90]\n",
" [ 25 45 527]]\n",
"Accuracy: 0.868500\n",
"Precision: 0.871075\n",
"Recall: 0.868500\n",
"F1 score: 0.868801\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =CNNRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "JksXRf-lJpj5",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JksXRf-lJpj5",
"outputId": "bb73cf66-01a5-4ced-e9ea-8b6d34d428c1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6127, 'Positive': 3013, 'Negative': 860})\n",
"Model: \"sequential_16\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_16 (Embedding) (None, 63, 100) 500000 \n",
" \n",
" simple_rnn_3 (SimpleRNN) (None, 128) 29312 \n",
" \n",
" dropout_16 (Dropout) (None, 128) 0 \n",
" \n",
" dense_32 (Dense) (None, 32) 4128 \n",
" \n",
" dense_33 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 533,539\n",
"Trainable params: 533,539\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 5s - loss: 0.7291 - accuracy: 0.6967 - val_loss: 0.6144 - val_accuracy: 0.7640 - 5s/epoch - 43ms/step\n",
"Epoch 2/50\n",
"125/125 - 4s - loss: 0.4624 - accuracy: 0.8242 - val_loss: 0.5227 - val_accuracy: 0.8025 - 4s/epoch - 34ms/step\n",
"Epoch 3/50\n",
"125/125 - 4s - loss: 0.2218 - accuracy: 0.9234 - val_loss: 0.6188 - val_accuracy: 0.7980 - 4s/epoch - 35ms/step\n",
"Epoch 4/50\n",
"125/125 - 4s - loss: 0.1039 - accuracy: 0.9670 - val_loss: 0.7253 - val_accuracy: 0.8145 - 4s/epoch - 34ms/step\n",
"Epoch 5/50\n",
"125/125 - 4s - loss: 0.0673 - accuracy: 0.9815 - val_loss: 0.7608 - val_accuracy: 0.7885 - 4s/epoch - 35ms/step\n",
"Epoch 6/50\n",
"125/125 - 4s - loss: 0.0590 - accuracy: 0.9829 - val_loss: 0.7849 - val_accuracy: 0.8100 - 4s/epoch - 35ms/step\n",
"Epoch 7/50\n",
"125/125 - 4s - loss: 0.0515 - accuracy: 0.9844 - val_loss: 0.8765 - val_accuracy: 0.8010 - 4s/epoch - 36ms/step\n",
"Epoch 8/50\n",
"125/125 - 5s - loss: 0.0318 - accuracy: 0.9899 - val_loss: 0.8848 - val_accuracy: 0.8100 - 5s/epoch - 37ms/step\n",
"Epoch 9/50\n",
"125/125 - 4s - loss: 0.0362 - accuracy: 0.9901 - val_loss: 0.9556 - val_accuracy: 0.7960 - 4s/epoch - 35ms/step\n",
"Epoch 10/50\n",
"125/125 - 5s - loss: 0.0432 - accuracy: 0.9866 - val_loss: 0.9397 - val_accuracy: 0.8005 - 5s/epoch - 36ms/step\n",
"Epoch 11/50\n",
"125/125 - 4s - loss: 0.0340 - accuracy: 0.9902 - val_loss: 1.0081 - val_accuracy: 0.7840 - 4s/epoch - 35ms/step\n",
"Epoch 12/50\n",
"125/125 - 4s - loss: 0.0363 - accuracy: 0.9893 - val_loss: 1.0859 - val_accuracy: 0.7565 - 4s/epoch - 34ms/step\n",
"Epoch 13/50\n",
"125/125 - 4s - loss: 0.0261 - accuracy: 0.9930 - val_loss: 1.0061 - val_accuracy: 0.8080 - 4s/epoch - 35ms/step\n",
"Epoch 14/50\n",
"125/125 - 4s - loss: 0.0231 - accuracy: 0.9931 - val_loss: 1.1304 - val_accuracy: 0.7805 - 4s/epoch - 35ms/step\n",
"Epoch 15/50\n",
"125/125 - 4s - loss: 0.0272 - accuracy: 0.9908 - val_loss: 1.1940 - val_accuracy: 0.7560 - 4s/epoch - 35ms/step\n",
"Epoch 16/50\n",
"125/125 - 4s - loss: 0.0298 - accuracy: 0.9912 - val_loss: 1.0719 - val_accuracy: 0.8065 - 4s/epoch - 35ms/step\n",
"Epoch 17/50\n",
"125/125 - 5s - loss: 0.0343 - accuracy: 0.9905 - val_loss: 1.1904 - val_accuracy: 0.7405 - 5s/epoch - 37ms/step\n",
"Epoch 18/50\n",
"125/125 - 4s - loss: 0.0337 - accuracy: 0.9896 - val_loss: 1.0931 - val_accuracy: 0.8145 - 4s/epoch - 36ms/step\n",
"Epoch 19/50\n",
"125/125 - 4s - loss: 0.0159 - accuracy: 0.9960 - val_loss: 1.0956 - val_accuracy: 0.7905 - 4s/epoch - 34ms/step\n",
"Epoch 20/50\n",
"125/125 - 4s - loss: 0.0207 - accuracy: 0.9933 - val_loss: 1.0967 - val_accuracy: 0.7995 - 4s/epoch - 35ms/step\n",
"Epoch 21/50\n",
"125/125 - 4s - loss: 0.0254 - accuracy: 0.9931 - val_loss: 1.1289 - val_accuracy: 0.8010 - 4s/epoch - 35ms/step\n",
"Epoch 22/50\n",
"125/125 - 4s - loss: 0.0141 - accuracy: 0.9959 - val_loss: 1.2070 - val_accuracy: 0.8030 - 4s/epoch - 35ms/step\n",
"Epoch 23/50\n",
"125/125 - 4s - loss: 0.0098 - accuracy: 0.9981 - val_loss: 1.1814 - val_accuracy: 0.8210 - 4s/epoch - 36ms/step\n",
"Epoch 24/50\n",
"125/125 - 5s - loss: 0.0074 - accuracy: 0.9976 - val_loss: 1.3728 - val_accuracy: 0.7800 - 5s/epoch - 36ms/step\n",
"Epoch 25/50\n",
"125/125 - 4s - loss: 0.0118 - accuracy: 0.9964 - val_loss: 1.4392 - val_accuracy: 0.7825 - 4s/epoch - 35ms/step\n",
"Epoch 26/50\n",
"125/125 - 4s - loss: 0.0737 - accuracy: 0.9776 - val_loss: 1.0426 - val_accuracy: 0.8040 - 4s/epoch - 35ms/step\n",
"Epoch 27/50\n",
"125/125 - 4s - loss: 0.0598 - accuracy: 0.9811 - val_loss: 1.0058 - val_accuracy: 0.7995 - 4s/epoch - 35ms/step\n",
"Epoch 28/50\n",
"125/125 - 4s - loss: 0.2011 - accuracy: 0.9390 - val_loss: 0.8970 - val_accuracy: 0.8170 - 4s/epoch - 35ms/step\n",
"Epoch 29/50\n",
"125/125 - 4s - loss: 0.0375 - accuracy: 0.9895 - val_loss: 1.0033 - val_accuracy: 0.7960 - 4s/epoch - 34ms/step\n",
"Epoch 30/50\n",
"125/125 - 5s - loss: 0.0244 - accuracy: 0.9926 - val_loss: 1.0193 - val_accuracy: 0.8195 - 5s/epoch - 37ms/step\n",
"Epoch 31/50\n",
"125/125 - 4s - loss: 0.0104 - accuracy: 0.9975 - val_loss: 1.0870 - val_accuracy: 0.8145 - 4s/epoch - 35ms/step\n",
"Epoch 32/50\n",
"125/125 - 5s - loss: 0.0090 - accuracy: 0.9971 - val_loss: 1.1206 - val_accuracy: 0.8080 - 5s/epoch - 37ms/step\n",
"Epoch 33/50\n",
"125/125 - 4s - loss: 0.0091 - accuracy: 0.9976 - val_loss: 1.1527 - val_accuracy: 0.8120 - 4s/epoch - 35ms/step\n",
"Epoch 34/50\n",
"125/125 - 4s - loss: 0.0070 - accuracy: 0.9981 - val_loss: 1.1669 - val_accuracy: 0.7945 - 4s/epoch - 35ms/step\n",
"Epoch 35/50\n",
"125/125 - 4s - loss: 0.0074 - accuracy: 0.9977 - val_loss: 1.1836 - val_accuracy: 0.8070 - 4s/epoch - 34ms/step\n",
"Epoch 36/50\n",
"125/125 - 4s - loss: 0.0154 - accuracy: 0.9952 - val_loss: 1.3282 - val_accuracy: 0.7595 - 4s/epoch - 34ms/step\n",
"Epoch 37/50\n",
"125/125 - 4s - loss: 0.0115 - accuracy: 0.9962 - val_loss: 1.1916 - val_accuracy: 0.7950 - 4s/epoch - 35ms/step\n",
"Epoch 38/50\n",
"125/125 - 4s - loss: 0.0094 - accuracy: 0.9970 - val_loss: 1.3021 - val_accuracy: 0.7730 - 4s/epoch - 35ms/step\n",
"Epoch 39/50\n",
"125/125 - 4s - loss: 0.0090 - accuracy: 0.9973 - val_loss: 1.2642 - val_accuracy: 0.7990 - 4s/epoch - 35ms/step\n",
"Epoch 40/50\n",
"125/125 - 4s - loss: 0.0081 - accuracy: 0.9977 - val_loss: 1.2716 - val_accuracy: 0.7885 - 4s/epoch - 36ms/step\n",
"Epoch 41/50\n",
"125/125 - 4s - loss: 0.0075 - accuracy: 0.9979 - val_loss: 1.3015 - val_accuracy: 0.7990 - 4s/epoch - 36ms/step\n",
"Epoch 42/50\n",
"125/125 - 4s - loss: 0.0090 - accuracy: 0.9973 - val_loss: 1.2721 - val_accuracy: 0.8060 - 4s/epoch - 35ms/step\n",
"Epoch 43/50\n",
"125/125 - 4s - loss: 0.0214 - accuracy: 0.9946 - val_loss: 1.1146 - val_accuracy: 0.7945 - 4s/epoch - 35ms/step\n",
"Epoch 44/50\n",
"125/125 - 4s - loss: 0.0431 - accuracy: 0.9881 - val_loss: 1.1113 - val_accuracy: 0.7895 - 4s/epoch - 35ms/step\n",
"Epoch 45/50\n",
"125/125 - 4s - loss: 0.0509 - accuracy: 0.9858 - val_loss: 1.1399 - val_accuracy: 0.7745 - 4s/epoch - 36ms/step\n",
"Epoch 46/50\n",
"125/125 - 4s - loss: 0.1379 - accuracy: 0.9553 - val_loss: 0.8473 - val_accuracy: 0.8140 - 4s/epoch - 35ms/step\n",
"Epoch 47/50\n",
"125/125 - 4s - loss: 0.0346 - accuracy: 0.9885 - val_loss: 1.0007 - val_accuracy: 0.8000 - 4s/epoch - 35ms/step\n",
"Epoch 48/50\n",
"125/125 - 4s - loss: 0.0126 - accuracy: 0.9967 - val_loss: 1.0809 - val_accuracy: 0.8065 - 4s/epoch - 35ms/step\n",
"Epoch 49/50\n",
"125/125 - 4s - loss: 0.0083 - accuracy: 0.9975 - val_loss: 1.1551 - val_accuracy: 0.7960 - 4s/epoch - 35ms/step\n",
"Epoch 50/50\n",
"125/125 - 4s - loss: 0.0062 - accuracy: 0.9981 - val_loss: 1.1604 - val_accuracy: 0.8065 - 4s/epoch - 35ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Content\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Content\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"CNNRNN = Sequential()\n",
"CNNRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"CNNRNN.add(layers.SimpleRNN(128))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(Dense(32, activation='relu'))\n",
"CNNRNN.add(Dense(3, activation='softmax'))\n",
"CNNRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"CNNRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"predCNNRNN=CNNRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"predCNNRNN"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "QMFIchKELBmE",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "QMFIchKELBmE",
"outputId": "b557a007-b552-4afc-fa61-9882be5f9cb4"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 0s 5ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.36 0.32 0.34 182\n",
" 1 0.89 0.90 0.89 1200\n",
" 2 0.76 0.77 0.76 618\n",
"\n",
" accuracy 0.81 2000\n",
" macro avg 0.67 0.66 0.67 2000\n",
"weighted avg 0.80 0.81 0.80 2000\n",
"\n",
"[[ 58 50 74]\n",
" [ 42 1081 77]\n",
" [ 59 85 474]]\n",
"Accuracy: 0.806500\n",
"Precision: 0.800929\n",
"Recall: 0.806500\n",
"F1 score: 0.803542\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =CNNRNN.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "x4a4uhyLLBuc",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "x4a4uhyLLBuc",
"outputId": "c1b6fafb-70d9-4390-d6c0-40c36006881f"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6127, 'Positive': 3013, 'Negative': 860})\n",
"Model: \"sequential_17\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_17 (Embedding) (None, 63, 100) 500000 \n",
" \n",
" dropout_17 (Dropout) (None, 63, 100) 0 \n",
" \n",
" bidirectional_6 (Bidirectio (None, 63, 128) 84480 \n",
" nal) \n",
" \n",
" bidirectional_7 (Bidirectio (None, 64) 41216 \n",
" nal) \n",
" \n",
" dropout_18 (Dropout) (None, 64) 0 \n",
" \n",
" dense_34 (Dense) (None, 16) 1040 \n",
" \n",
" dense_35 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 626,787\n",
"Trainable params: 626,787\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"118/118 - 9s - loss: 0.7112 - accuracy: 0.7151 - precision: 0.7710 - recall: 0.6007 - val_loss: 0.5705 - val_accuracy: 0.7804 - val_precision: 0.8073 - val_recall: 0.7456 - 9s/epoch - 76ms/step\n",
"Epoch 2/50\n",
"118/118 - 2s - loss: 0.4715 - accuracy: 0.8271 - precision: 0.8537 - recall: 0.7977 - val_loss: 0.4589 - val_accuracy: 0.8332 - val_precision: 0.8567 - val_recall: 0.8012 - 2s/epoch - 16ms/step\n",
"Epoch 3/50\n",
"118/118 - 2s - loss: 0.3334 - accuracy: 0.8732 - precision: 0.9077 - recall: 0.8524 - val_loss: 0.4214 - val_accuracy: 0.8460 - val_precision: 0.8906 - val_recall: 0.8144 - 2s/epoch - 16ms/step\n",
"Epoch 4/50\n",
"118/118 - 2s - loss: 0.2762 - accuracy: 0.8980 - precision: 0.9302 - recall: 0.8641 - val_loss: 0.4526 - val_accuracy: 0.8632 - val_precision: 0.8938 - val_recall: 0.8348 - 2s/epoch - 16ms/step\n",
"Epoch 5/50\n",
"118/118 - 2s - loss: 0.2171 - accuracy: 0.9293 - precision: 0.9439 - recall: 0.9116 - val_loss: 0.5000 - val_accuracy: 0.8592 - val_precision: 0.8724 - val_recall: 0.8476 - 2s/epoch - 16ms/step\n",
"Epoch 6/50\n",
"118/118 - 2s - loss: 0.1721 - accuracy: 0.9488 - precision: 0.9548 - recall: 0.9415 - val_loss: 0.5060 - val_accuracy: 0.8708 - val_precision: 0.8766 - val_recall: 0.8668 - 2s/epoch - 16ms/step\n",
"Epoch 7/50\n",
"118/118 - 2s - loss: 0.1454 - accuracy: 0.9595 - precision: 0.9630 - recall: 0.9548 - val_loss: 0.5157 - val_accuracy: 0.8688 - val_precision: 0.8738 - val_recall: 0.8640 - 2s/epoch - 16ms/step\n",
"Epoch 8/50\n",
"118/118 - 2s - loss: 0.1158 - accuracy: 0.9679 - precision: 0.9704 - recall: 0.9647 - val_loss: 0.5511 - val_accuracy: 0.8696 - val_precision: 0.8717 - val_recall: 0.8668 - 2s/epoch - 16ms/step\n",
"Epoch 9/50\n",
"118/118 - 2s - loss: 0.1137 - accuracy: 0.9677 - precision: 0.9698 - recall: 0.9665 - val_loss: 0.5337 - val_accuracy: 0.8636 - val_precision: 0.8677 - val_recall: 0.8604 - 2s/epoch - 16ms/step\n",
"Epoch 10/50\n",
"118/118 - 2s - loss: 0.0961 - accuracy: 0.9741 - precision: 0.9759 - recall: 0.9727 - val_loss: 0.5450 - val_accuracy: 0.8644 - val_precision: 0.8706 - val_recall: 0.8608 - 2s/epoch - 16ms/step\n",
"Epoch 11/50\n",
"118/118 - 2s - loss: 0.0915 - accuracy: 0.9751 - precision: 0.9767 - recall: 0.9735 - val_loss: 0.6207 - val_accuracy: 0.8500 - val_precision: 0.8532 - val_recall: 0.8464 - 2s/epoch - 16ms/step\n",
"Epoch 12/50\n",
"118/118 - 2s - loss: 0.0796 - accuracy: 0.9771 - precision: 0.9783 - recall: 0.9759 - val_loss: 0.5531 - val_accuracy: 0.8728 - val_precision: 0.8744 - val_recall: 0.8688 - 2s/epoch - 17ms/step\n",
"Epoch 13/50\n",
"118/118 - 2s - loss: 0.0589 - accuracy: 0.9836 - precision: 0.9850 - recall: 0.9825 - val_loss: 0.6634 - val_accuracy: 0.8644 - val_precision: 0.8671 - val_recall: 0.8616 - 2s/epoch - 17ms/step\n",
"Epoch 14/50\n",
"118/118 - 2s - loss: 0.0544 - accuracy: 0.9853 - precision: 0.9870 - recall: 0.9841 - val_loss: 0.6650 - val_accuracy: 0.8692 - val_precision: 0.8701 - val_recall: 0.8680 - 2s/epoch - 16ms/step\n",
"Epoch 15/50\n",
"118/118 - 2s - loss: 0.0539 - accuracy: 0.9867 - precision: 0.9874 - recall: 0.9853 - val_loss: 0.7128 - val_accuracy: 0.8672 - val_precision: 0.8685 - val_recall: 0.8664 - 2s/epoch - 17ms/step\n",
"Epoch 16/50\n",
"118/118 - 2s - loss: 0.0567 - accuracy: 0.9844 - precision: 0.9849 - recall: 0.9835 - val_loss: 0.7083 - val_accuracy: 0.8668 - val_precision: 0.8671 - val_recall: 0.8668 - 2s/epoch - 17ms/step\n",
"Epoch 17/50\n",
"118/118 - 2s - loss: 0.0619 - accuracy: 0.9837 - precision: 0.9844 - recall: 0.9831 - val_loss: 0.6754 - val_accuracy: 0.8732 - val_precision: 0.8759 - val_recall: 0.8720 - 2s/epoch - 16ms/step\n",
"Epoch 18/50\n",
"118/118 - 2s - loss: 0.0440 - accuracy: 0.9879 - precision: 0.9883 - recall: 0.9873 - val_loss: 0.7595 - val_accuracy: 0.8688 - val_precision: 0.8708 - val_recall: 0.8684 - 2s/epoch - 16ms/step\n",
"Epoch 19/50\n",
"118/118 - 2s - loss: 0.0424 - accuracy: 0.9875 - precision: 0.9881 - recall: 0.9867 - val_loss: 0.7299 - val_accuracy: 0.8680 - val_precision: 0.8686 - val_recall: 0.8672 - 2s/epoch - 16ms/step\n",
"Epoch 20/50\n",
"118/118 - 2s - loss: 0.0415 - accuracy: 0.9885 - precision: 0.9893 - recall: 0.9880 - val_loss: 0.7225 - val_accuracy: 0.8680 - val_precision: 0.8692 - val_recall: 0.8668 - 2s/epoch - 19ms/step\n",
"Epoch 21/50\n",
"118/118 - 2s - loss: 0.0432 - accuracy: 0.9872 - precision: 0.9881 - recall: 0.9867 - val_loss: 0.7909 - val_accuracy: 0.8724 - val_precision: 0.8734 - val_recall: 0.8720 - 2s/epoch - 17ms/step\n",
"Epoch 22/50\n",
"118/118 - 2s - loss: 0.0325 - accuracy: 0.9915 - precision: 0.9921 - recall: 0.9909 - val_loss: 0.7953 - val_accuracy: 0.8660 - val_precision: 0.8666 - val_recall: 0.8656 - 2s/epoch - 16ms/step\n",
"Epoch 23/50\n",
"118/118 - 2s - loss: 0.0428 - accuracy: 0.9877 - precision: 0.9884 - recall: 0.9872 - val_loss: 0.8090 - val_accuracy: 0.8612 - val_precision: 0.8640 - val_recall: 0.8612 - 2s/epoch - 16ms/step\n",
"Epoch 24/50\n",
"118/118 - 2s - loss: 0.0330 - accuracy: 0.9909 - precision: 0.9911 - recall: 0.9905 - val_loss: 0.7260 - val_accuracy: 0.8676 - val_precision: 0.8695 - val_recall: 0.8660 - 2s/epoch - 16ms/step\n",
"Epoch 25/50\n",
"118/118 - 2s - loss: 0.0368 - accuracy: 0.9900 - precision: 0.9908 - recall: 0.9891 - val_loss: 0.8334 - val_accuracy: 0.8644 - val_precision: 0.8656 - val_recall: 0.8632 - 2s/epoch - 17ms/step\n",
"Epoch 26/50\n",
"118/118 - 2s - loss: 0.0345 - accuracy: 0.9912 - precision: 0.9913 - recall: 0.9903 - val_loss: 0.7745 - val_accuracy: 0.8700 - val_precision: 0.8710 - val_recall: 0.8700 - 2s/epoch - 16ms/step\n",
"Epoch 27/50\n",
"118/118 - 2s - loss: 0.0294 - accuracy: 0.9919 - precision: 0.9921 - recall: 0.9912 - val_loss: 0.8179 - val_accuracy: 0.8696 - val_precision: 0.8699 - val_recall: 0.8692 - 2s/epoch - 16ms/step\n",
"Epoch 28/50\n",
"118/118 - 2s - loss: 0.0348 - accuracy: 0.9899 - precision: 0.9903 - recall: 0.9896 - val_loss: 0.8044 - val_accuracy: 0.8708 - val_precision: 0.8711 - val_recall: 0.8704 - 2s/epoch - 16ms/step\n",
"Epoch 29/50\n",
"118/118 - 2s - loss: 0.0308 - accuracy: 0.9919 - precision: 0.9921 - recall: 0.9907 - val_loss: 0.8135 - val_accuracy: 0.8660 - val_precision: 0.8662 - val_recall: 0.8652 - 2s/epoch - 17ms/step\n",
"Epoch 30/50\n",
"118/118 - 2s - loss: 0.0194 - accuracy: 0.9944 - precision: 0.9945 - recall: 0.9944 - val_loss: 0.8719 - val_accuracy: 0.8600 - val_precision: 0.8610 - val_recall: 0.8600 - 2s/epoch - 16ms/step\n",
"Epoch 31/50\n",
"118/118 - 2s - loss: 0.0232 - accuracy: 0.9935 - precision: 0.9940 - recall: 0.9932 - val_loss: 0.8772 - val_accuracy: 0.8648 - val_precision: 0.8658 - val_recall: 0.8648 - 2s/epoch - 18ms/step\n",
"Epoch 32/50\n",
"118/118 - 2s - loss: 0.0218 - accuracy: 0.9937 - precision: 0.9939 - recall: 0.9937 - val_loss: 0.9412 - val_accuracy: 0.8572 - val_precision: 0.8571 - val_recall: 0.8568 - 2s/epoch - 16ms/step\n",
"Epoch 33/50\n",
"118/118 - 2s - loss: 0.0318 - accuracy: 0.9911 - precision: 0.9916 - recall: 0.9911 - val_loss: 0.8525 - val_accuracy: 0.8680 - val_precision: 0.8690 - val_recall: 0.8680 - 2s/epoch - 16ms/step\n",
"Epoch 34/50\n",
"118/118 - 2s - loss: 0.0281 - accuracy: 0.9920 - precision: 0.9923 - recall: 0.9919 - val_loss: 0.8176 - val_accuracy: 0.8728 - val_precision: 0.8738 - val_recall: 0.8728 - 2s/epoch - 16ms/step\n",
"Epoch 35/50\n",
"118/118 - 2s - loss: 0.0256 - accuracy: 0.9931 - precision: 0.9935 - recall: 0.9928 - val_loss: 0.7795 - val_accuracy: 0.8584 - val_precision: 0.8596 - val_recall: 0.8572 - 2s/epoch - 16ms/step\n",
"Epoch 36/50\n",
"118/118 - 2s - loss: 0.0263 - accuracy: 0.9924 - precision: 0.9928 - recall: 0.9919 - val_loss: 0.8675 - val_accuracy: 0.8724 - val_precision: 0.8723 - val_recall: 0.8716 - 2s/epoch - 16ms/step\n",
"Epoch 37/50\n",
"118/118 - 2s - loss: 0.0280 - accuracy: 0.9917 - precision: 0.9921 - recall: 0.9913 - val_loss: 0.8072 - val_accuracy: 0.8704 - val_precision: 0.8707 - val_recall: 0.8700 - 2s/epoch - 16ms/step\n",
"Epoch 38/50\n",
"118/118 - 2s - loss: 0.0266 - accuracy: 0.9916 - precision: 0.9920 - recall: 0.9916 - val_loss: 0.7703 - val_accuracy: 0.8704 - val_precision: 0.8702 - val_recall: 0.8688 - 2s/epoch - 16ms/step\n",
"Epoch 39/50\n",
"118/118 - 2s - loss: 0.0256 - accuracy: 0.9919 - precision: 0.9919 - recall: 0.9917 - val_loss: 0.8769 - val_accuracy: 0.8600 - val_precision: 0.8609 - val_recall: 0.8588 - 2s/epoch - 16ms/step\n",
"Epoch 40/50\n",
"118/118 - 2s - loss: 0.0188 - accuracy: 0.9947 - precision: 0.9949 - recall: 0.9945 - val_loss: 0.9439 - val_accuracy: 0.8664 - val_precision: 0.8673 - val_recall: 0.8656 - 2s/epoch - 16ms/step\n",
"Epoch 41/50\n",
"118/118 - 2s - loss: 0.0225 - accuracy: 0.9945 - precision: 0.9945 - recall: 0.9944 - val_loss: 0.8232 - val_accuracy: 0.8568 - val_precision: 0.8590 - val_recall: 0.8556 - 2s/epoch - 16ms/step\n",
"Epoch 42/50\n",
"118/118 - 2s - loss: 0.0176 - accuracy: 0.9953 - precision: 0.9957 - recall: 0.9952 - val_loss: 0.9741 - val_accuracy: 0.8660 - val_precision: 0.8666 - val_recall: 0.8656 - 2s/epoch - 16ms/step\n",
"Epoch 43/50\n",
"118/118 - 2s - loss: 0.0166 - accuracy: 0.9947 - precision: 0.9952 - recall: 0.9944 - val_loss: 0.9275 - val_accuracy: 0.8648 - val_precision: 0.8653 - val_recall: 0.8636 - 2s/epoch - 16ms/step\n",
"Epoch 44/50\n",
"118/118 - 2s - loss: 0.0207 - accuracy: 0.9940 - precision: 0.9943 - recall: 0.9937 - val_loss: 0.8734 - val_accuracy: 0.8684 - val_precision: 0.8696 - val_recall: 0.8672 - 2s/epoch - 17ms/step\n",
"Epoch 45/50\n",
"118/118 - 2s - loss: 0.0198 - accuracy: 0.9941 - precision: 0.9945 - recall: 0.9939 - val_loss: 1.0058 - val_accuracy: 0.8716 - val_precision: 0.8719 - val_recall: 0.8712 - 2s/epoch - 16ms/step\n",
"Epoch 46/50\n",
"118/118 - 2s - loss: 0.0180 - accuracy: 0.9948 - precision: 0.9951 - recall: 0.9947 - val_loss: 1.0006 - val_accuracy: 0.8600 - val_precision: 0.8617 - val_recall: 0.8600 - 2s/epoch - 17ms/step\n",
"Epoch 47/50\n",
"118/118 - 2s - loss: 0.0188 - accuracy: 0.9941 - precision: 0.9943 - recall: 0.9939 - val_loss: 1.0007 - val_accuracy: 0.8644 - val_precision: 0.8654 - val_recall: 0.8640 - 2s/epoch - 17ms/step\n",
"Epoch 48/50\n",
"118/118 - 2s - loss: 0.0162 - accuracy: 0.9959 - precision: 0.9961 - recall: 0.9957 - val_loss: 0.9772 - val_accuracy: 0.8668 - val_precision: 0.8674 - val_recall: 0.8660 - 2s/epoch - 16ms/step\n",
"Epoch 49/50\n",
"118/118 - 2s - loss: 0.0172 - accuracy: 0.9945 - precision: 0.9947 - recall: 0.9943 - val_loss: 0.9689 - val_accuracy: 0.8704 - val_precision: 0.8714 - val_recall: 0.8704 - 2s/epoch - 16ms/step\n",
"Epoch 50/50\n",
"118/118 - 2s - loss: 0.0227 - accuracy: 0.9932 - precision: 0.9933 - recall: 0.9931 - val_loss: 0.9192 - val_accuracy: 0.8740 - val_precision: 0.8745 - val_recall: 0.8724 - 2s/epoch - 17ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Content\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Content\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"CNNRNN = Sequential()\n",
"CNNRNN.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(layers.Bidirectional(layers.LSTM(64, return_sequences=True), input_shape=(5, 10)))\n",
"CNNRNN.add(layers.Bidirectional(layers.LSTM(32)))\n",
"CNNRNN.add(Dropout(0.5))\n",
"CNNRNN.add(Dense(16, activation='relu'))\n",
"CNNRNN.add(Dense(3, activation='softmax'))\n",
"CNNRNN.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy','Precision','Recall'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"CNNRNN.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.25)\n",
"#Here we train the Network.\n",
"predCNNRNN=CNNRNN.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"predCNNRNN"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "_wVubhbV2IYL",
"metadata": {
"id": "_wVubhbV2IYL"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 46,
"id": "QhBd17TlL-rl",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "QhBd17TlL-rl",
"outputId": "5d80ec20-9747-4939-d45e-4b33d149e92e"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6127, 'Positive': 3013, 'Negative': 860})\n",
"Model: \"sequential_18\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_18 (Embedding) (None, 63, 100) 500000 \n",
" \n",
" lstm_14 (LSTM) (None, 63, 100) 80400 \n",
" \n",
" lstm_15 (LSTM) (None, 64) 42240 \n",
" \n",
" dropout_19 (Dropout) (None, 64) 0 \n",
" \n",
" dense_36 (Dense) (None, 32) 2080 \n",
" \n",
" dense_37 (Dense) (None, 3) 99 \n",
" \n",
"=================================================================\n",
"Total params: 624,819\n",
"Trainable params: 624,819\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 4s - loss: 0.6830 - accuracy: 0.7226 - val_loss: 0.5264 - val_accuracy: 0.8015 - 4s/epoch - 33ms/step\n",
"Epoch 2/50\n",
"125/125 - 1s - loss: 0.4065 - accuracy: 0.8531 - val_loss: 0.3702 - val_accuracy: 0.8735 - 1s/epoch - 9ms/step\n",
"Epoch 3/50\n",
"125/125 - 1s - loss: 0.2294 - accuracy: 0.9225 - val_loss: 0.3789 - val_accuracy: 0.8810 - 1s/epoch - 9ms/step\n",
"Epoch 4/50\n",
"125/125 - 1s - loss: 0.1567 - accuracy: 0.9528 - val_loss: 0.4093 - val_accuracy: 0.8700 - 1s/epoch - 9ms/step\n",
"Epoch 5/50\n",
"125/125 - 1s - loss: 0.1123 - accuracy: 0.9679 - val_loss: 0.4460 - val_accuracy: 0.8760 - 1s/epoch - 9ms/step\n",
"Epoch 6/50\n",
"125/125 - 1s - loss: 0.0766 - accuracy: 0.9794 - val_loss: 0.5845 - val_accuracy: 0.8710 - 1s/epoch - 9ms/step\n",
"Epoch 7/50\n",
"125/125 - 1s - loss: 0.0687 - accuracy: 0.9821 - val_loss: 0.4941 - val_accuracy: 0.8815 - 1s/epoch - 9ms/step\n",
"Epoch 8/50\n",
"125/125 - 1s - loss: 0.0715 - accuracy: 0.9815 - val_loss: 0.5414 - val_accuracy: 0.8850 - 1s/epoch - 9ms/step\n",
"Epoch 9/50\n",
"125/125 - 1s - loss: 0.0719 - accuracy: 0.9806 - val_loss: 0.5839 - val_accuracy: 0.8640 - 1s/epoch - 9ms/step\n",
"Epoch 10/50\n",
"125/125 - 1s - loss: 0.0455 - accuracy: 0.9875 - val_loss: 0.6041 - val_accuracy: 0.8710 - 1s/epoch - 9ms/step\n",
"Epoch 11/50\n",
"125/125 - 1s - loss: 0.0454 - accuracy: 0.9874 - val_loss: 0.6225 - val_accuracy: 0.8680 - 1s/epoch - 9ms/step\n",
"Epoch 12/50\n",
"125/125 - 1s - loss: 0.0463 - accuracy: 0.9874 - val_loss: 0.6805 - val_accuracy: 0.8695 - 1s/epoch - 10ms/step\n",
"Epoch 13/50\n",
"125/125 - 1s - loss: 0.0388 - accuracy: 0.9893 - val_loss: 0.6789 - val_accuracy: 0.8775 - 1s/epoch - 10ms/step\n",
"Epoch 14/50\n",
"125/125 - 1s - loss: 0.0354 - accuracy: 0.9905 - val_loss: 0.6928 - val_accuracy: 0.8790 - 1s/epoch - 9ms/step\n",
"Epoch 15/50\n",
"125/125 - 1s - loss: 0.0336 - accuracy: 0.9911 - val_loss: 0.8308 - val_accuracy: 0.8620 - 1s/epoch - 9ms/step\n",
"Epoch 16/50\n",
"125/125 - 1s - loss: 0.0251 - accuracy: 0.9937 - val_loss: 0.7621 - val_accuracy: 0.8595 - 1s/epoch - 9ms/step\n",
"Epoch 17/50\n",
"125/125 - 1s - loss: 0.0280 - accuracy: 0.9920 - val_loss: 0.7215 - val_accuracy: 0.8595 - 1s/epoch - 9ms/step\n",
"Epoch 18/50\n",
"125/125 - 1s - loss: 0.0233 - accuracy: 0.9934 - val_loss: 0.8369 - val_accuracy: 0.8705 - 1s/epoch - 9ms/step\n",
"Epoch 19/50\n",
"125/125 - 1s - loss: 0.0256 - accuracy: 0.9929 - val_loss: 0.8057 - val_accuracy: 0.8700 - 1s/epoch - 9ms/step\n",
"Epoch 20/50\n",
"125/125 - 1s - loss: 0.0206 - accuracy: 0.9941 - val_loss: 0.8005 - val_accuracy: 0.8645 - 1s/epoch - 9ms/step\n",
"Epoch 21/50\n",
"125/125 - 1s - loss: 0.0286 - accuracy: 0.9918 - val_loss: 0.8771 - val_accuracy: 0.8525 - 1s/epoch - 9ms/step\n",
"Epoch 22/50\n",
"125/125 - 1s - loss: 0.0342 - accuracy: 0.9898 - val_loss: 0.7683 - val_accuracy: 0.8615 - 1s/epoch - 9ms/step\n",
"Epoch 23/50\n",
"125/125 - 1s - loss: 0.0235 - accuracy: 0.9929 - val_loss: 0.8075 - val_accuracy: 0.8670 - 1s/epoch - 9ms/step\n",
"Epoch 24/50\n",
"125/125 - 1s - loss: 0.0199 - accuracy: 0.9939 - val_loss: 0.9311 - val_accuracy: 0.8605 - 1s/epoch - 9ms/step\n",
"Epoch 25/50\n",
"125/125 - 1s - loss: 0.0139 - accuracy: 0.9960 - val_loss: 0.9067 - val_accuracy: 0.8605 - 1s/epoch - 9ms/step\n",
"Epoch 26/50\n",
"125/125 - 1s - loss: 0.0187 - accuracy: 0.9948 - val_loss: 0.7848 - val_accuracy: 0.8645 - 1s/epoch - 9ms/step\n",
"Epoch 27/50\n",
"125/125 - 1s - loss: 0.0254 - accuracy: 0.9933 - val_loss: 0.8044 - val_accuracy: 0.8640 - 1s/epoch - 9ms/step\n",
"Epoch 28/50\n",
"125/125 - 1s - loss: 0.0137 - accuracy: 0.9960 - val_loss: 0.9449 - val_accuracy: 0.8540 - 1s/epoch - 9ms/step\n",
"Epoch 29/50\n",
"125/125 - 1s - loss: 0.0361 - accuracy: 0.9895 - val_loss: 0.7551 - val_accuracy: 0.8535 - 1s/epoch - 9ms/step\n",
"Epoch 30/50\n",
"125/125 - 1s - loss: 0.0134 - accuracy: 0.9961 - val_loss: 0.9040 - val_accuracy: 0.8535 - 1s/epoch - 9ms/step\n",
"Epoch 31/50\n",
"125/125 - 1s - loss: 0.0100 - accuracy: 0.9966 - val_loss: 1.0404 - val_accuracy: 0.8640 - 1s/epoch - 9ms/step\n",
"Epoch 32/50\n",
"125/125 - 1s - loss: 0.0069 - accuracy: 0.9979 - val_loss: 1.1044 - val_accuracy: 0.8655 - 1s/epoch - 9ms/step\n",
"Epoch 33/50\n",
"125/125 - 1s - loss: 0.0071 - accuracy: 0.9983 - val_loss: 1.1157 - val_accuracy: 0.8650 - 1s/epoch - 9ms/step\n",
"Epoch 34/50\n",
"125/125 - 1s - loss: 0.0068 - accuracy: 0.9983 - val_loss: 1.1732 - val_accuracy: 0.8625 - 1s/epoch - 9ms/step\n",
"Epoch 35/50\n",
"125/125 - 1s - loss: 0.0069 - accuracy: 0.9983 - val_loss: 1.0915 - val_accuracy: 0.8620 - 1s/epoch - 10ms/step\n",
"Epoch 36/50\n",
"125/125 - 1s - loss: 0.0064 - accuracy: 0.9983 - val_loss: 1.2031 - val_accuracy: 0.8670 - 1s/epoch - 9ms/step\n",
"Epoch 37/50\n",
"125/125 - 1s - loss: 0.0052 - accuracy: 0.9985 - val_loss: 1.2461 - val_accuracy: 0.8680 - 1s/epoch - 9ms/step\n",
"Epoch 38/50\n",
"125/125 - 1s - loss: 0.0083 - accuracy: 0.9976 - val_loss: 1.2307 - val_accuracy: 0.8640 - 1s/epoch - 9ms/step\n",
"Epoch 39/50\n",
"125/125 - 1s - loss: 0.0069 - accuracy: 0.9979 - val_loss: 1.2089 - val_accuracy: 0.8665 - 1s/epoch - 9ms/step\n",
"Epoch 40/50\n",
"125/125 - 1s - loss: 0.0053 - accuracy: 0.9987 - val_loss: 1.3053 - val_accuracy: 0.8660 - 1s/epoch - 9ms/step\n",
"Epoch 41/50\n",
"125/125 - 1s - loss: 0.0049 - accuracy: 0.9986 - val_loss: 1.3328 - val_accuracy: 0.8625 - 1s/epoch - 9ms/step\n",
"Epoch 42/50\n",
"125/125 - 1s - loss: 0.0054 - accuracy: 0.9985 - val_loss: 1.3001 - val_accuracy: 0.8645 - 1s/epoch - 10ms/step\n",
"Epoch 43/50\n",
"125/125 - 1s - loss: 0.0061 - accuracy: 0.9981 - val_loss: 1.4488 - val_accuracy: 0.8500 - 1s/epoch - 11ms/step\n",
"Epoch 44/50\n",
"125/125 - 1s - loss: 0.0187 - accuracy: 0.9948 - val_loss: 1.1019 - val_accuracy: 0.8660 - 1s/epoch - 10ms/step\n",
"Epoch 45/50\n",
"125/125 - 1s - loss: 0.0293 - accuracy: 0.9921 - val_loss: 0.8496 - val_accuracy: 0.8580 - 1s/epoch - 9ms/step\n",
"Epoch 46/50\n",
"125/125 - 1s - loss: 0.0177 - accuracy: 0.9950 - val_loss: 0.9481 - val_accuracy: 0.8520 - 1s/epoch - 9ms/step\n",
"Epoch 47/50\n",
"125/125 - 1s - loss: 0.0089 - accuracy: 0.9975 - val_loss: 1.0273 - val_accuracy: 0.8580 - 1s/epoch - 9ms/step\n",
"Epoch 48/50\n",
"125/125 - 1s - loss: 0.0088 - accuracy: 0.9975 - val_loss: 1.0432 - val_accuracy: 0.8600 - 1s/epoch - 9ms/step\n",
"Epoch 49/50\n",
"125/125 - 1s - loss: 0.0075 - accuracy: 0.9977 - val_loss: 1.0411 - val_accuracy: 0.8675 - 1s/epoch - 9ms/step\n",
"Epoch 50/50\n",
"125/125 - 1s - loss: 0.0064 - accuracy: 0.9981 - val_loss: 1.1644 - val_accuracy: 0.8650 - 1s/epoch - 9ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Content\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Content\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model = Sequential()\n",
"model.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"#model.add(Dropout(0.4))\n",
"model.add(layers.LSTM(100, return_sequences=True))\n",
"model.add(layers.LSTM(64))\n",
"model.add(Dropout(0.5))\n",
"model.add(Dense(32,activation='relu'))\n",
"model.add(Dense(3, activation='softmax'))\n",
"model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"pred4=model.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"pred4"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "iMrE664HMu_d",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "iMrE664HMu_d",
"outputId": "43ccb465-c3d8-47b5-b715-07766e53c101"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 2s 4ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.58 0.57 0.57 157\n",
" 1 0.93 0.91 0.92 1243\n",
" 2 0.81 0.86 0.83 600\n",
"\n",
" accuracy 0.86 2000\n",
" macro avg 0.77 0.78 0.78 2000\n",
"weighted avg 0.87 0.86 0.87 2000\n",
"\n",
"[[ 89 39 29]\n",
" [ 26 1125 92]\n",
" [ 38 46 516]]\n",
"Accuracy: 0.865000\n",
"Precision: 0.866518\n",
"Recall: 0.865000\n",
"F1 score: 0.865424\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "6fqniFTtMvDf",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6fqniFTtMvDf",
"outputId": "dbbb6d9d-eceb-4663-80fd-bc938a1eca28"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Counter({'Neutral': 6127, 'Positive': 3013, 'Negative': 860})\n",
"Model: \"sequential_19\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" embedding_19 (Embedding) (None, 63, 100) 500000 \n",
" \n",
" conv1d_3 (Conv1D) (None, 60, 128) 51328 \n",
" \n",
" max_pooling1d_3 (MaxPooling (None, 15, 128) 0 \n",
" 1D) \n",
" \n",
" flatten_3 (Flatten) (None, 1920) 0 \n",
" \n",
" dense_38 (Dense) (None, 16) 30736 \n",
" \n",
" dense_39 (Dense) (None, 3) 51 \n",
" \n",
"=================================================================\n",
"Total params: 582,115\n",
"Trainable params: 582,115\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/50\n",
"125/125 - 1s - loss: 0.7120 - accuracy: 0.7063 - val_loss: 0.5311 - val_accuracy: 0.7905 - 1s/epoch - 10ms/step\n",
"Epoch 2/50\n",
"125/125 - 0s - loss: 0.4113 - accuracy: 0.8413 - val_loss: 0.3995 - val_accuracy: 0.8515 - 388ms/epoch - 3ms/step\n",
"Epoch 3/50\n",
"125/125 - 0s - loss: 0.2568 - accuracy: 0.9045 - val_loss: 0.3921 - val_accuracy: 0.8675 - 387ms/epoch - 3ms/step\n",
"Epoch 4/50\n",
"125/125 - 0s - loss: 0.1457 - accuracy: 0.9551 - val_loss: 0.4621 - val_accuracy: 0.8595 - 383ms/epoch - 3ms/step\n",
"Epoch 5/50\n",
"125/125 - 0s - loss: 0.0765 - accuracy: 0.9790 - val_loss: 0.5559 - val_accuracy: 0.8640 - 386ms/epoch - 3ms/step\n",
"Epoch 6/50\n",
"125/125 - 0s - loss: 0.0444 - accuracy: 0.9894 - val_loss: 0.6204 - val_accuracy: 0.8645 - 391ms/epoch - 3ms/step\n",
"Epoch 7/50\n",
"125/125 - 0s - loss: 0.0278 - accuracy: 0.9935 - val_loss: 0.6811 - val_accuracy: 0.8630 - 389ms/epoch - 3ms/step\n",
"Epoch 8/50\n",
"125/125 - 0s - loss: 0.0196 - accuracy: 0.9946 - val_loss: 0.7393 - val_accuracy: 0.8630 - 381ms/epoch - 3ms/step\n",
"Epoch 9/50\n",
"125/125 - 0s - loss: 0.0156 - accuracy: 0.9960 - val_loss: 0.7735 - val_accuracy: 0.8640 - 385ms/epoch - 3ms/step\n",
"Epoch 10/50\n",
"125/125 - 0s - loss: 0.0119 - accuracy: 0.9967 - val_loss: 0.8104 - val_accuracy: 0.8690 - 387ms/epoch - 3ms/step\n",
"Epoch 11/50\n",
"125/125 - 0s - loss: 0.0097 - accuracy: 0.9974 - val_loss: 0.8371 - val_accuracy: 0.8675 - 385ms/epoch - 3ms/step\n",
"Epoch 12/50\n",
"125/125 - 0s - loss: 0.0085 - accuracy: 0.9976 - val_loss: 0.8917 - val_accuracy: 0.8640 - 381ms/epoch - 3ms/step\n",
"Epoch 13/50\n",
"125/125 - 0s - loss: 0.0084 - accuracy: 0.9976 - val_loss: 0.9410 - val_accuracy: 0.8655 - 383ms/epoch - 3ms/step\n",
"Epoch 14/50\n",
"125/125 - 0s - loss: 0.0080 - accuracy: 0.9975 - val_loss: 0.9250 - val_accuracy: 0.8655 - 385ms/epoch - 3ms/step\n",
"Epoch 15/50\n",
"125/125 - 0s - loss: 0.0075 - accuracy: 0.9979 - val_loss: 0.9868 - val_accuracy: 0.8595 - 382ms/epoch - 3ms/step\n",
"Epoch 16/50\n",
"125/125 - 0s - loss: 0.0074 - accuracy: 0.9984 - val_loss: 0.9789 - val_accuracy: 0.8685 - 386ms/epoch - 3ms/step\n",
"Epoch 17/50\n",
"125/125 - 0s - loss: 0.0134 - accuracy: 0.9969 - val_loss: 0.9124 - val_accuracy: 0.8660 - 381ms/epoch - 3ms/step\n",
"Epoch 18/50\n",
"125/125 - 0s - loss: 0.0084 - accuracy: 0.9976 - val_loss: 0.9686 - val_accuracy: 0.8670 - 386ms/epoch - 3ms/step\n",
"Epoch 19/50\n",
"125/125 - 0s - loss: 0.0076 - accuracy: 0.9975 - val_loss: 1.0326 - val_accuracy: 0.8625 - 384ms/epoch - 3ms/step\n",
"Epoch 20/50\n",
"125/125 - 0s - loss: 0.0070 - accuracy: 0.9981 - val_loss: 1.0173 - val_accuracy: 0.8665 - 377ms/epoch - 3ms/step\n",
"Epoch 21/50\n",
"125/125 - 0s - loss: 0.0065 - accuracy: 0.9979 - val_loss: 1.0333 - val_accuracy: 0.8675 - 381ms/epoch - 3ms/step\n",
"Epoch 22/50\n",
"125/125 - 0s - loss: 0.0074 - accuracy: 0.9974 - val_loss: 1.1191 - val_accuracy: 0.8655 - 387ms/epoch - 3ms/step\n",
"Epoch 23/50\n",
"125/125 - 0s - loss: 0.0107 - accuracy: 0.9974 - val_loss: 1.0239 - val_accuracy: 0.8590 - 389ms/epoch - 3ms/step\n",
"Epoch 24/50\n",
"125/125 - 0s - loss: 0.0059 - accuracy: 0.9981 - val_loss: 1.0765 - val_accuracy: 0.8570 - 395ms/epoch - 3ms/step\n",
"Epoch 25/50\n",
"125/125 - 0s - loss: 0.0054 - accuracy: 0.9981 - val_loss: 1.1156 - val_accuracy: 0.8635 - 383ms/epoch - 3ms/step\n",
"Epoch 26/50\n",
"125/125 - 0s - loss: 0.0055 - accuracy: 0.9981 - val_loss: 1.1094 - val_accuracy: 0.8670 - 374ms/epoch - 3ms/step\n",
"Epoch 27/50\n",
"125/125 - 0s - loss: 0.0048 - accuracy: 0.9986 - val_loss: 1.1085 - val_accuracy: 0.8645 - 388ms/epoch - 3ms/step\n",
"Epoch 28/50\n",
"125/125 - 0s - loss: 0.0048 - accuracy: 0.9984 - val_loss: 1.1554 - val_accuracy: 0.8650 - 377ms/epoch - 3ms/step\n",
"Epoch 29/50\n",
"125/125 - 0s - loss: 0.0054 - accuracy: 0.9981 - val_loss: 1.1137 - val_accuracy: 0.8625 - 378ms/epoch - 3ms/step\n",
"Epoch 30/50\n",
"125/125 - 0s - loss: 0.0042 - accuracy: 0.9984 - val_loss: 1.1464 - val_accuracy: 0.8605 - 387ms/epoch - 3ms/step\n",
"Epoch 31/50\n",
"125/125 - 0s - loss: 0.0048 - accuracy: 0.9981 - val_loss: 1.1612 - val_accuracy: 0.8610 - 387ms/epoch - 3ms/step\n",
"Epoch 32/50\n",
"125/125 - 0s - loss: 0.0044 - accuracy: 0.9986 - val_loss: 1.1177 - val_accuracy: 0.8660 - 400ms/epoch - 3ms/step\n",
"Epoch 33/50\n",
"125/125 - 0s - loss: 0.0048 - accuracy: 0.9981 - val_loss: 1.1740 - val_accuracy: 0.8625 - 384ms/epoch - 3ms/step\n",
"Epoch 34/50\n",
"125/125 - 0s - loss: 0.0043 - accuracy: 0.9984 - val_loss: 1.1323 - val_accuracy: 0.8670 - 379ms/epoch - 3ms/step\n",
"Epoch 35/50\n",
"125/125 - 0s - loss: 0.0040 - accuracy: 0.9984 - val_loss: 1.1844 - val_accuracy: 0.8645 - 388ms/epoch - 3ms/step\n",
"Epoch 36/50\n",
"125/125 - 0s - loss: 0.0033 - accuracy: 0.9990 - val_loss: 1.1793 - val_accuracy: 0.8675 - 378ms/epoch - 3ms/step\n",
"Epoch 37/50\n",
"125/125 - 0s - loss: 0.0045 - accuracy: 0.9981 - val_loss: 1.1561 - val_accuracy: 0.8640 - 383ms/epoch - 3ms/step\n",
"Epoch 38/50\n",
"125/125 - 0s - loss: 0.0043 - accuracy: 0.9979 - val_loss: 1.1840 - val_accuracy: 0.8655 - 379ms/epoch - 3ms/step\n",
"Epoch 39/50\n",
"125/125 - 0s - loss: 0.0038 - accuracy: 0.9986 - val_loss: 1.2519 - val_accuracy: 0.8685 - 377ms/epoch - 3ms/step\n",
"Epoch 40/50\n",
"125/125 - 0s - loss: 0.0041 - accuracy: 0.9984 - val_loss: 1.2883 - val_accuracy: 0.8595 - 385ms/epoch - 3ms/step\n",
"Epoch 41/50\n",
"125/125 - 0s - loss: 0.0037 - accuracy: 0.9986 - val_loss: 1.2710 - val_accuracy: 0.8645 - 376ms/epoch - 3ms/step\n",
"Epoch 42/50\n",
"125/125 - 0s - loss: 0.0037 - accuracy: 0.9985 - val_loss: 1.2765 - val_accuracy: 0.8655 - 375ms/epoch - 3ms/step\n",
"Epoch 43/50\n",
"125/125 - 0s - loss: 0.0041 - accuracy: 0.9986 - val_loss: 1.2732 - val_accuracy: 0.8690 - 381ms/epoch - 3ms/step\n",
"Epoch 44/50\n",
"125/125 - 0s - loss: 0.0035 - accuracy: 0.9984 - val_loss: 1.3287 - val_accuracy: 0.8670 - 378ms/epoch - 3ms/step\n",
"Epoch 45/50\n",
"125/125 - 0s - loss: 0.0039 - accuracy: 0.9984 - val_loss: 1.3208 - val_accuracy: 0.8645 - 409ms/epoch - 3ms/step\n",
"Epoch 46/50\n",
"125/125 - 0s - loss: 0.0035 - accuracy: 0.9985 - val_loss: 1.3433 - val_accuracy: 0.8670 - 419ms/epoch - 3ms/step\n",
"Epoch 47/50\n",
"125/125 - 0s - loss: 0.0033 - accuracy: 0.9985 - val_loss: 1.3649 - val_accuracy: 0.8680 - 410ms/epoch - 3ms/step\n",
"Epoch 48/50\n",
"125/125 - 0s - loss: 0.0037 - accuracy: 0.9985 - val_loss: 1.3224 - val_accuracy: 0.8655 - 403ms/epoch - 3ms/step\n",
"Epoch 49/50\n",
"125/125 - 0s - loss: 0.0035 - accuracy: 0.9987 - val_loss: 1.3492 - val_accuracy: 0.8680 - 380ms/epoch - 3ms/step\n",
"Epoch 50/50\n",
"125/125 - 0s - loss: 0.0036 - accuracy: 0.9986 - val_loss: 1.3830 - val_accuracy: 0.8675 - 383ms/epoch - 3ms/step\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from keras import optimizers\n",
"from keras import regularizers\n",
"#Deep Learning Network Structure\n",
"import tensorflow.keras\n",
"tokenizer = tensorflow.keras.preprocessing.text.Tokenizer(num_words=4500, lower=False,split=' ',filters='!\"#$%&()*+,-./:;<=>?@[\\\\]^_`{|}~\\t\\n')\n",
"tokenizer.fit_on_texts(data[\"Content\"].astype(str).values)\n",
"#print(tokenizer.word_index) # To see the dicstionary\n",
"X = tokenizer.texts_to_sequences(data[\"Content\"].astype(str).values)\n",
"X = tensorflow.keras.preprocessing.sequence.pad_sequences(X)\n",
"model_conv = Sequential()\n",
"model_conv.add(Embedding(5000,100, input_length=X.shape[1]))\n",
"model_conv.add(Conv1D(128, 4, activation='relu'))\n",
"model_conv.add(MaxPooling1D(pool_size=4))\n",
"model_conv.add(Flatten())\n",
"model_conv.add(Dense(16,activation='relu'))\n",
"model_conv.add(Dense(3, activation='softmax'))\n",
"model_conv.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])\n",
"batch_size=64\n",
"Y = pd.get_dummies(data['Sentiment']).values\n",
"from collections import Counter\n",
"print(Counter(data[\"Sentiment\"]))\n",
"model_conv.summary()\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X,Y, test_size = 0.20)\n",
"#Here we train the Network.\n",
"pred4=model_conv.fit(X_train, Y_train, batch_size =batch_size, epochs =50, verbose =2,validation_data=(X_valid,Y_valid))\n",
"pred4"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "CxumjOFBuJeP",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CxumjOFBuJeP",
"outputId": "8bbe3be0-a73c-4565-9ff6-fbfc20e7efd4"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"63/63 [==============================] - 0s 1ms/step\n",
" precision recall f1-score support\n",
"\n",
" 0 0.69 0.49 0.57 158\n",
" 1 0.92 0.92 0.92 1238\n",
" 2 0.80 0.86 0.83 604\n",
"\n",
" accuracy 0.87 2000\n",
" macro avg 0.80 0.76 0.77 2000\n",
"weighted avg 0.87 0.87 0.86 2000\n",
"\n",
"[[ 77 35 46]\n",
" [ 17 1136 85]\n",
" [ 17 65 522]]\n",
"Accuracy: 0.867500\n",
"Precision: 0.865136\n",
"Recall: 0.867500\n",
"F1 score: 0.864512\n"
]
}
],
"source": [
"from sklearn.metrics import classification_report, confusion_matrix, accuracy_score,precision_score,recall_score,f1_score\n",
"test_predictions =model_conv.predict(X_valid)\n",
"test_labels=np.argmax(Y_valid, axis=1)\n",
"print(classification_report(test_labels,np.argmax(test_predictions,axis=1)))\n",
"print(confusion_matrix(test_labels,np.argmax(test_predictions,axis=1)))\n",
"accuracy = accuracy_score(test_labels,np.argmax(test_predictions,axis=1))\n",
"print('Accuracy: %f' % accuracy)\n",
"precision = precision_score(test_labels, np.argmax(test_predictions,axis=1),average='weighted')\n",
"print('Precision: %f' % precision)\n",
"recall = recall_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('Recall: %f' % recall)\n",
"f1 = f1_score(test_labels, np.argmax(test_predictions,axis=1), average='weighted')\n",
"print('F1 score: %f' % f1)"
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"machine_shape": "hm",
"provenance": []
},
"gpuClass": "standard",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}