diff --git "a/P2G7_Allen.ipynb" "b/P2G7_Allen.ipynb" new file mode 100644--- /dev/null +++ "b/P2G7_Allen.ipynb" @@ -0,0 +1,4715 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Graded Challange 7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# McDonald's Store Reviews" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Name: Allen\n", + "\n", + "Batch: 003\n", + "\n", + "Dataset: https://www.kaggle.com/datasets/nelgiriyewithana/mcdonalds-store-reviews\n", + "\n", + "Deployment: " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bab 1: Introduction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Background" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Having project about NLP and fulfing my curiosity, as data science i want to know and predict over 33,000 anonymized reviews of McDonald's stores in the United States, scraped from Google reviews. It provides valuable insights into customer experiences and opinions about various McDonald's locations across the country." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Problem Statement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As data science or working in IT at Mc Donald's the manager asked me to analysis reviews of McDonald's stores and to predicting the anonymous reviews from google to know what review and how rating the customers gave to the McDonald's. it is important to evaluate the services and the mistakes ever happened in McDonald's to gain back the trust from the customer and increase the customer satisfaction so that they want comeback again that relate to the increase of business revenue in the company." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EoPJoCkCNz7d" + }, + "source": [ + "# Bab 2: Import Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OUAjNzh_Nz7e", + "outputId": "faf71de6-0e5d-474e-ea96-1f74d8f69b19" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to\n", + "[nltk_data] C:\\Users\\user\\AppData\\Roaming\\nltk_data...\n", + "[nltk_data] Package stopwords is already up-to-date!\n", + "[nltk_data] Downloading package punkt to\n", + "[nltk_data] C:\\Users\\user\\AppData\\Roaming\\nltk_data...\n", + "[nltk_data] Package punkt is already up-to-date!\n", + "[nltk_data] Downloading package wordnet to\n", + "[nltk_data] C:\\Users\\user\\AppData\\Roaming\\nltk_data...\n", + "[nltk_data] Package wordnet is already up-to-date!\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Import Libraries\n", + "\n", + "import re\n", + "import nltk\n", + "import string\n", + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import pickle\n", + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "from sklearn.preprocessing import LabelEncoder\n", + "import tensorflow as tf\n", + "import tensorflow_hub as tf_hub\n", + "from nltk.tokenize import word_tokenize\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.feature_extraction.text import CountVectorizer\n", + "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay\n", + "from sklearn.metrics import classification_report,ConfusionMatrixDisplay, precision_score,recall_score,accuracy_score,f1_score\n", + "from tensorflow.keras.layers import Embedding\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense, LSTM, Bidirectional, GRU, Dropout, Reshape\n", + "from collections import Counter\n", + "from nltk.stem import WordNetLemmatizer\n", + "from nltk.probability import FreqDist\n", + "from nltk.tokenize import word_tokenize\n", + "nltk.download('stopwords')\n", + "nltk.download('punkt')\n", + "nltk.download('wordnet')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "wx505m6HNz7j" + }, + "source": [ + "# Bab 3: Data Loading" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 486 + }, + "id": "IK1fxoQnNz7k", + "outputId": "907e38f7-2b4d-4aff-ee8b-a90c21a0f177" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewer_idstore_namecategorystore_addresslatitudelongituderating_countreview_timereviewrating
01McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2403 months agoWhy does it look like someone spit on my food?...1 star
12McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2405 days agoIt'd McDonalds. It is what it is as far as the...4 stars
23McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2405 days agoMade a mobile order got to the speaker and che...1 star
34McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,240a month agoMy mc. Crispy chicken sandwich was ���ï¿...5 stars
45McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2402 months agoI repeat my order 3 times in the drive thru, a...1 star
\n", + "
" + ], + "text/plain": [ + " reviewer_id store_name category \\\n", + "0 1 McDonald's Fast food restaurant \n", + "1 2 McDonald's Fast food restaurant \n", + "2 3 McDonald's Fast food restaurant \n", + "3 4 McDonald's Fast food restaurant \n", + "4 5 McDonald's Fast food restaurant \n", + "\n", + " store_address latitude longitude \\\n", + "0 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 -97.792874 \n", + "1 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 -97.792874 \n", + "2 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 -97.792874 \n", + "3 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 -97.792874 \n", + "4 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 -97.792874 \n", + "\n", + " rating_count review_time \\\n", + "0 1,240 3 months ago \n", + "1 1,240 5 days ago \n", + "2 1,240 5 days ago \n", + "3 1,240 a month ago \n", + "4 1,240 2 months ago \n", + "\n", + " review rating \n", + "0 Why does it look like someone spit on my food?... 1 star \n", + "1 It'd McDonalds. It is what it is as far as the... 4 stars \n", + "2 Made a mobile order got to the speaker and che... 1 star \n", + "3 My mc. Crispy chicken sandwich was ���ï¿... 5 stars \n", + "4 I repeat my order 3 times in the drive thru, a... 1 star " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Load dataset\n", + "df_ori=pd.read_csv('McDonald_s_Reviews.csv', encoding=\"latin-1\")\n", + "\n", + "\n", + "# create duplicate df_ori\n", + "df=df_ori.copy()\n", + "\n", + "# Show top 5 data\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 590 + }, + "id": "H3rtdXHNNz7l", + "outputId": "9db68151-1837-458a-91ad-0852e927bdb9" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewer_idstore_namecategorystore_addresslatitudelongituderating_countreview_timereviewrating
3339133392McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.81-80.1890982,8104 years agoThey treated me very badly.1 star
3339233393McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.81-80.1890982,810a year agoThe service is very good5 stars
3339333394McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.81-80.1890982,810a year agoTo remove hunger is enough4 stars
3339433395McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.81-80.1890982,8105 years agoIt's good, but lately it has become very expen...5 stars
3339533396McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.81-80.1890982,8102 years agothey took good care of me5 stars
\n", + "
" + ], + "text/plain": [ + " reviewer_id store_name category \\\n", + "33391 33392 McDonald's Fast food restaurant \n", + "33392 33393 McDonald's Fast food restaurant \n", + "33393 33394 McDonald's Fast food restaurant \n", + "33394 33395 McDonald's Fast food restaurant \n", + "33395 33396 McDonald's Fast food restaurant \n", + "\n", + " store_address latitude \\\n", + "33391 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.81 \n", + "33392 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.81 \n", + "33393 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.81 \n", + "33394 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.81 \n", + "33395 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.81 \n", + "\n", + " longitude rating_count review_time \\\n", + "33391 -80.189098 2,810 4 years ago \n", + "33392 -80.189098 2,810 a year ago \n", + "33393 -80.189098 2,810 a year ago \n", + "33394 -80.189098 2,810 5 years ago \n", + "33395 -80.189098 2,810 2 years ago \n", + "\n", + " review rating \n", + "33391 They treated me very badly. 1 star \n", + "33392 The service is very good 5 stars \n", + "33393 To remove hunger is enough 4 stars \n", + "33394 It's good, but lately it has become very expen... 5 stars \n", + "33395 they took good care of me 5 stars " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show lowest 5 data\n", + "df.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "s7hBcYukNz7m", + "outputId": "fbffd88a-534d-46ef-816b-9711d6f02baa" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 33396 entries, 0 to 33395\n", + "Data columns (total 10 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 reviewer_id 33396 non-null int64 \n", + " 1 store_name 33396 non-null object \n", + " 2 category 33396 non-null object \n", + " 3 store_address 33396 non-null object \n", + " 4 latitude 32736 non-null float64\n", + " 5 longitude 32736 non-null float64\n", + " 6 rating_count 33396 non-null object \n", + " 7 review_time 33396 non-null object \n", + " 8 review 33396 non-null object \n", + " 9 rating 33396 non-null object \n", + "dtypes: float64(2), int64(1), object(7)\n", + "memory usage: 2.5+ MB\n" + ] + } + ], + "source": [ + "# Show all information about dataset\n", + "df.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "P5V5dmtQNz7o" + }, + "source": [ + "It looks like our data have missing value, let's check it" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "O9mUPzDPNz7p", + "outputId": "2f0753de-35ff-482e-9ce8-7c2b48f710bc" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "reviewer_id 0\n", + "store_name 0\n", + "category 0\n", + "store_address 0\n", + "latitude 660\n", + "longitude 660\n", + "rating_count 0\n", + "review_time 0\n", + "review 0\n", + "rating 0\n", + "dtype: int64" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Check missing value\n", + "df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "h7ZQ6bLpNz7q" + }, + "outputs": [], + "source": [ + "# Remove missing value of latitude\n", + "df.dropna(subset=['latitude '], inplace= True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "B0hvqVKrNz7s" + }, + "outputs": [], + "source": [ + "# Remove missing value of longitude\n", + "df.dropna(subset=['longitude'], inplace= True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0DlbE81cNz7t", + "outputId": "a3568cb1-b0af-439b-9e0a-63c5969cac3a" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "reviewer_id 0\n", + "store_name 0\n", + "category 0\n", + "store_address 0\n", + "latitude 0\n", + "longitude 0\n", + "rating_count 0\n", + "review_time 0\n", + "review 0\n", + "rating 0\n", + "dtype: int64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Check again missing value\n", + "df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "d6zaRPLqNz7t", + "outputId": "1206d79c-0a9a-4798-861b-9031c8982e24" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['reviewer_id', 'store_name', 'category', 'store_address', 'latitude ',\n", + " 'longitude', 'rating_count', 'review_time', 'review', 'rating'],\n", + " dtype='object')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show all data columns\n", + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "fQT2YI-gNz7u" + }, + "outputs": [], + "source": [ + "# Removing white space in columns latitude\n", + "df.columns=df.columns.str.strip()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "rzYkoDL1Nz7w", + "outputId": "a2aff493-3817-46f9-d48e-adfc15961e21" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['reviewer_id', 'store_name', 'category', 'store_address', 'latitude',\n", + " 'longitude', 'rating_count', 'review_time', 'review', 'rating'],\n", + " dtype='object')" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Check again white space in columns\n", + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "w_UOTLulNz7x", + "outputId": "bee20b74-d737-470e-9405-ebcb3d527e6e" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(32736, 10)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show number of columns and rows\n", + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "RoYjWQJjNz7x", + "outputId": "ae52f785-97e0-45c2-c6b5-b512305a5910" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "reviewer_id 32736\n", + "store_name 2\n", + "category 1\n", + "store_address 39\n", + "latitude 39\n", + "longitude 39\n", + "rating_count 50\n", + "review_time 39\n", + "review 21634\n", + "rating 5\n", + "dtype: int64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show how many unique value in every columns of dataset\n", + "df.nunique()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "RsiZ3f1QNz7y", + "outputId": "a220ff2f-40ce-455a-dfcd-3b5ca679fb64" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Why does it look like someone spit on my food?\\nI had a normal transaction, everyone was chill and polite, but now i dont want to eat this. Im trying not to think about what this milky white/clear substance is all over my food, i d*** sure am not coming back.',\n", + " \"It'd McDonalds. It is what it is as far as the food and atmosphere go. The staff here does make a difference. They are all friendly, accommodating and always smiling. Makes for a more pleasant experience than many other fast food places.\",\n", + " 'Made a mobile order got to the speaker and checked it in.\\nLine was not moving so I had to leave otherwise I���������������������������d be late for work.\\nNever got the refund in the app.\\nI called them and they said I could only get my money back in person because it was stuck in the system.\\nWent there in person the next day and the manager told me she wasnï¿',\n", + " ..., 'To remove hunger is enough',\n", + " \"It's good, but lately it has become very expensive.\",\n", + " 'they took good care of me'], dtype=object)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show unique value of column feature\n", + "df.review.unique()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dnFfuMagNz7y" + }, + "source": [ + "From above we gain information that useful for us to do `Text Preprocessing` or to reduce our vocabluary or find stopwords to make the process of our model faster and expected to have improvement." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "LKZmS01ANz7z", + "outputId": "9fdc22c8-426f-4980-d672-753e335eea5c" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['1 star', '4 stars', '5 stars', '2 stars', '3 stars'], dtype=object)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show unique value of target feature\n", + "df.rating.unique()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Bu2VkyfBNz7z" + }, + "source": [ + "Later we will divide each rating into classes, 1 star - 2 stars will enten class `Negative`, 3 stars will enter class `Neutral`, and 4 stars- 5 stars will enter class `Positive`" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "o3AobjNcNz7z", + "outputId": "ef44b2c8-6d03-4478-c3b3-727f5b674f23" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([\"McDonald's\", \"ýýýMcDonald's\"], dtype=object)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show store name unique value\n", + "df.store_name.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "id": "OsLJv2IbNz70" + }, + "outputs": [], + "source": [ + "# Remove undefined name of the store\n", + "df['store_name'] = df['store_name'].str.replace(\"ýýýMcDonald's\", \"McDonald's\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zfXS-AvZNz70", + "outputId": "7d3de49b-8689-4e91-85e7-234a342a978e" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([\"McDonald's\"], dtype=object)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Checking the store name unique value\n", + "df.store_name.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "y1WhyZUYNz70", + "outputId": "cd9b56cd-5dfa-48ae-c44f-b6d70a914459" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show data duplication\n", + "df.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 300 + }, + "id": "78VywmGUNz71", + "outputId": "73fe1aa3-171d-48e0-be3b-26da96c97c29" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewer_idlatitudelongitude
count32736.00000032736.00000032736.000000
mean16580.60502234.442546-90.647033
std9700.7965135.34411616.594844
min1.00000025.790295-121.995421
25%8184.75000028.655350-97.792874
50%16368.50000033.931261-81.471414
75%25202.25000040.727401-75.399919
max33396.00000044.981410-73.459820
\n", + "
" + ], + "text/plain": [ + " reviewer_id latitude longitude\n", + "count 32736.000000 32736.000000 32736.000000\n", + "mean 16580.605022 34.442546 -90.647033\n", + "std 9700.796513 5.344116 16.594844\n", + "min 1.000000 25.790295 -121.995421\n", + "25% 8184.750000 28.655350 -97.792874\n", + "50% 16368.500000 33.931261 -81.471414\n", + "75% 25202.250000 40.727401 -75.399919\n", + "max 33396.000000 44.981410 -73.459820" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# looking data mean std min median max\n", + "df.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UVpe6iezNz71" + }, + "source": [ + "# Bab 4: Exploratory Data Anlaysis (EDA)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "id": "D1I7q7N0Nz71", + "outputId": "302d4156-eddb-4940-8cb8-195cfe7ca990" + }, + "outputs": [ + { + "data": { + "image/png": "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2rhxo6SLV5p69uyp+Ph4rV692rFOkuLj4yVJGzdu1IkTJzRixAhduHDBsZSVlalPnz7KzMxUUVGRJKljx45atGiRpk+frs2bN+v8+fM1dt5r165VRESEOnbs6LQ+KSlJxhitXbv2isf42c9+pszMzHLLpTG4nP379+v48eMaPHiw0/qWLVuqS5cuFe6TkJAgd3d3x+uoqChJUnZ2tiTp66+/1r59+5SYmChJTuN9//3369ixY473smPHjvrnP/+pZ555RhkZGTp79uwVa/6xIUOGyNPT03E7trCwUB9//LECAgKc2q1du1bx8fHy9/eXu7u7PD09NXnyZOXn5ys3N9dSnz/14IMPOr2OiorSuXPnHMddt26dJJUb46FDh15Tv8C1IEABN4gffvhBxhg1bdq03LZmzZpJkuO2TmxsrBo0aKA1a9bo66+/1pEjRxwBasuWLTp9+rTWrFmjkJAQtWnTRtL/z4kZNGiQPD09nZY//OEPMsboxIkTkqR3331XI0aM0N///nd17txZgYGBGj58uI4fP17t552fn39V53w59erVU0xMTLnljjvuuKr+JemWW24pt62idZLUqFEjp9eXbnNdCj+Xxvqpp54qN9aPPfaYpIvz1iRpzpw5+v3vf68PPvhAcXFxCgwM1IABA676W3R/+MMflJmZqXXr1um5557Td999pwEDBjjdfty6dat69eol6eJcrw0bNigzM1PPPfecU91VdaXxyM/Pl4eHhwIDA53aVTa+wPXAHCjgBtGwYUO5ubnp2LFj5bZ9++23kqTGjRtLkry8vHTPPfdozZo1at68uYKDg9W+fXuFhIRIujhROj09XQ888IDjGJf2nTt3bqXfprr0gda4cWPNnj1bs2fPVk5OjlasWKFnnnlGubm5+vTTT6vvpHXxw/dqzrmmXPrw/+mka0lVDoyXap40aZIGDhxYYZuwsDBJkre3t1JSUpSSkqLvvvvOcTWqX79+2rdv3xX7CgkJcUwcv++++1S/fn09//zzmjt3rp566ilJ0pIlS+Tp6amPPvpI9erVc+z7wQcfVOn8rGrUqJEuXLigEydOOIWomgjkwNXiChRwg/D29lanTp20bNkypysCZWVlSktLU/PmzZ0mBsfHx2v79u16//33HbfpvL29dffdd2vu3Ln69ttvHeslqUuXLgoICNCXX35Z4dWamJgYeXl5laurZcuWGjNmjHr27KkdO3Y41tvtdktXLipr36NHD3355ZdOx5akt956SzabTXFxcVfdR1WEhYUpODi43LfjcnJyHLdIq3LMtm3bateuXZWOta+vb7n9brnlFiUlJWno0KHav3+/zpw5Y7nviRMn6rbbblNqaqpOnTolSbLZbPLw8HC67Xj27Fm9/fbb5fa3+r5eja5du0q6eGXzx5YsWVKt/QBWcAUKqGPWrl2rI0eOlFt///33a8aMGerZs6fi4uL01FNPycvLS/PmzdOePXu0ePFip0cF9OjRQ6WlpUpPT9ebb77pWB8fH68pU6bIZrOpe/fujvU+Pj6aO3euRowYoRMnTmjQoEFq0qSJvv/+e+3atUvff/+95s+fr4KCAsXFxWnYsGEKDw+Xr6+vMjMz9emnnzpdTWnfvr2WLVum+fPnq0OHDnJzc3NcCalI+/bttWTJEr377rsKCQlRvXr11L59e40fP15vvfWWEhISNHXqVLVq1Uoff/yx5s2bp0cffbTct8mqm5ubm1JSUvTb3/5WgwYN0qhRo3Ty5EmlpKSoadOmcnOr2v9P/dvf/qa+ffuqd+/eSkpK0q233qoTJ07oq6++0o4dO7R06VJJUqdOnfTAAw8oKipKDRs21FdffaW3335bnTt3VoMGDSz36+npqZdeekmDBw/WX/7yFz3//PNKSEjQn/70Jw0bNky/+c1vlJ+fr1mzZlX4DbvK3qdr0adPH3Xp0kW/+93vVFhYqA4dOmjTpk166623JKnKYwxcExdPYgdwlS59C6+y5fDhw8YYY9avX2+6d+9uvL29Tf369c3dd99tPvzww3LHKysrM40bNzaSzDfffONYv2HDBiPJ3HnnnRXWsW7dOpOQkGACAwONp6enufXWW01CQoJZunSpMcaYc+fOmdGjR5uoqCjj5+dn6tevb8LCwsyUKVNMUVGR4zgnTpwwgwYNMgEBAcZms5kr/efoyJEjplevXsbX19dIcvp2W3Z2thk2bJhp1KiR8fT0NGFhYebll192fFPtcrp27Wpuv/32Crd9//33V/wW3iULFiwwt912m/Hy8jKhoaHmjTfeMP379zfR0dGONpe+ifbyyy+X6+un/RhjzK5du8zgwYNNkyZNjKenpwkODjbdu3c3r776qqPNM888Y2JiYkzDhg2N3W43ISEhZvz48SYvL++y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AAAsIkABAABYRIACAACwiAAFAABgEQEKAADAIg9XF3CjMsZIkgoLC11cCQAAuFqXPrcvfY5XhgBVQ/Lz8yVJLVq0cHElAADAqlOnTsnf37/S7QSoGhIYGChJysnJuewbgOpVWFioFi1a6OjRo/Lz83N1OTcFxtw1GHfXYNxd43qOuzFGp06dUrNmzS7bjgBVQ9zcLk4v8/f3539kLuDn58e4X2eMuWsw7q7BuLvG9Rr3q7nwwSRyAAAAiwhQAAAAFhGgaojdbteUKVNkt9tdXcpNhXG//hhz12DcXYNxd43aOO42c6Xv6QEAAMAJV6AAAAAsIkABAABYRIACAACwiAAFAABgEQGqBsybN09t2rRRvXr11KFDB61fv97VJdUZM2bM0F133SVfX181adJEAwYM0P79+53aGGOUnJysZs2aqX79+urWrZv27t3r1Ka4uFhjx45V48aN5e3trQcffFD/+c9/nNr88MMPevjhh+Xv7y9/f389/PDDOnnyZE2fYq03Y8YM2Ww2jRs3zrGOMa8533zzjR566CE1atRIDRo00M9//nNt377dsZ2xr34XLlzQ888/rzZt2qh+/foKCQnR1KlTVVZW5mjDuF+7f/3rX+rXr5+aNWsmm82mDz74wGn79RzjnJwc9evXT97e3mrcuLGeeOIJlZSUXNsJGlSrJUuWGE9PT/Paa6+ZL7/80jz55JPG29vbZGdnu7q0OqF3795m4cKFZs+ePSYrK8skJCSYli1bmtOnTzvapKamGl9fX/P++++b3bt3myFDhpimTZuawsJCR5vRo0ebW2+91axevdrs2LHDxMXFmTvuuMNcuHDB0aZPnz4mMjLSbNy40WzcuNFERkaaBx544Lqeb22zdetW07p1axMVFWWefPJJx3rGvGacOHHCtGrVyiQlJZktW7aYw4cPmzVr1pivv/7a0Yaxr37Tp083jRo1Mh999JE5fPiwWbp0qfHx8TGzZ892tGHcr90nn3xinnvuOfP+++8bSWb58uVO26/XGF+4cMFERkaauLg4s2PHDrN69WrTrFkzM2bMmGs6PwJUNevYsaMZPXq007rw8HDzzDPPuKiiui03N9dIMuvWrTPGGFNWVmaCg4NNamqqo825c+eMv7+/efXVV40xxpw8edJ4enqaJUuWONp88803xs3NzXz66afGGGO+/PJLI8ls3rzZ0WbTpk1Gktm3b9/1OLVa59SpU6Zt27Zm9erVpmvXro4AxZjXnN///vfmnnvuqXQ7Y18zEhISzKhRo5zWDRw40Dz00EPGGMa9Jvw0QF3PMf7kk0+Mm5ub+eabbxxtFi9ebOx2uykoKKjyOXELrxqVlJRo+/bt6tWrl9P6Xr16aePGjS6qqm4rKCiQ9P8/znz48GEdP37caYztdru6du3qGOPt27fr/PnzTm2aNWumyMhIR5tNmzbJ399fnTp1crS5++675e/vf9O+V48//rgSEhIUHx/vtJ4xrzkrVqxQTEyMfvnLX6pJkyaKjo7Wa6+95tjO2NeMe+65R+np6fr3v/8tSdq1a5c+//xz3X///ZIY9+vheo7xpk2bFBkZ6fTjwL1791ZxcbHT7XKr+DHhapSXl6fS0lLdcsstTutvueUWHT9+3EVV1V3GGE2YMEH33HOPIiMjJckxjhWNcXZ2tqONl5eXGjZsWK7Npf2PHz+uJk2alOuzSZMmN+V7tWTJEu3YsUOZmZnltjHmNefQoUOaP3++JkyYoGeffVZbt27VE088IbvdruHDhzP2NeT3v/+9CgoKFB4eLnd3d5WWlurFF1/U0KFDJfE3fz1czzE+fvx4uX4aNmwoLy+va3ofCFA1wGazOb02xpRbhysbM2aMvvjiC33++efltlVljH/apqL2N+N7dfToUT355JNatWqV6tWrV2k7xrz6lZWVKSYmRi+99JIkKTo6Wnv37tX8+fM1fPhwRzvGvnq9++67SktL0zvvvKPbb79dWVlZGjdunJo1a6YRI0Y42jHuNe96jXFNvA/cwqtGjRs3lru7e7lEm5ubWy794vLGjh2rFStW6LPPPlPz5s0d64ODgyXpsmMcHByskpIS/fDDD5dt891335Xr9/vvv7/p3qvt27crNzdXHTp0kIeHhzw8PLRu3TrNmTNHHh4ejvFgzKtf06ZNFRER4bSuXbt2ysnJkcTfe015+umn9cwzz+hXv/qV2rdvr4cffljjx4/XjBkzJDHu18P1HOPg4OBy/fzwww86f/78Nb0PBKhq5OXlpQ4dOmj16tVO61evXq3Y2FgXVVW3GGM0ZswYLVu2TGvXrlWbNm2ctrdp00bBwcFOY1xSUqJ169Y5xrhDhw7y9PR0anPs2DHt2bPH0aZz584qKCjQ1q1bHW22bNmigoKCm+696tGjh3bv3q2srCzHEhMTo8TERGVlZSkkJIQxryFdunQp95iOf//732rVqpUk/t5rypkzZ+Tm5vzx5+7u7niMAeNe867nGHfu3Fl79uzRsWPHHG1WrVolu92uDh06VP0kqjz9HBW69BiD119/3Xz55Zdm3Lhxxtvb2xw5csTVpdUJjz76qPH39zcZGRnm2LFjjuXMmTOONqmpqcbf398sW7bM7N692wwdOrTCr742b97crFmzxuzYscN07969wq++RkVFmU2bNplNmzaZ9u3b3zRfL76SH38LzxjGvKZs3brVeHh4mBdffNEcOHDA/OMf/zANGjQwaWlpjjaMffUbMWKEufXWWx2PMVi2bJlp3LixmThxoqMN437tTp06ZXbu3Gl27txpJJk//elPZufOnY7H+lyvMb70GIMePXqYHTt2mDVr1pjmzZvzGIPa6K9//atp1aqV8fLyMnfeeafjK/i4MkkVLgsXLnS0KSsrM1OmTDHBwcHGbreb++67z+zevdvpOGfPnjVjxowxgYGBpn79+uaBBx4wOTk5Tm3y8/NNYmKi8fX1Nb6+viYxMdH88MMP1+Esa7+fBijGvOZ8+OGHJjIy0tjtdhMeHm4WLFjgtJ2xr36FhYXmySefNC1btjT16tUzISEh5rnnnjPFxcWONoz7tfvss88q/O/5iBEjjDHXd4yzs7NNQkKCqV+/vgkMDDRjxowx586du6bzsxljTNWvXwEAANx8mAMFAABgEQEKAADAIgIUAACARQQoAAAAiwhQAAAAFhGgAAAALCJAAQAAWESAAgAAsIgABeCmcvz4cY0dO1YhISGy2+1q0aKF+vXrp/T09Otah81m0wcffHBd+wRQfTxcXQAAXC9HjhxRly5dFBAQoJkzZyoqKkrnz5/XypUr9fjjj2vfvn2uLhFAHcFPuQC4adx///364osvtH//fnl7ezttO3nypAICApSTk6OxY8cqPT1dbm5u6tOnj+bOnatbbrlFkpSUlKSTJ086XT0aN26csrKylJGRIUnq1q2boqKiVK9ePf3973+Xl5eXRo8ereTkZElS69atlZ2d7di/VatWOnLkSE2eOoBqxi08ADeFEydO6NNPP9Xjjz9eLjxJUkBAgIwxGjBggE6cOKF169Zp9erVOnjwoIYMGWK5vzfffFPe3t7asmWLZs6cqalTp2r16tWSpMzMTEnSwoULdezYMcdrAHUHt/AA3BS+/vprGWMUHh5eaZs1a9boiy++0OHDh9WiRQtJ0ttvv63bb79dmZmZuuuuu666v6ioKE2ZMkWS1LZtW73yyitKT09Xz549FRQUJOliaAsODr6GswLgKlyBAnBTuDRbwWazVdrmq6++UosWLRzhSZIiIiIUEBCgr776ylJ/UVFRTq+bNm2q3NxcS8cAUHsRoADcFNq2bSubzXbZIGSMqTBg/Xi9m5ubfjp19Pz58+X28fT0dHpts9lUVlZWldIB1EIEKAA3hcDAQPXu3Vt//etfVVRUVG77yZMnFRERoZycHB09etSx/ssvv1RBQYHatWsnSQoKCtKxY8ec9s3KyrJcj6enp0pLSy3vB6B2IEABuGnMmzdPpaWl6tixo95//30dOHBAX331lebMmaPOnTsrPj5eUVFRSkxM1I4dO7R161YNHz5cXbt2VUxMjCSpe/fu2rZtm9566y0dOHBAU6ZM0Z49eyzX0rp1a6Wnp+v48eP64YcfqvtUAdQwAhSAm0abNm20Y8cOxcXF6Xe/+50iIyPVs2dPpaena/78+Y6HWzZs2FD33Xef4uPjFRISonfffddxjN69e+uFF17QxIkTddddd+nUqVMaPny45Vr++Mc/avXq1WrRooWio6Or8zQBXAc8BwoAAMAirkABAABYRIACAACwiAAFAABgEQEKAADAIgIUAACARQQoAAAAiwhQAAAAFhGgAAAALCJAAQAAWESAAgAAsIgABQAAYBEBCgAAwKL/A5RB28hmm/ahAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Bar chart Sentiments\n", + "df['rating'].value_counts().nlargest(10).plot(kind='barh')\n", + "plt.title('Lowest to Highes Rating')\n", + "plt.xlabel('Count')\n", + "plt.ylabel('Rating')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking from information above we can said that the most customer of MC'D givin rating 5 stars which is satisfied with the restaurant from the menu served or the service of the restaurant but unfortunately from the data the second highest rating giving by customer is 1 stars where it is very negative response from customer. At the end we can conclude that customers of Mc'd here still satisfied because the third place of rating is filled with 4 stars rating that indicates postiveness rating bigger than negativeness" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 70 + }, + "id": "PqAVnt4jNz72", + "outputId": "f5719b97-3d10-477b-ccdb-0694cb09d5c8" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'Why does it look like someone spit on my food?\\nI had a normal transaction, everyone was chill and polite, but now i dont want to eat this. Im trying not to think about what this milky white/clear substance is all over my food, i d*** sure am not coming back.'" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# example of 1 star review\n", + "df[df.rating == '1 star'].iloc[0].review" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "id": "PwnyJMngNz72", + "outputId": "f12bae77-cf04-4598-8e70-5d79ba535b4d" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'The staff are very friendly and they do their job perfectly'" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# example of 5 star review\n", + "df[df.rating == '5 stars'].iloc[1].review" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 428 + }, + "id": "3TaDhK_LNz73", + "outputId": "04c15a71-3e08-4a22-c170-9f737606b402" + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Pie Plot Percentages of Platforms\n", + "df['category'].value_counts().plot(kind='pie', autopct='%1.1f%%')\n", + "plt.title('Percentages of Platforms')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnoAAAHqCAYAAACTJOPSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABIsElEQVR4nO3de1xVdb7/8feOm4iwEwiQEW9lXsIcw0K0UlNBE0k9jRWFmqY2pkZqTR6nvDRJqalTjmZmat6wm2ZjQ2KZZV6j0LyMdnFEE8QKN8IYIKzfHx3Xzy14ATYCq9fz8diPR+u7Pmutz9rsOb7Pd621t80wDEMAAACwnGuquwEAAABUDYIeAACARRH0AAAALIqgBwAAYFEEPQAAAIsi6AEAAFgUQQ8AAMCiCHoAAAAWRdADAACwKIIeUA2WLFkim82m//znP+XedvLkybLZbPrpp59c1s+5fV5p3blX3bp11bBhQ8XExOiVV17R6dOnS20zePBgNWnSpFz9HD9+XJMnT1Z6enq5tivrWDabTaNGjSrXfi5n3rx5WrJkSanx//znP7LZbGWuq2pV8bm4lP3792vy5MlX/BlOT09X79691ahRI3l7e8vf319RUVFavnz5FW1/7vyuueYa/fDDD6XW5+fny8/PTzabTYMHDy7HmZTfhx9+qMmTJ5e5rio+b0BlEPQAlFtKSoq2bdumlJQUzZw5U40aNdJTTz2lm266Sbt373aqfeaZZ7RmzZpy7f/48eOaMmVKuYNeRY5VERcLeg0aNNC2bdvUu3fvKu+huu3fv19Tpky54qB36tQphYWFadq0afrwww/15ptvqkmTJkpISNDf/va3Kz5uvXr1tHjx4lLjb7/9toqKiuTh4XHF+6qoDz/8UFOmTKny4wCu4F7dDQCofSIiIhQYGGgu33///Ro1apQ6d+6suLg4HTp0SF5eXpKk66+/vsr7+e9//6u6detelWNdipeXlzp06FCtPdRUXbp0UZcuXZzGYmNjdfjwYb322mv661//ekX7ue+++7R06VJNmTJF11zz/+cqFi1apH79+mndunWubBuo9ZjRA2qI1NRU3XPPPWrYsKHq1KmjG264QSNGjLjopbijR4+qf//+8vPzk91u10MPPaSTJ0+Wqlu9erWioqLk4+OjevXqKSYmRl9//bXL+2/btq0mTpyojIwMrV692hwv63Lq22+/rcjISNntdtWtW1fNmjXTkCFDJEmffvqpbr31VknSww8/bF4mPnepbPDgwapXr56++eYbRUdHy9fXV926dbvosc5ZsGCBbrzxRnl5eal169ZKTk52Wn+xy9cXXmZv0qSJ9u3bp82bN5u9nTvmxS7dbtmyRd26dZOvr6/q1q2rjh07av369WUeZ9OmTfrzn/+swMBABQQEqH///jp+/HiZ51ReJ0+e1MiRI9W6dWvVq1dPQUFBuuuuu/T555+Xqp0/f77atm2revXqydfXVy1bttT//u//mr3+6U9/kiR17drVfB8qcsk6MDBQ7u5XPucwZMgQHT16VKmpqebYoUOHtGXLFvMzdKGMjAw99NBDCgoKkpeXl1q1aqWXXnpJJSUlZs25v93MmTM1a9YsNW3aVPXq1VNUVJS2b99u1g0ePFj/+Mc/JMnpNoYLZzaXLVumVq1aqW7dumrbtq3++c9/Oq0/efKkhg8frrCwMHl5eem6665Tp06dtHHjxit+L4ArQdADaojvv/9eUVFRmj9/vjZs2KBnn31WO3bs0O23366ioqJS9f369dMNN9ygd955R5MnT9batWsVExPjVDtt2jQ98MADat26td566y0tW7ZMp0+f1h133KH9+/e7/Bzi4uIkSZ999tlFa7Zt26b77rtPzZo1U3JystavX69nn31WZ8+elSTdcsst5qW5v/71r9q2bZu2bdumRx55xNxHYWGh4uLidNddd+n999+/7GW0devW6eWXX9bUqVP1zjvvqHHjxnrggQf0zjvvlPsc16xZo2bNmqldu3Zmb5e6XLx582bdddddcjgcWrRokVatWiVfX1/16dPHKRCf88gjj8jDw0MrV67U9OnT9emnn+qhhx4qd59l+eWXXyRJkyZN0vr167V48WI1a9ZMXbp00aeffmrWJScna+TIkercubPWrFmjtWvX6oknnlB+fr4kqXfv3po2bZok6R//+If5PlzJJeuSkhKdPXtWJ0+e1Lx58/TRRx/pL3/5yxWfQ/PmzXXHHXfojTfeMMfeeOMNNWnSxAz85zt58qQ6duyoDRs26LnnntO6devUvXt3jR8/vsx76f7xj38oNTVVc+bM0YoVK5Sfn6+7775bDodD0m+3B9x7772SZJ73tm3b1KBBA3Mf69ev19y5czV16lS9++678vf3V79+/ZzuLUxISNDatWv17LPPasOGDXr99dfVvXt3/fzzz1f8XgBXxABw1S1evNiQZBw+fLjM9SUlJUZRUZFx5MgRQ5Lx/vvvm+smTZpkSDKeeOIJp21WrFhhSDKWL19uGIZhZGRkGO7u7sbo0aOd6k6fPm2EhIQYAwYMKLXPyzlXd/LkyTLXnzlzxpBk9OrVyxwbNGiQ0bhxY3N55syZhiTj1KlTFz3Orl27DEnG4sWLS60bNGiQIcl44403ylx3/rEMwzAkGd7e3kZWVpY5dvbsWaNly5bGDTfcUOrcLlTW3+qmm24yOnfuXKr28OHDpfru0KGDERQUZJw+fdrp+OHh4UbDhg2NkpISp+OMHDnSaZ/Tp083JBmZmZmljne+y/1tynL27FmjqKjI6Natm9GvXz9zfNSoUca11157yW3ffvttQ5KxadOmKz6eYRjGiBEjDEmGJMPT09OYN2/eFW13/vktXrzY8PLyMn7++Wfj7NmzRoMGDYzJkycbhmEYPj4+xqBBg8ztnn76aUOSsWPHDqf9/fnPfzZsNptx8OBBwzD+/9+uTZs2xtmzZ826nTt3GpKMVatWmWOPPfbYRf/3IskIDg42cnNzzbGsrCzjmmuuMZKSksyxevXqGYmJiVd07kBlMKMH1BDZ2dl69NFHFRYWJnd3d3l4eKhx48aSpAMHDpSqf/DBB52WBwwYIHd3d23atEmS9NFHH+ns2bMaOHCgzp49a77q1Kmjzp07O83guIphGJetOXdZdsCAAXrrrbf0448/VuhY//M//3PFtd26dVNwcLC57Obmpvvuu0/fffedjh07VqHjX4n8/Hzt2LFD9957r+rVq+d0/ISEBB07dkwHDx502ubcrOg5N998syTpyJEjLunp1Vdf1S233KI6deqYn7OPP/7Y6TN222236dSpU3rggQf0/vvvu/RJ3v/93//Vrl27tH79eg0ZMkSjRo3SzJkzy7WPP/3pT/L09NSKFSv04YcfKisr66JP2n7yySdq3bq1brvtNqfxwYMHyzAMffLJJ07jvXv3lpubm7lckfe/a9eu8vX1NZeDg4MVFBTktI/bbrtNS5Ys0d/+9jdt3769zFl7wBUIekANUFJSoujoaL333nt66qmn9PHHH2vnzp3mvUFnzpwptU1ISIjTsru7uwICAsxLPydOnJD0W7Dy8PBweq1evbpKvobj3D9koaGhF6258847tXbtWjOENmzYUOHh4Vq1atUVH6du3bry8/O74voL36vzx6ryUllOTo4Mw3C6rHfOuffowuMHBAQ4LZ97qKWsz0B5zZo1S3/+858VGRmpd999V9u3b9euXbvUs2dPp/0nJCTojTfe0JEjR/Q///M/CgoKUmRkpNN9cRXVqFEjtW/fXnfffbfmz5+v4cOHa8KECWXeX3oxPj4+uu+++/TGG29o0aJF6t69u/n/FF3o559/vurv/4X7OLef8/exevVqDRo0SK+//rqioqLk7++vgQMHKisr64qPA1wJnroFaoC9e/dq9+7dWrJkiQYNGmSOf/fddxfdJisrS3/4wx/M5bNnz+rnn382/5E591TsuXvSroZzTzxe+HTlhe655x7dc889Kigo0Pbt25WUlKT4+Hg1adJEUVFRlz3OlXzn3/nK+sfz3Ni596tOnTqSpIKCAvMfd0mVCsT169fXNddco8zMzFLrzj1gcf7Ty1Vt+fLl6tKli+bPn+80Xtb3Hz788MN6+OGHlZ+fr88++0yTJk1SbGysDh065NLP02233aZXX31VP/zwg6677ror3m7IkCF6/fXXtWfPHq1YseKidQEBATXm/T9fYGCg5syZozlz5igjI0Pr1q3T008/rezsbKWkpFRLT7AmZvSAGuBccDk/YEi/PSl6MRf+4/bWW2/p7NmzZsiKiYmRu7u7vv/+e7Vv377Mlyvt3r1b06ZNU5MmTTRgwIAr2sbLy0udO3fWiy++KEnm08CunMWSpI8//tic4ZSk4uJirV69Wtdff70aNmwoSeaTs3v27HHa9oMPPiiz7yvpzcfHR5GRkXrvvfec6ktKSrR8+XI1bNhQN954Y0VOqUJsNlupz9iePXu0bdu2i27j4+OjXr16aeLEiSosLNS+ffskue5vtGnTJl1zzTVq1qxZubaLiorSkCFD1K9fP/Xr1++idd26ddP+/fv11VdfOY2/+eabstls6tq1a7l7dvXns1GjRho1apR69OhRqk+gspjRA2qAli1b6vrrr9fTTz8twzDk7++vDz744JKXyt577z25u7urR48e2rdvn5555hm1bdvWDFlNmjTR1KlTNXHiRP3www/q2bOn6tevrxMnTmjnzp3y8fGp8Je+pqWlyW63q6ioSMePH9fHH3+sZcuWKSgoSB988IE8PT0vuu2zzz6rY8eO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66+u7gkAAAAuUKGgt3v3brVr107jxo1TSEiIRowY4fSFxAAAAKh+FQp64eHhmjVrln788UctXrxYWVlZuv3223XTTTdp1qxZOnnypKv7BAAAQDlV6mEMd3d39evXT2+99ZZefPFFff/99xo/frwaNmyogQMHOv2kGAAAAK6uSgW9L7/8UiNHjlSDBg00a9YsjR8/Xt9//70++eQT/fjjj7rnnntc1ScAAADKqUI/gTZr1iwtXrxYBw8e1N13360333xTd999t6655rfc2LRpUy1YsEAtW7Z0abMAAAC4chUKevPnz9eQIUP08MMPKyQkpMyaRo0aadGiRZVqDgAAABVXoaD37bffXrbG09NTgwYNqsjuAQAA4AIVukdv8eLFevvtt0uNv/3221q6dGmlmwIAAEDlVSjovfDCCwoMDCw1HhQUpGnTplW6KQAAAFRehYLekSNH1LRp01LjjRs3VkZGRqWbAgAAQOVVKOgFBQVpz549pcZ3796tgICASjcFAACAyqtQ0Lv//vs1ZswYbdq0ScXFxSouLtYnn3yixx9/XPfff7+rewQAAEAFVOip27/97W86cuSIunXrJnf333ZRUlKigQMHco8eAABADVGhoOfp6anVq1frueee0+7du+Xt7a02bdqocePGru4PAAAAFVShoHfOjTfeqBtvvNFVvQAAAMCFKhT0iouLtWTJEn388cfKzs5WSUmJ0/pPPvnEJc0BAACg4ioU9B5//HEtWbJEvXv3Vnh4uGw2m6v7AgAAQCVVKOglJyfrrbfe0t133+3qfgAAAOAiFfp6FU9PT91www2u7gUAAAAuVKGgN27cOP3973+XYRiu7gcAAAAuUqFLt1u2bNGmTZv0r3/9SzfddJM8PDyc1r/33nsuaQ4AAAAVV6Ggd+2116pfv36u7gUAAAAuVKGgt3jxYlf3AQAAABer0D16knT27Flt3LhRCxYs0OnTpyVJx48fV15ensuaAwAAQMVVaEbvyJEj6tmzpzIyMlRQUKAePXrI19dX06dP16+//qpXX33V1X0CAACgnCo0o/f444+rffv2ysnJkbe3tzner18/ffzxxy5rDgAAABVX4aduv/jiC3l6ejqNN27cWD/++KNLGgMAAEDlVGhGr6SkRMXFxaXGjx07Jl9f30o3BQAAgMqrUNDr0aOH5syZYy7bbDbl5eVp0qRJ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Ht12223q0aOH8vPz1b9/f3399de6/vrrXd0jAAAAKqDcM3pFRUWKjo7WggULNGXKlKroCQAAAC5Q7hk9Dw8P7d27VzabrSr6AQAAgItU6NLtwIEDtWjRIlf3AgAAABeq0MMYhYWFev3115Wamqr27duX+o3bWbNmuaQ5AAAAVFy5gt4PP/ygJk2aaO/evbrlllskSYcOHXKq4ZIuAABAzVCuoNe8eXNlZmZq06ZNkn77ybOXX35ZwcHBVdIcAAAAKq5c9+gZhuG0/K9//Uv5+fkubQgAAACuUaGHMc65MPgBAACg5ihX0LPZbKXuweOePAAAgJqpXPfoGYahwYMHy8vLS5L066+/6tFHHy311O17773nug4BAABQIeUKeoMGDXJafuihh1zaDAAAAFynXEFv8eLFVdUHAAAAXKxSD2MAAACg5iLoAQAAWBRBDwAAwKIIegAAABZF0AMAALAogh4AAIBFEfQAAAAsiqAHAABgUQQ9AAAAiyLoAQAAWBRBDwAAwKIIegAAABZF0AMAALCoGh/0fvzxRz300EMKCAhQ3bp19cc//lFpaWnmesMwNHnyZIWGhsrb21tdunTRvn37nPZRUFCg0aNHKzAwUD4+PoqLi9OxY8ecanJycpSQkCC73S673a6EhASdOnXqapwiAABAlajRQS8nJ0edOnWSh4eH/vWvf2n//v166aWXdO2115o106dP16xZszR37lzt2rVLISEh6tGjh06fPm3WJCYmas2aNUpOTtaWLVuUl5en2NhYFRcXmzXx8fFKT09XSkqKUlJSlJ6eroSEhKt5ugAAAC7lXt0NXMqLL76osLAwLV682Bxr0qSJ+d+GYWjOnDmaOHGi+vfvL0launSpgoODtXLlSo0YMUIOh0OLFi3SsmXL1L17d0nS8uXLFRYWpo0bNyomJkYHDhxQSkqKtm/frsjISEnSwoULFRUVpYMHD6pFixZX76QBAABcpEbP6K1bt07t27fXn/70JwUFBaldu3ZauHChuf7w4cPKyspSdHS0Oebl5aXOnTtr69atkqS0tDQVFRU51YSGhio8PNys2bZtm+x2uxnyJKlDhw6y2+1mDQAAQG1To4PeDz/8oPnz56t58+b66KOP9Oijj2rMmDF68803JUlZWVmSpODgYKftgoODzXVZWVny9PRU/fr1L1kTFBRU6vhBQUFmTVkK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2gcA6yPoAQAAWBRBDwAAwKIIegDgQsuXL1f79u3l6+urkJAQxcfHKzs7u1TdF198obZt26pOnTqKjIzUN99847R+69atuvPOO+Xt7a2wsDCNGTNG+fn5V+s0AFgEQQ8AXKiwsFDPPfecdu/erbVr1+rw4cMaPHhwqbonn3xSM2fO1K5duxQUFKS4uDgVFRVJkr755hvFxMSof//+2rNnj1avXq0tW7Zo1KhRV/lsANR27tXdAABYyZAhQ8z/btasmV5++WXddtttysvLU7169cx1kyZNUo8ePSRJS5cuVcOGDbVmzRoNGDBAM2bMUHx8vPmAR/PmzfXyyy+rc+fOmj9/vurUqXNVzwlA7cWMHgC40Ndff6177rlHjRs3lq+vr7p06SJJysjIcKqLiooy/9vf318tWrTQgQMHJElpaWlasmSJ6tWrZ75iYmJUUlKiw4cPX7VzAVD7MaMHAC6Sn5+v6OhoRUdHa/ny5bruuuuUkZGhmJgYFRYWXnZ7m80mSSopKdGIESM0ZsyYUjWNGjVyed8ArIugBwAu8u9//1s//fSTXnjhBYWFhUmSvvzyyzJrt2/fboa2nJwcHTp0SC1btpQk3XLLLdq3b59uuOGGq9M4AMvi0i0AuEijRo3k6empV155RT/88IPWrVun5557rszaqVOn6uOPP9bevXs1ePBgBQYGqm/fvpKkv/zlL9q2bZsee+wxpaen69tvv9W6des0evToq3g2AKyAoAcALnLddddpyZIlevvtt9W6dWu98MILmjlzZpm1L7zwgh5//HFFREQoMzNT69atk6enpyTp5ptv1ubNm/Xtt9/qjjvuULt27fTMM8+oQYMGV/N0AFiAzTAMo7qbAAAAgOsxowcAAGBRBD0AAACLIugBAABYFEEPAADAogh6AAAAFkXQAwAAsCiCHgAAgEUR9AAAACyKoAcAAGBRBD0AAACLIugBAABYFEEPAADAov4fZDVkPctHFggAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Creating Label Plot\n", + "le = LabelEncoder()\n", + "\n", + "df['label'] = le.fit_transform(df['label'])\n", + "\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "sns.countplot(x='label', data=df)\n", + "plt.title('label Distribution Last 3 Months')\n", + "plt.xlabel('label')\n", + "plt.ylabel('Frequency')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "from information above we can said that the label, class from customers' review the highest giving rating with label 2 that is `Positive Response`, 0 is `Negative Response`, and 1 is `Neutral Response`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "K3S-6jd6Nz74" + }, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZBOz5-4KNz74" + }, + "source": [ + "# Bab 5: Feature Engineering / Text Preprocessing" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qlBW_K0ANz75" + }, + "source": [ + "### Remove Stopwords & Doing Lemmatization" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "dGuhGt2pNz75", + "outputId": "7f0da7dd-a068-42ef-a530-8bba10960bd6" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stopwords from NLTK\n", + "179 ['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', \"you're\", \"you've\", \"you'll\", \"you'd\", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', \"she's\", 'her', 'hers', 'herself', 'it', \"it's\", 'its', 'itself', 'they', 'them', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom', 'this', 'that', \"that'll\", 'these', 'those', 'am', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'having', 'do', 'does', 'did', 'doing', 'a', 'an', 'the', 'and', 'but', 'if', 'or', 'because', 'as', 'until', 'while', 'of', 'at', 'by', 'for', 'with', 'about', 'against', 'between', 'into', 'through', 'during', 'before', 'after', 'above', 'below', 'to', 'from', 'up', 'down', 'in', 'out', 'on', 'off', 'over', 'under', 'again', 'further', 'then', 'once', 'here', 'there', 'when', 'where', 'why', 'how', 'all', 'any', 'both', 'each', 'few', 'more', 'most', 'other', 'some', 'such', 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than', 'too', 'very', 's', 't', 'can', 'will', 'just', 'don', \"don't\", 'should', \"should've\", 'now', 'd', 'll', 'm', 'o', 're', 've', 'y', 'ain', 'aren', \"aren't\", 'couldn', \"couldn't\", 'didn', \"didn't\", 'doesn', \"doesn't\", 'hadn', \"hadn't\", 'hasn', \"hasn't\", 'haven', \"haven't\", 'isn', \"isn't\", 'ma', 'mightn', \"mightn't\", 'mustn', \"mustn't\", 'needn', \"needn't\", 'shan', \"shan't\", 'shouldn', \"shouldn't\", 'wasn', \"wasn't\", 'weren', \"weren't\", 'won', \"won't\", 'wouldn', \"wouldn't\"]\n", + "\n", + "Out Final Stopwords\n", + "181 ['she', 'these', 'm', 'few', 'am', 'aren', 'ain', 'did', 'have', 'above', 'doesn', 'its', 'mustn', 'doing', 'been', 'himself', \"that'll\", 'any', 'theirs', 'by', 'only', 'just', 'he', 'didn', 'itself', 'has', \"needn't\", \"you're\", 'be', 'with', 'against', 'were', 't', 'some', 'ours', 'once', 'own', 'shouldn', 'wouldn', 'more', 'ma', 'mine', 'each', 're', 'until', 'it', \"shan't\", 'that', \"didn't\", 'very', 'in', \"she's\", 'out', 'both', \"won't\", 'you', 'from', 'will', 'there', 'too', 'hasn', 'up', 'her', 'are', 's', 'i', 'nor', 'had', \"doesn't\", 'a', 'having', 'yourselves', 'further', 'was', \"wasn't\", 'same', 'all', \"weren't\", 'to', 'him', 'then', 'their', 'why', 'we', 'themselves', 'again', 'hers', 'after', \"should've\", 'd', 'this', 'his', 'won', \"mightn't\", 'below', 'on', 'ourselves', 'they', 'now', 'shan', 'our', 'while', 'here', 'under', 've', 'do', 'should', \"aren't\", 'don', 'down', \"mustn't\", 'me', 'such', 'most', 'isn', 'into', 'hadn', 'other', 'where', 'wasn', 'weren', \"hasn't\", 'when', \"it's\", 'them', 'for', \"you've\", 'or', 'what', 'an', 'yours', 'off', 'haven', 'as', 'll', 'myself', 'because', 'which', 'being', 'your', 'than', 'herself', \"shouldn't\", 'and', 'does', 'who', 'if', 'through', 'the', \"wouldn't\", \"couldn't\", 'about', 'whom', 'y', 'is', 'but', 'how', 'between', 'not', 'no', 'so', 'can', \"you'd\", 'my', 'before', \"haven't\", 'during', 'of', 'couldn', 'at', 'yourself', 'over', 'aye', 'needn', \"hadn't\", 'o', \"isn't\", \"you'll\", 'mightn', \"don't\", 'those']\n" + ] + } + ], + "source": [ + "# Define Stopwords\n", + "## Load Stopwords from NLTK\n", + "from nltk.corpus import stopwords\n", + "stop_words_en = stopwords.words(\"english\")\n", + "\n", + "print('Stopwords from NLTK')\n", + "print(len(stop_words_en), stop_words_en)\n", + "print('')\n", + "\n", + "## Create A New Stopwords\n", + "new_stop_words = ['aye', 'mine', 'have']\n", + "\n", + "# Define Lemmatizer\n", + "lemmatizer = WordNetLemmatizer()\n", + "\n", + "## Merge Stopwords\n", + "stop_words_en = stop_words_en + new_stop_words\n", + "stop_words_en = list(set(stop_words_en))\n", + "print('Out Final Stopwords')\n", + "print(len(stop_words_en), stop_words_en)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fT2U3ncclVSY" + }, + "source": [ + "### Cleaning Text, Lemmatization, and Tokenization" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "id": "Im-ymtFjNz75" + }, + "outputs": [], + "source": [ + "# Create A Function for review Preprocessing\n", + "\n", + "def review_preprocessing(review):\n", + " # Case folding\n", + " review = review.lower()\n", + "\n", + " # Mention removal\n", + " review = re.sub(\"@[A-Za-z0-9_]+\", \" \", review)\n", + "\n", + " # Hashtags removal\n", + " review = re.sub(\"#[A-Za-z0-9_]+\", \" \", review)\n", + "\n", + " # Newline removal (\\n)\n", + " review = re.sub(r\"\\\\n\", \" \",review)\n", + "\n", + " # Whitespace removal\n", + " review = review.strip()\n", + "\n", + " # URL removal\n", + " review = re.sub(r\"http\\S+\", \" \", review)\n", + " review = re.sub(r\"www.\\S+\", \" \", review)\n", + "\n", + " # Non-letter removal (such as emoticon, symbol (like μ, $, 兀), etc\n", + " review = re.sub(\"[^A-Za-z\\s']\", \" \", review)\n", + " review = re.sub(\"['ï']\", \" \", review)\n", + " review = re.sub(\"['¿']\", \" \", review)\n", + " review = re.sub(\"['½']\", \" \", review)\n", + " review = re.sub(\"['ý']\", \" \", review)\n", + " # Tokenization\n", + " tokens = word_tokenize(review)\n", + "\n", + " # Stopwords removal\n", + " tokens = [word for word in tokens if word not in stop_words_en]\n", + "\n", + " # Lemmetize\n", + " tokens = [lemmatizer.lemmatize(word) for word in tokens]\n", + "\n", + " # Combining Tokens\n", + " review = ' '.join(tokens)\n", + "\n", + " return review" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "pdh-h-PFlYaZ" + }, + "source": [ + "Show the difference column `review` after cleaned in column `preprocessing_review`" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 964 + }, + "id": "eolbr2EfNz8F", + "outputId": "8fe585bc-4f47-49d1-ac06-a5ebf9b358ce" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewer_idstore_namecategorystore_addresslatitudelongituderating_countreview_timereviewratingpreprocessing_review
01McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2403 months agoWhy does it look like someone spit on my food?...1 starlook like someone spit food normal transaction...
12McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2405 days agoIt'd McDonalds. It is what it is as far as the...4 starsmcdonalds far food atmosphere go staff make di...
23McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2405 days agoMade a mobile order got to the speaker and che...1 starmade mobile order got speaker checked line mov...
34McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,240a month agoMy mc. Crispy chicken sandwich was ���ï¿...5 starsmc crispy chicken sandwich customer service qu...
45McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2402 months agoI repeat my order 3 times in the drive thru, a...1 starrepeat order time drive thru still manage mess...
....................................
3339133392McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,8104 years agoThey treated me very badly.1 startreated badly
3339233393McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,810a year agoThe service is very good5 starsservice good
3339333394McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,810a year agoTo remove hunger is enough4 starsremove hunger enough
3339433395McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,8105 years agoIt's good, but lately it has become very expen...5 starsgood lately become expensive
3339533396McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,8102 years agothey took good care of me5 starstook good care
\n", + "

32736 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " reviewer_id store_name category \\\n", + "0 1 McDonald's Fast food restaurant \n", + "1 2 McDonald's Fast food restaurant \n", + "2 3 McDonald's Fast food restaurant \n", + "3 4 McDonald's Fast food restaurant \n", + "4 5 McDonald's Fast food restaurant \n", + "... ... ... ... \n", + "33391 33392 McDonald's Fast food restaurant \n", + "33392 33393 McDonald's Fast food restaurant \n", + "33393 33394 McDonald's Fast food restaurant \n", + "33394 33395 McDonald's Fast food restaurant \n", + "33395 33396 McDonald's Fast food restaurant \n", + "\n", + " store_address latitude \\\n", + "0 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "1 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "2 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "3 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "4 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "... ... ... \n", + "33391 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33392 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33393 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33394 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33395 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "\n", + " longitude rating_count review_time \\\n", + "0 -97.792874 1,240 3 months ago \n", + "1 -97.792874 1,240 5 days ago \n", + "2 -97.792874 1,240 5 days ago \n", + "3 -97.792874 1,240 a month ago \n", + "4 -97.792874 1,240 2 months ago \n", + "... ... ... ... \n", + "33391 -80.189098 2,810 4 years ago \n", + "33392 -80.189098 2,810 a year ago \n", + "33393 -80.189098 2,810 a year ago \n", + "33394 -80.189098 2,810 5 years ago \n", + "33395 -80.189098 2,810 2 years ago \n", + "\n", + " review rating \\\n", + "0 Why does it look like someone spit on my food?... 1 star \n", + "1 It'd McDonalds. It is what it is as far as the... 4 stars \n", + "2 Made a mobile order got to the speaker and che... 1 star \n", + "3 My mc. Crispy chicken sandwich was ���ï¿... 5 stars \n", + "4 I repeat my order 3 times in the drive thru, a... 1 star \n", + "... ... ... \n", + "33391 They treated me very badly. 1 star \n", + "33392 The service is very good 5 stars \n", + "33393 To remove hunger is enough 4 stars \n", + "33394 It's good, but lately it has become very expen... 5 stars \n", + "33395 they took good care of me 5 stars \n", + "\n", + " preprocessing_review \n", + "0 look like someone spit food normal transaction... \n", + "1 mcdonalds far food atmosphere go staff make di... \n", + "2 made mobile order got speaker checked line mov... \n", + "3 mc crispy chicken sandwich customer service qu... \n", + "4 repeat order time drive thru still manage mess... \n", + "... ... \n", + "33391 treated badly \n", + "33392 service good \n", + "33393 remove hunger enough \n", + "33394 good lately become expensive \n", + "33395 took good care \n", + "\n", + "[32736 rows x 11 columns]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Applying Text Preprocessing to the dfset\n", + "\n", + "df['preprocessing_review'] = df['review'].apply(lambda x: review_preprocessing(x))\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "z7_T-iQEk2uU" + }, + "source": [ + "From data frame above you can see the difference before and after betwwen column review and preprocessing review it can be said we have cleaned the data well" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "q36ix8vcNz8G" + }, + "source": [ + "## Target Conversion" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "PBF0CQjYNz8G", + "outputId": "c97e090d-efb1-43c6-cf0a-ca563c929dfb" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['1 star', '4 stars', '5 stars', '2 stars', '3 stars'], dtype=object)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Display Target\n", + "df.rating.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 964 + }, + "id": "4s-97QRFNz8H", + "outputId": "2164688f-bd22-4960-f0c0-6726f0103264" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewer_idstore_namecategorystore_addresslatitudelongituderating_countreview_timereviewratingpreprocessing_reviewlabel
01McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2403 months agoWhy does it look like someone spit on my food?...1 starlook like someone spit food normal transaction...0
12McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2405 days agoIt'd McDonalds. It is what it is as far as the...4 starsmcdonalds far food atmosphere go staff make di...2
23McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2405 days agoMade a mobile order got to the speaker and che...1 starmade mobile order got speaker checked line mov...0
34McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,240a month agoMy mc. Crispy chicken sandwich was ���ï¿...5 starsmc crispy chicken sandwich customer service qu...2
45McDonald'sFast food restaurant13749 US-183 Hwy, Austin, TX 78750, United States30.460718-97.7928741,2402 months agoI repeat my order 3 times in the drive thru, a...1 starrepeat order time drive thru still manage mess...0
.......................................
3339133392McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,8104 years agoThey treated me very badly.1 startreated badly0
3339233393McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,810a year agoThe service is very good5 starsservice good2
3339333394McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,810a year agoTo remove hunger is enough4 starsremove hunger enough2
3339433395McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,8105 years agoIt's good, but lately it has become very expen...5 starsgood lately become expensive2
3339533396McDonald'sFast food restaurant3501 Biscayne Blvd, Miami, FL 33137, United St...25.810000-80.1890982,8102 years agothey took good care of me5 starstook good care2
\n", + "

32736 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " reviewer_id store_name category \\\n", + "0 1 McDonald's Fast food restaurant \n", + "1 2 McDonald's Fast food restaurant \n", + "2 3 McDonald's Fast food restaurant \n", + "3 4 McDonald's Fast food restaurant \n", + "4 5 McDonald's Fast food restaurant \n", + "... ... ... ... \n", + "33391 33392 McDonald's Fast food restaurant \n", + "33392 33393 McDonald's Fast food restaurant \n", + "33393 33394 McDonald's Fast food restaurant \n", + "33394 33395 McDonald's Fast food restaurant \n", + "33395 33396 McDonald's Fast food restaurant \n", + "\n", + " store_address latitude \\\n", + "0 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "1 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "2 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "3 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "4 13749 US-183 Hwy, Austin, TX 78750, United States 30.460718 \n", + "... ... ... \n", + "33391 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33392 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33393 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33394 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "33395 3501 Biscayne Blvd, Miami, FL 33137, United St... 25.810000 \n", + "\n", + " longitude rating_count review_time \\\n", + "0 -97.792874 1,240 3 months ago \n", + "1 -97.792874 1,240 5 days ago \n", + "2 -97.792874 1,240 5 days ago \n", + "3 -97.792874 1,240 a month ago \n", + "4 -97.792874 1,240 2 months ago \n", + "... ... ... ... \n", + "33391 -80.189098 2,810 4 years ago \n", + "33392 -80.189098 2,810 a year ago \n", + "33393 -80.189098 2,810 a year ago \n", + "33394 -80.189098 2,810 5 years ago \n", + "33395 -80.189098 2,810 2 years ago \n", + "\n", + " review rating \\\n", + "0 Why does it look like someone spit on my food?... 1 star \n", + "1 It'd McDonalds. It is what it is as far as the... 4 stars \n", + "2 Made a mobile order got to the speaker and che... 1 star \n", + "3 My mc. Crispy chicken sandwich was ���ï¿... 5 stars \n", + "4 I repeat my order 3 times in the drive thru, a... 1 star \n", + "... ... ... \n", + "33391 They treated me very badly. 1 star \n", + "33392 The service is very good 5 stars \n", + "33393 To remove hunger is enough 4 stars \n", + "33394 It's good, but lately it has become very expen... 5 stars \n", + "33395 they took good care of me 5 stars \n", + "\n", + " preprocessing_review label \n", + "0 look like someone spit food normal transaction... 0 \n", + "1 mcdonalds far food atmosphere go staff make di... 2 \n", + "2 made mobile order got speaker checked line mov... 0 \n", + "3 mc crispy chicken sandwich customer service qu... 2 \n", + "4 repeat order time drive thru still manage mess... 0 \n", + "... ... ... \n", + "33391 treated badly 0 \n", + "33392 service good 2 \n", + "33393 remove hunger enough 2 \n", + "33394 good lately become expensive 2 \n", + "33395 took good care 2 \n", + "\n", + "[32736 rows x 12 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Change Target into Number\n", + "\n", + "df['label'] = df['rating'].replace({'1 star' : 0, '2 stars' : 0, '3 stars' : 1, '4 stars' : 2,'5 stars' : 2 })\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ip0D4ORCNz8H" + }, + "source": [ + "After doing review preprocessing and adding column label, now we will create new data frame that containing the target and one feature, in this case is column `review`" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "id": "bPmNF3jANz8I" + }, + "outputs": [], + "source": [ + "# Create new data frame\n", + "df_new= df.drop(['reviewer_id', 'store_name', 'category', 'store_address', 'latitude',\n", + " 'longitude', 'rating_count', 'review_time', 'review','rating'], axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "RvyZKMlaNz8I", + "outputId": "efc18a5a-2484-4004-8556-c66ab437d5e8" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
preprocessing_reviewlabel
0look like someone spit food normal transaction...0
1mcdonalds far food atmosphere go staff make di...2
2made mobile order got speaker checked line mov...0
3mc crispy chicken sandwich customer service qu...2
4repeat order time drive thru still manage mess...0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ], + "text/plain": [ + " preprocessing_review label\n", + "0 look like someone spit food normal transaction... 0\n", + "1 mcdonalds far food atmosphere go staff make di... 2\n", + "2 made mobile order got speaker checked line mov... 0\n", + "3 mc crispy chicken sandwich customer service qu... 2\n", + "4 repeat order time drive thru still manage mess... 0" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Display 5 top data\n", + "df_new.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "j7FqRZ48Nz8I", + "outputId": "ff8c8b04-d454-437d-b19a-2cdccf3b68aa" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2 15705\n", + "0 12325\n", + "1 4706\n", + "Name: label, dtype: int64" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Target Distribution\n", + "\n", + "df_new['label'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jSkF-4p9mUaC" + }, + "source": [ + "### Split X and y" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "id": "6SkG6FIqmXN_" + }, + "outputs": [], + "source": [ + "#split Feature and target\n", + "X= df_new['preprocessing_review']\n", + "y= df_new['label']" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kuaDQDLsmihs" + }, + "source": [ + "### Split dataset Train, Validation, and Test" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g21e0FydNz8J", + "outputId": "4ed51d58-4493-4e68-c74c-daa69401cafd" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train Size : (25042,)\n", + "Val Size : (2783,)\n", + "Test Size : (4911,)\n" + ] + } + ], + "source": [ + "# df_new Splitting\n", + "\n", + "X_train_val, X_test, y_train_val, y_test = train_test_split(df_new.preprocessing_review,\n", + " df_new.label,\n", + " test_size=0.15,\n", + " random_state=20,\n", + " stratify=df_new.label)\n", + "\n", + "X_train, X_val, y_train, y_val = train_test_split(X_train_val,\n", + " y_train_val,\n", + " test_size=0.10,\n", + " random_state=20,\n", + " stratify=y_train_val)\n", + "\n", + "print('Train Size : ', X_train.shape)\n", + "print('Val Size : ', X_val.shape)\n", + "print('Test Size : ', X_test.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1O0M7WBSmheE" + }, + "source": [ + "### Encoder" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YGBW_HmCNz8J", + "outputId": "9aae1656-ca79-400a-a717-d47a01750712" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " ...,\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Change Target to One Hot Encoding\n", + "\n", + "from tensorflow.keras.utils import to_categorical\n", + "\n", + "y_train_ohe = to_categorical(y_train)\n", + "y_val_ohe = to_categorical(y_val)\n", + "y_test_ohe = to_categorical(y_test)\n", + "y_train_ohe" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PM59peHgNz8K" + }, + "source": [ + "# Bab 6: Model Building" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6Y7LKrVJNz8K" + }, + "source": [ + "### Text Vectorization" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "jiETdM5zNz8K", + "outputId": "ddc364ff-8ed8-4e9a-e73a-cbee8bd8d5c9" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "<25042x10639 sparse matrix of type ''\n", + "\twith 257012 stored elements in Compressed Sparse Row format>" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Get Vocabularies\n", + "\n", + "Vectorize = CountVectorizer()\n", + "X_train_vec = Vectorize.fit_transform(X_train)\n", + "X_test_vec = Vectorize.transform(X_test)\n", + "\n", + "X_train_vec" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "wXmLWYNDNz8L", + "outputId": "30bd92b1-5f48-4637-826d-575283ef5e91" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total Vocab : 10639\n", + "Maximum Sentence Length : 254 tokens\n" + ] + } + ], + "source": [ + "# Finding the Number of Vocabs and Max Token Length in One Document\n", + "\n", + "total_vocab = len(Vectorize.vocabulary_.keys())\n", + "max_sen_len = max([len(i.split(\" \")) for i in X_train])\n", + "\n", + "print('Total Vocab : ', total_vocab)\n", + "print('Maximum Sentence Length : ', max_sen_len, 'tokens')" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "id": "Urg2qpgqNz8L" + }, + "outputs": [], + "source": [ + "# Text Vectorization\n", + "\n", + "from tensorflow.keras.layers import TextVectorization\n", + "\n", + "text_vectorization = TextVectorization(max_tokens=total_vocab,\n", + " standardize=\"lower_and_strip_punctuation\",\n", + " split=\"whitespace\",\n", + " ngrams=None,\n", + " output_mode=\"int\",\n", + " output_sequence_length=max_sen_len,\n", + " input_shape=(1,)) # Only use in Sequential API\n", + "\n", + "text_vectorization.adapt(X_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cNtotmm-Nz8O", + "outputId": "91f7731a-1528-4873-c666-0a62814a050c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Document example\n", + "look like someone spit food normal transaction everyone chill polite dont want eat im trying think milky white clear substance food sure coming back\n", + "\n", + "Result of Text Vectorization\n", + "tf.Tensor(\n", + "[[ 157 13 191 1898 2 447 1604 237 1946 376 224 95 60 523\n", + " 327 184 4301 776 952 3504 2 170 244 33 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0]], shape=(1, 254), dtype=int64)\n", + "Vector size : (1, 254)\n" + ] + } + ], + "source": [ + "# Example Result\n", + "\n", + "## Document example\n", + "print('Document example')\n", + "print(df_new.preprocessing_review[0])\n", + "print('')\n", + "\n", + "## Result of Text Vectorization\n", + "print('Result of Text Vectorization')\n", + "print(text_vectorization([df_new.preprocessing_review[0]]))\n", + "print('Vector size : ', text_vectorization([df_new.preprocessing_review[0]]).shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "m26X8SBmNz8O", + "outputId": "80d9a8e4-4bca-48fc-cf1c-eda3135736e9" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['',\n", + " '[UNK]',\n", + " 'food',\n", + " 'order',\n", + " 'service',\n", + " 'good',\n", + " 'mcdonald',\n", + " 'place',\n", + " 'get',\n", + " 'time',\n", + " 'drive',\n", + " 'one',\n", + " 'fast',\n", + " 'like',\n", + " 'excellent',\n", + " 'staff',\n", + " 'customer',\n", + " 'go',\n", + " 'always',\n", + " 'great']" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# View the Top 20 Tokens (Sorted by the Highest Frequency of Appearance)\n", + "\n", + "text_vectorization.get_vocabulary()[:20]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BJq5y_joNz8P" + }, + "source": [ + "### Word Embedding" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "id": "bxmHjEfcNz8Q" + }, + "outputs": [], + "source": [ + "# Embedding\n", + "embedding = Embedding(input_dim=total_vocab,\n", + " output_dim=128,\n", + " embeddings_initializer=\"uniform\",\n", + " input_length=max_sen_len)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "l5ICLTo-Nz8R", + "outputId": "6f7c03e7-36ec-4f3f-8d89-c57eea680f59" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Document example\n", + "look like someone spit food normal transaction everyone chill polite dont want eat im trying think milky white clear substance food sure coming back\n", + "\n", + "Result of Text Vectorization\n", + "tf.Tensor(\n", + "[[ 157 13 191 1898 2 447 1604 237 1946 376 224 95 60 523\n", + " 327 184 4301 776 952 3504 2 170 244 33 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0]], shape=(1, 254), dtype=int64)\n", + "Vector size : (1, 254)\n", + "\n", + "Result of Embedding\n", + "tf.Tensor(\n", + "[[[ 0.00472081 -0.01408794 -0.00837948 ... 0.03061861 0.01136633\n", + " 0.03773705]\n", + " [-0.00755378 0.04548157 -0.01270884 ... 0.03076415 -0.00011492\n", + " 0.00162794]\n", + " [-0.04925472 0.01381064 -0.03738972 ... -0.00957316 -0.00946026\n", + " -0.01780033]\n", + " ...\n", + " [-0.02504488 0.01843544 0.00167371 ... -0.02957155 -0.02274432\n", + " -0.01664193]\n", + " [-0.02504488 0.01843544 0.00167371 ... -0.02957155 -0.02274432\n", + " -0.01664193]\n", + " [-0.02504488 0.01843544 0.00167371 ... -0.02957155 -0.02274432\n", + " -0.01664193]]], shape=(1, 254, 128), dtype=float32)\n", + "Vector size : (1, 254, 128)\n" + ] + } + ], + "source": [ + "# Example Result\n", + "\n", + "## Document example\n", + "print('Document example')\n", + "print(df_new.preprocessing_review[0])\n", + "print('')\n", + "\n", + "## Result of Text Vectorization\n", + "print('Result of Text Vectorization')\n", + "print(text_vectorization([df_new.preprocessing_review[0]]))\n", + "print('Vector size : ', text_vectorization([df_new.preprocessing_review[0]]).shape)\n", + "print('')\n", + "\n", + "## Result of Embedding\n", + "print('Result of Embedding')\n", + "print(embedding(text_vectorization([df_new.preprocessing_review[0]])))\n", + "print('Vector size : ', embedding(text_vectorization([df_new.preprocessing_review[0]])).shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "id": "6tvQ6GTTNz8R" + }, + "outputs": [], + "source": [ + "# # Model Training using LSTM\n", + "# ## Clear Session\n", + "# seed = 20\n", + "# tf.keras.backend.clear_session()\n", + "# np.random.seed(seed)\n", + "# tf.random.set_seed(seed)\n", + "\n", + "# ## Define the architecture\n", + "# model_lstm_1 = Sequential()\n", + "# model_lstm_1.add(text_vectorization)\n", + "# model_lstm_1.add(embedding)\n", + "# model_lstm_1.add(Bidirectional(LSTM(32, return_sequences=True, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "# model_lstm_1.add(Dropout(0.1))\n", + "# model_lstm_1.add(Bidirectional(LSTM(16, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "# model_lstm_1.add(Dropout(0.1))\n", + "# model_lstm_1.add(Dense(3, activation='softmax'))\n", + "\n", + "# model_lstm_1.compile(loss='categorical_crossentropy', optimizer='adam', metrics='accuracy')\n", + "\n", + "# model_lstm_1_hist = model_lstm_1.fit(X_train, y_train_ohe, epochs=50, callbacks= tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3), validation_data=(X_val, y_val_ohe))" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "id": "IEGlCv7MXwKf" + }, + "outputs": [], + "source": [ + "# # Plot Training Results\n", + "\n", + "# model_lstm_1_hist_df = pd.DataFrame(model_lstm_1_hist.history)\n", + "\n", + "# plt.figure(figsize=(15, 5))\n", + "# plt.subplot(1, 2, 1)\n", + "# sns.lineplot(data=model_lstm_1_hist_df[['accuracy', 'val_accuracy']])\n", + "# plt.grid()\n", + "# plt.title('Accuracy vs Val-Accuracy')\n", + "\n", + "# plt.subplot(1, 2, 2)\n", + "# sns.lineplot(data=model_lstm_1_hist_df[['loss', 'val_loss']])\n", + "# plt.grid()\n", + "# plt.title('Loss vs Val-Loss')\n", + "# plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "id": "mwze8gZxYkUu" + }, + "outputs": [], + "source": [ + "# Download the Embedding Layer\n", + "\n", + "# url = 'https://www.kaggle.com/models/google/nnlm/frameworks/TensorFlow2/variations/tf2-preview-en-dim128-with-normalization/versions/1'\n", + "\n", + "# hub_layer = tf_hub.KerasLayer(url, output_shape=[128], input_shape=[], dtype=tf.string)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "id": "k8i02JnTZzzS" + }, + "outputs": [], + "source": [ + "# # Model Training using LSTM with Transfer Learning\n", + "# %%time\n", + "\n", + "# from tensorflow.keras.models import Sequential\n", + "# from tensorflow.keras.layers import Dense, LSTM, Bidirectional, GRU, Dropout, Reshape\n", + "\n", + "# ## Clear Session\n", + "# seed = 20\n", + "# tf.keras.backend.clear_session()\n", + "# np.random.seed(seed)\n", + "# tf.random.set_seed(seed)\n", + "\n", + "# ## Define the architecture\n", + "# model_lstm_2 = Sequential()\n", + "# model_lstm_2.add(hub_layer)\n", + "# model_lstm_2.add(Reshape((128, 1)))\n", + "# model_lstm_2.add(Bidirectional(LSTM(32, return_sequences=True, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "# model_lstm_2.add(Dropout(0.1))\n", + "# model_lstm_2.add(Bidirectional(LSTM(16, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "# model_lstm_2.add(Dropout(0.1))\n", + "# model_lstm_2.add(Dense(3, activation='softmax'))\n", + "\n", + "# model_lstm_2.compile(loss='categorical_crossentropy', optimizer='adam', metrics='accuracy')\n", + "\n", + "# model_lstm_2_hist = model_lstm_2.fit(X_train, y_train_ohe, epochs=50,callbacks= tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3), validation_data=(X_val, y_val_ohe))" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "id": "6qQMpDc5bHgn" + }, + "outputs": [], + "source": [ + "# # Plot Training Results\n", + "\n", + "# model_lstm_2_hist_df = pd.DataFrame(model_lstm_2_hist.history)\n", + "\n", + "# plt.figure(figsize=(15, 5))\n", + "# plt.subplot(1, 2, 1)\n", + "# sns.lineplot(data=model_lstm_2_hist_df[['accuracy', 'val_accuracy']])\n", + "# plt.grid()\n", + "# plt.title('Accuracy vs Val-Accuracy')\n", + "\n", + "# plt.subplot(1, 2, 2)\n", + "# sns.lineplot(data=model_lstm_2_hist_df[['loss', 'val_loss']])\n", + "# plt.grid()\n", + "# plt.title('Loss vs Val-Loss')\n", + "# plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VBfmw6e0myVM" + }, + "source": [ + "You can see the comment above it's not that I forgot to delete it, but it makes it a piece of evidence and history in this notebook, at the fisrt i did this project with model LSTM, after doing it with improvement by doing transfer learning actually the result still low and i want to get better result so i tried using GRU Model and the result is much better. i cant drop the evidence in my notebook because the running process that is spend a lot of time, but in this project GRU model is much better than LSTM so i use GRU Model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Tg3eCRB9rKyF" + }, + "source": [ + "# Bab 7: Model Definition & Model Training" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "879oRYDprQmS" + }, + "source": [ + "## GRU MODEL" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hYGDbcTQrUQv" + }, + "source": [ + "The reason using GRU model like i said above it is much better than LSTM model" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bF6zDvfi9sWE", + "outputId": "a27af844-530d-4550-925f-5f6ced87083f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/50\n", + "783/783 [==============================] - 82s 92ms/step - loss: 0.5619 - accuracy: 0.7777 - val_loss: 0.5034 - val_accuracy: 0.8085\n", + "Epoch 2/50\n", + "783/783 [==============================] - 34s 43ms/step - loss: 0.4085 - accuracy: 0.8454 - val_loss: 0.4890 - val_accuracy: 0.8182\n", + "Epoch 3/50\n", + "783/783 [==============================] - 31s 40ms/step - loss: 0.3375 - accuracy: 0.8773 - val_loss: 0.5199 - val_accuracy: 0.8106\n", + "Epoch 4/50\n", + "783/783 [==============================] - 32s 41ms/step - loss: 0.2899 - accuracy: 0.8969 - val_loss: 0.5635 - val_accuracy: 0.8175\n", + "Epoch 5/50\n", + "783/783 [==============================] - 31s 39ms/step - loss: 0.2570 - accuracy: 0.9108 - val_loss: 0.5667 - val_accuracy: 0.8103\n", + "Epoch 6/50\n", + "783/783 [==============================] - 31s 39ms/step - loss: 0.2291 - accuracy: 0.9190 - val_loss: 0.5925 - val_accuracy: 0.8074\n", + "Epoch 7/50\n", + "783/783 [==============================] - 32s 41ms/step - loss: 0.2053 - accuracy: 0.9277 - val_loss: 0.6337 - val_accuracy: 0.8103\n", + "Epoch 8/50\n", + "783/783 [==============================] - 30s 39ms/step - loss: 0.1913 - accuracy: 0.9328 - val_loss: 0.6952 - val_accuracy: 0.8103\n", + "Epoch 9/50\n", + "783/783 [==============================] - 30s 38ms/step - loss: 0.1773 - accuracy: 0.9363 - val_loss: 0.7311 - val_accuracy: 0.8088\n", + "Epoch 10/50\n", + "783/783 [==============================] - 30s 39ms/step - loss: 0.1656 - accuracy: 0.9413 - val_loss: 0.7789 - val_accuracy: 0.7973\n", + "Epoch 11/50\n", + "783/783 [==============================] - 31s 39ms/step - loss: 0.1598 - accuracy: 0.9437 - val_loss: 0.8024 - val_accuracy: 0.8027\n", + "Epoch 12/50\n", + "783/783 [==============================] - 29s 37ms/step - loss: 0.1472 - accuracy: 0.9468 - val_loss: 0.8061 - val_accuracy: 0.8049\n", + "Epoch 13/50\n", + "783/783 [==============================] - 30s 39ms/step - loss: 0.1388 - accuracy: 0.9491 - val_loss: 0.8671 - val_accuracy: 0.8006\n", + "Epoch 14/50\n", + "783/783 [==============================] - 31s 39ms/step - loss: 0.1348 - accuracy: 0.9506 - val_loss: 0.8674 - val_accuracy: 0.8085\n", + "Epoch 15/50\n", + "783/783 [==============================] - 31s 40ms/step - loss: 0.1269 - accuracy: 0.9531 - val_loss: 0.9125 - val_accuracy: 0.8063\n", + "Epoch 16/50\n", + "783/783 [==============================] - 31s 40ms/step - loss: 0.1222 - accuracy: 0.9564 - val_loss: 0.9191 - val_accuracy: 0.8099\n", + "Epoch 17/50\n", + "783/783 [==============================] - 29s 37ms/step - loss: 0.1167 - accuracy: 0.9573 - val_loss: 0.9590 - val_accuracy: 0.7988\n", + "Epoch 18/50\n", + "783/783 [==============================] - 31s 40ms/step - loss: 0.1144 - accuracy: 0.9570 - val_loss: 0.9848 - val_accuracy: 0.8013\n", + "Epoch 19/50\n", + "783/783 [==============================] - 30s 39ms/step - loss: 0.1119 - accuracy: 0.9593 - val_loss: 0.9496 - val_accuracy: 0.8049\n", + "Epoch 20/50\n", + "783/783 [==============================] - 29s 37ms/step - loss: 0.1047 - accuracy: 0.9616 - val_loss: 0.9911 - val_accuracy: 0.8081\n", + "Epoch 21/50\n", + "783/783 [==============================] - 31s 40ms/step - loss: 0.1046 - accuracy: 0.9626 - val_loss: 0.9940 - val_accuracy: 0.7923\n", + "Epoch 22/50\n", + "783/783 [==============================] - 29s 38ms/step - loss: 0.0985 - accuracy: 0.9638 - val_loss: 1.0093 - val_accuracy: 0.8085\n", + "Epoch 23/50\n", + "783/783 [==============================] - 31s 40ms/step - loss: 0.0971 - accuracy: 0.9635 - val_loss: 1.0593 - val_accuracy: 0.8070\n", + "Epoch 24/50\n", + "783/783 [==============================] - 30s 38ms/step - loss: 0.0975 - accuracy: 0.9645 - val_loss: 1.0365 - val_accuracy: 0.8034\n", + "Epoch 25/50\n", + "783/783 [==============================] - 30s 39ms/step - loss: 0.0952 - accuracy: 0.9652 - val_loss: 1.0468 - val_accuracy: 0.8081\n", + "Epoch 26/50\n", + "783/783 [==============================] - 32s 41ms/step - loss: 0.0913 - accuracy: 0.9655 - val_loss: 1.1019 - val_accuracy: 0.8063\n", + "Epoch 27/50\n", + "783/783 [==============================] - 29s 37ms/step - loss: 0.0856 - accuracy: 0.9677 - val_loss: 1.1246 - val_accuracy: 0.8088\n", + "Epoch 28/50\n", + "783/783 [==============================] - 30s 39ms/step - loss: 0.0877 - accuracy: 0.9678 - val_loss: 1.0922 - val_accuracy: 0.8038\n", + "Epoch 29/50\n", + "783/783 [==============================] - 30s 38ms/step - loss: 0.0906 - accuracy: 0.9655 - val_loss: 1.0878 - val_accuracy: 0.8063\n", + "Epoch 30/50\n", + "783/783 [==============================] - 29s 37ms/step - loss: 0.0881 - accuracy: 0.9672 - val_loss: 1.0949 - val_accuracy: 0.8052\n" + ] + } + ], + "source": [ + "# Model Training using GRU\n", + "## Clear Session\n", + "seed = 20\n", + "tf.keras.backend.clear_session()\n", + "np.random.seed(seed)\n", + "tf.random.set_seed(seed)\n", + "\n", + "## Define the architecture\n", + "model_gru_1 = Sequential()\n", + "model_gru_1.add(text_vectorization)\n", + "model_gru_1.add(embedding)\n", + "model_gru_1.add(Bidirectional(GRU(32, return_sequences=True, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "model_gru_1.add(Dropout(0.1))\n", + "model_gru_1.add(Bidirectional(GRU(16, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "model_gru_1.add(Dropout(0.1))\n", + "model_gru_1.add(Dense(3, activation='softmax'))\n", + "\n", + "model_gru_1.compile(loss='categorical_crossentropy', optimizer='adam', metrics='accuracy')\n", + "\n", + "model_gru_1_hist = model_gru_1.fit(X_train, y_train_ohe, epochs=50, callbacks= tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3), validation_data=(X_val, y_val_ohe))" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Jc65KxxUrh0p", + "outputId": "06b80d61-a528-47ef-e73a-d348c2a74693" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " text_vectorization (TextVe (None, 254) 0 \n", + " ctorization) \n", + " \n", + " embedding (Embedding) (None, 254, 128) 1361792 \n", + " \n", + " bidirectional (Bidirection (None, 254, 64) 31104 \n", + " al) \n", + " \n", + " dropout (Dropout) (None, 254, 64) 0 \n", + " \n", + " bidirectional_1 (Bidirecti (None, 32) 7872 \n", + " onal) \n", + " \n", + " dropout_1 (Dropout) (None, 32) 0 \n", + " \n", + " dense (Dense) (None, 3) 99 \n", + " \n", + "=================================================================\n", + "Total params: 1400867 (5.34 MB)\n", + "Trainable params: 1400867 (5.34 MB)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "# Summary\n", + "model_gru_1.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 865 + }, + "id": "B9QQmfvsrqL0", + "outputId": "9fecadff-ba80-4104-82e4-10bc5f28daaf" + }, + "outputs": [ + { + "data": { + "image/png": "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OLzWONgvwsRoc3JyDh8+XFJSMnHixMGWmTFjhpOT0507d65du1ZRUfHGG2+YWDjFy8sLIaR/oZbJZPr7+9fU1JhS5kjangUSWW9v7+PHj/38/Aym41s5PT09wygTp79jx47pHz1ev359woQJ6LdbyhQ48Rk0lLa2tt+8YbKfurq6iIiI8ePH37hxo729PTk52exqDA7vM4Pju4SEhN/97nfr168XCoWrVq166aWX9HvejQ6NRkOF9+TQarVD7q9RNuAe7G/BggU7duyorq7ev38/njK81jjYL8KUUDMyMk6fPn3lyhX88xlMX19fX18fi8XKysr66quvaDQazpj4qw8cOEAQxI8//mikBD6fHxQUVFVVpT+xt7fX2dnZlDJH0vYskMi+/vrrvr6+/t38pk+fTqPRrl69OowyfX192Ww2fgZA38SJE93c3C5dumRWadOnT+fz+fr74MaNGxqN5umnnzayVkVFhVar3bp1a2BgIJvNtmzfEfxsgEGnqsrKypqamqamJq1WW1dXd/z4cVdX18FKoNPpA56FjRAOydPT0+Ilj0RJSQlJkvPnz0dWq7i5BtyDA9q/f39wcHBpaSn+OLzWONgvwjiSJGNiYioqKgoKCgyOARFC+pdoEEL41sGCBQuys7P106X+9Sz9M+IBrV27trS09Oeff8Yf1Wp1bW3tjBkzTClzJG1vmIlMo9G0t7f39vbevHlTLpf7+/uvX7/eYBmRSLRmzZq8vLysrCylUlleRIUCKwAAIABJREFUXm56lyg2m71hw4YzZ84cP35cqVTqdLr6+vpffvmFxWLFxcV98803crm8oaGhr69PpVLh/wBubm6NjY33799XqVQGDZ3NZkdHR+fn558+fVqpVFZUVGzZssXLy0smkxmJAR9jXr58ubu7u7q6esBLGMPG5XIDAwPx2TflzTff9PPz698NekASieTx48cFBQVarbapqam2ttYigeGQjPQDGjV9fX2tra29vb3l5eVRUVF+fn64jRmpuEEbKC4utl73iwH34IDwCSZ1iWB4rXGwXwRCSCqVenp6DvjkU1VV1ZEjRz744AMGg6H/KFJqaipCqKGhIScnp62tTavVXr9+/Y033vDz89uyZYvx6hj5OoTQjh07cDaoq6traWmJiYnp6urCl/yHNKK2p58mTbxrmZ2dvXTpUg8PDzqdPm7cuJdf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", + "text/plain": [ + "" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot Layers\n", + "tf.keras.utils.plot_model(model_gru_1, show_shapes=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "V9gdYNvCyCHy", + "outputId": "4ee1a3db-f329-4bb1-e068-546f20714e65" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lossaccuracyval_lossval_accuracy
250.0913300.9655381.1018910.806324
260.0856210.9676541.1246140.808839
270.0876690.9677741.0922290.803809
280.0905610.9654581.0878110.806324
290.0881460.9671751.0949230.805246
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ], + "text/plain": [ + " loss accuracy val_loss val_accuracy\n", + "25 0.091330 0.965538 1.101891 0.806324\n", + "26 0.085621 0.967654 1.124614 0.808839\n", + "27 0.087669 0.967774 1.092229 0.803809\n", + "28 0.090561 0.965458 1.087811 0.806324\n", + "29 0.088146 0.967175 1.094923 0.805246" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create DataFrame\n", + "\n", + "model_gru_1_hist_df = pd.DataFrame(model_gru_1_hist.history)\n", + "model_gru_1_hist_df.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 330 + }, + "id": "oeJfqDK0PEbw", + "outputId": "b020499d-ddfc-4bea-c1a7-1171b5a11d55" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABNEAAAHDCAYAAAAKioxJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADfY0lEQVR4nOzdd3xUVfrH8c9MeiWkAQmhhY40adJRmiAoRaRJFRQVF2EtIFjQn+LqiriWxQYWQEFEZAWBgILSuyidUEILpACBhCSTzP39MTAwJoEEJkwg3/frNS9mzj1z7jOPs8vlmXPPMRmGYSAiIiIiIiIiIiJ5Mrs6ABERERERERERkaJORTQREREREREREZFrUBFNRERERERERETkGlREExERERERERERuQYV0URERERERERERK5BRTQREREREREREZFrUBFNRERERERERETkGlREExERERERERERuQYV0URERERERERERK5BRTQRkUJy6NAhTCYTX3zxhatDEREREREn+uKLLzCZTBw6dMjVoYjITaQimogLfPTRR5hMJpo0aeLqUOSi+++/H19fX86dO5dnn/79++Pp6UlSUlKhxXHmzBm8vb0xmUzs2rWr0M4jIiIixcOlYs+mTZtcHYpLWCwWQkNDadGiRZ59DMMgKiqKO++8s1BiqFChAl26dCmUsUXk5lIRTcQFZs6cSYUKFdiwYQP79+93dTiCrUB24cIFfvjhh1yPp6Wl8eOPP3LvvfcSEhJSaHF89913mEwmSpcuzcyZMwvtPCIiIiLFgYeHB7169WLNmjUcPnw41z6//fYbR48e5eGHH77J0YnIrUZFNJGb7ODBg6xZs4bJkycTFhZWpAslqamprg7hprn//vsJCAhg1qxZuR7/8ccfSU1NpX///oUax4wZM+jcuTN9+/bNM5aiID09HavV6uowRERERK6pf//+GIbBN998k+vxWbNmYTab6dOnz02OTERuNSqiidxkM2fOpGTJktx33308+OCDeRbRzpw5w+jRo6lQoQJeXl6ULVuWgQMHkpiYaO+Tnp7OK6+8QtWqVfH29qZMmTL06NGD2NhYAFasWIHJZGLFihUOY+e2VtfgwYPx9/cnNjaWzp07ExAQYC8Y/f777/Tq1Yty5crh5eVFVFQUo0eP5sKFCzni3r17Nw899BBhYWH4+PhQrVo1xo8fD8Cv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ARjDhg1zaH/mmWcMwPjll18MwzCMH3744Zr/LUeNGmUEBgYaWVlZ14xLRApOt3OK3EQzZ86kVKlS3H333YDtV7HevXvz7bffkp2dbe/3/fffU7du3RyztS6951Kf0NBQnnrqqTz7XI/HH388R5uPj4/9eWpqKomJiTRr1gzDMNi6dSsACQkJ/PbbbwwdOpRy5crlGc/AgQPJyMhg7ty59rbZs2eTlZV1zZlGvXv3xmKxOPzatnTpUs6cOUPv3r3tbUFBQaxfv57jx4/n81PbuLm50adPH9auXetwy8GsWbMoVaoUbdu2BcDLywuz2fZ/n9nZ2SQlJeHv70+1atWuesvo1Wzfvp0///yTvn372tv69u1LYmIiS5YssbfNnz8fq9XKSy+9ZI/hkkt5jomJ4dy5c4wdOxZvb+9c+1yPQYMGOXwXIP+5yM/3tWrVqjRp0sThFufk5GR+/vln+vfvX2i//IqIiBRn2dnZLF26lG7dulGpUiV7e5kyZejXrx+rVq0iJSUFsF1j7dixg3379uU6lo+PD56enqxYscJ++2V+9e7dm82bN9uXJQHbNaKXl5d9uYdLM82WLFlCWlpagcavWbMm9evX59tvv7W3paamsmDBArp06UJgYKD9M1ySnp5OYmIid911F8B1X+ddy6JFiwAYM2aMQ/s///lPABYuXAjY8g/w008/YbFYch0rKCiI1NRUh1tsRcR5VEQTuUmys7P59ttvufvuuzl48CD79+9n//79NGnShJMnT7J8+XJ739jYWO64446rjhcbG0u1atVwd3feXdnu7u6ULVs2R3tcXByDBw8mODgYf39/wsLCaN26NYB9/YkDBw4AXDPu6tWr06hRI4dCycyZM7nrrruoXLnyVd9bt25dqlevzuzZs+1ts2fPJjQ0lHvuucfe9tZbb/HXX38RFRVF48aNeeWVV+zxXculqfyX1sw4evSofZ0yNzc3AKxWK++++y5VqlTBy8uL0NBQwsLC2L59+1XX47hw4QLx8fEOj0tmzJiBn58flSpVsn83vL29qVChgkOuYmNjMZvN1KxZM8/zXLr4vNZ/i4KqWLFijrb85iK/39eBAweyevVq+5oo3333HRaLhQEDBjj1s4iIiIhNQkICaWlpVKtWLcexGjVqYLVaOXLkCACvvvoqZ86coWrVqtSuXZtnn32W7du32/t7eXnxr3/9i59//plSpUrRqlUr3nrrLYdrnrz06tULs9lsv84zDIPvvvvOvk4b2K5FxowZw2effUZoaCgdO3bkww8/vOr115X69+/vsObs/PnzSUtLc9g4Kjk5mVGjRlGqVCl8fHwICwuzXwNd7Txnz551uMZLTk7OV0wAhw8fxmw257gWLl26NEFBQfbrotatW9OzZ08mTpxIaGgoDzzwANOnT3dYN+2JJ56gatWqdOrUibJlyzJ06FAWL16c71hE5OpURBO5SX755RdOnDjBt99+S5UqVeyPhx56CKBQdunMa+bOlbPernTlrKIr+7Zv356FCxfy/PPPM3/+fGJiYuybElzPDo0DBw5k5cqVHD16lNjYWNatW5fv9a569+7Nr7/+SmJiIhkZGSxYsICePXs6FGceeughDhw4wPvvv09ERARvv/02tWrV4ueff77m+A0aNKB69er23Zu++eYbDMNwuLh64403GDNmDK1atWLGjBksWbKEmJgYatWqddV8zJ49mzJlyjg8APtuUampqdSsWdPh+3Ho0CF+/PFHzp8/n6/8FERBvx9/n4UG15+LvPTp0wcPDw/7/x5mzJhBw4YNc72wFxERkZurVatWxMbGMm3aNO644w4+++wz7rzzTj777DN7n6effpq9e/cyadIkvL29efHFF6lRo4b97oW8RERE0LJlS+bMmQPAunXriIuLc7jbAOCdd95h+/btvPDCC1y4cIF//OMf1KpVi6NHj14z/r59+2I2m+0/ls6aNYuSJUvSuXNne5+HHnqITz/9lBEjRjBv3jyWLl1qL0Jd7dpm1KhRDtd4PXr0uGY8f3etWfcmk4m5c+eydu1aRo4cybFjxxg6dCgNGjSwXyuGh4ezbds2FixYwP3338+vv/5Kp06dcqwpLCLXybV3k4oUH4MGDTLCw8ON7777Lsejb9++RkBAgH0Nhlq1ahl169a96nj33XefERoaamRmZubZ548//jAA44cffnBoX758ea5rovn5+eUY49LaE19++aVD+9KlSx3GOHXqlAHkWN8tNwkJCYaHh4fx1ltvGRMnTjQ8PDyMhISEa77PMAxj586dBmBMnTrVvi7E39d8+7uTJ08akZGRRvPmzfN1jtdee80AjD/++MOoV6+eUaVKFYfjdevWNe6+++4c74uMjHRYS+zva6IdP37ciImJcXgYxuU1x1599dUc341PPvnEAIyvv/7aMAzDePvttw3A2Lp1a57xf/fdd7n+d/+7+vXrGw888ECO9qioqFzXRMtt/ZH85iI/39dLunfvbtSsWdM4dOiQYTKZjPfee++a7xEREZHcXWtNtKysLMPX19d46KGHchwbMWKEYTab7euF/d25c+eM+vXrG5GRkXmef+/evYavr6/Duq95+eijjwzA2L17tzFq1CjD19fXOH/+/FXfs3r1agMwxo8ff83xDcMw2rZta4SHhxvx8fGGh4eHMXz4cPux5ORkAzAmTpyY4zMADuv3/n1NtB07djhc423atMne91pror3xxhsGYOzcudOhPT4+3gCMf/7zn3m+d+bMmQZgfPrpp7kez87ONh577DEDMPbt25fnOCKSP5qJJnITXLhwgXnz5tGlSxcefPDBHI+RI0dy7tw5FixYANh2Nfrjjz/sO/FcyTAMe5/ExEQ++OCDPPuUL18eNzc3fvvtN4fjH330Ub5jv3QL46UxLz3/+zbZYWFhtGrVimnTphEXF5drPJeEhobSqVMnZsyYwcyZM7n33nsJDQ3NVzw1atSgdu3azJ492z6zq1WrVvbj2dnZOabah4eHExERkWOL8LxcmnX20ksvsW3bNodZaGDLyd8/03fffcexY8euOm6ZMmVo166dwwMu38r57LPP5vhuDB8+nCpVqthnZnXr1g2z2cyrr76a49fQSzF16NCBgIAAJk2aRHp6eq59AKKjo1m3bh2ZmZn2tp9++sl+y0Z+5DcX+fm+XjJgwAB27tzJs88+a1+nTkRERAqHm5sbHTp04Mcff3RYE/bkyZPMmjWLFi1a2G+nTEpKcnivv78/lStXtl9jpaWl5bj2iI6OJiAgIF/XYT179sTNzY1vvvmG7777ji5duuDn52c/npKSQlZWlsN7ateujdlsLtB13qlTp3jsscewWCwO13m5XfcCTJky5Zrj1qxZ0+Ear0GDBvmKB7DPhPv7eSZPngzAfffdB8Dp06dzxFavXj0A++f/+38js9lMnTp1HPqIyPVz3mJKIpKnBQsWcO7cOe6///5cj991112EhYUxc+ZMevfuzbPPPsvcuXPp1auXfYp2cnIyCxYsYOrUqdStW5eBAwfy1VdfMWbMGDZs2EDLli1JTU1l2bJlPPHEEzzwwAOUKFGCXr168f7772MymYiOjuann37i1KlT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IiIiIiL1UIgmIiIiIiIiIiJSD4VoJvH29mbx4sV4e3t7upRWT21pHrWledSW5lFbmkPtaB61pdRH3xHzqC3No7Y0j9rSPGpLc6gdzWN2W7abhQVEREREREREREQaSz3RRERERERERERE6qEQTUREREREREREpB4K0UREREREREREROqhEE1ERERERERERKQeCtFMsnz5cuLi4vDx8SE+Pp5du3Z5uqRW57HHHsNisdR49O3b19NltQoffvghU6dOpWPHjlgsFt56660a+91uN48++igxMTH4+voyfvx4Dh486JliW7D62vHOO++84Dt64403eqbYFm7JkiVcddVVBAYGEhkZybRp00hKSqpxTHFxMXPnziU8PJyAgACmT59OamqqhypuuS6lLceOHXvBd/P+++/3UMUt07PPPsvgwYMJCgoiKCiIkSNH8u6771bt1/dRLkb3eZdP93mNp/s88+hezxy6zzOP7vPM01z3egrRTLB27VoSEhJYvHgxu3fvZsiQIUyaNIm0tDRPl9bqDBgwgDNnzlQ9Pv74Y0+X1CoUFBQwZMgQli9fXuv+p556ij//+c+sWLGCTz/9FH9/fyZNmkRxcXEzV9qy1deOADfeeGON7+jLL7/cjBW2Htu2bWPu3Lns3LmTTZs24XQ6mThxIgUFBVXHzJ8/n3feeYdXX32Vbdu2cfr0aW6++WYPVt0yXUpbAtxzzz01vptPPfWUhypumTp37syTTz5JYmIin3/+OTfccAM33XQT+/btA/R9lLrpPs88us9rHN3nmUf3eubQfZ55dJ9nnma713PLZRsxYoR77ty5Va/Ly8vdHTt2dC9ZssSDVbU+ixcvdg8ZMsTTZbR6gPvNN9+seu1yudzR0dHuP/zhD1XbsrOz3d7e3u6XX37ZAxW2Due3o9vtds+aNct90003eaSe1i4tLc0NuLdt2+Z2u43voN1ud7/66qtVx+zfv98NuHfs2OGpMluF89vS7Xa7r7vuOveDDz7ouaJaqdDQUPfzzz+v76NclO7zzKH7PHPoPs88utczj+7zzKP7PHM1xb2eeqJdptLSUhITExk/fnzVNqvVyvjx49mxY4cHK2udDh48SMeOHenevTu33XYbycnJni6p1Tt69CgpKSk1vqPBwcHEx8frO9oIW7duJTIykj59+vCTn/yEzMxMT5fUKuTk5AAQFhYG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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Training Results\n", + "\n", + "model_gru_1_hist_df = pd.DataFrame(model_gru_1_hist.history)\n", + "\n", + "plt.figure(figsize=(15, 5))\n", + "plt.subplot(1, 2, 1)\n", + "sns.lineplot(data=model_gru_1_hist_df[['accuracy', 'val_accuracy']])\n", + "plt.grid()\n", + "plt.title('Accuracy vs Val-Accuracy')\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "sns.lineplot(data=model_gru_1_hist_df[['loss', 'val_loss']])\n", + "plt.grid()\n", + "plt.title('Loss vs Val-Loss')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model is overfit because the accuracy is 96% but the val accuracy is 80%. Okay now lets improve the model to goodfit data with transfer learning" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "id": "DuYB8mmeRaib" + }, + "outputs": [], + "source": [ + "# Download the Embedding Layer\n", + "\n", + "url = 'https://www.kaggle.com/models/google/nnlm/frameworks/TensorFlow2/variations/tf2-preview-en-dim128-with-normalization/versions/1'\n", + "\n", + "hub_layer = tf_hub.KerasLayer(url, output_shape=[128], input_shape=[], dtype=tf.string)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DMwJ9zEAse6b" + }, + "source": [ + "### Model Improvement" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "94w3qqs6Rg5W", + "outputId": "80cc8816-e08a-41c1-eaf9-a3d4c928e747" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/50\n", + "783/783 [==============================] - 33s 28ms/step - loss: 0.8685 - accuracy: 0.6060 - val_loss: 0.7424 - val_accuracy: 0.7057\n", + "Epoch 2/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.7253 - accuracy: 0.7101 - val_loss: 0.7351 - val_accuracy: 0.6985\n", + "Epoch 3/50\n", + "783/783 [==============================] - 21s 27ms/step - loss: 0.6897 - accuracy: 0.7236 - val_loss: 0.6661 - val_accuracy: 0.7373\n", + "Epoch 4/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.6804 - accuracy: 0.7279 - val_loss: 0.6817 - val_accuracy: 0.7291\n", + "Epoch 5/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.6684 - accuracy: 0.7338 - val_loss: 0.6464 - val_accuracy: 0.7431\n", + "Epoch 6/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6622 - accuracy: 0.7369 - val_loss: 0.6396 - val_accuracy: 0.7424\n", + "Epoch 7/50\n", + "783/783 [==============================] - 21s 27ms/step - loss: 0.6550 - accuracy: 0.7373 - val_loss: 0.6343 - val_accuracy: 0.7496\n", + "Epoch 8/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6502 - accuracy: 0.7422 - val_loss: 0.6326 - val_accuracy: 0.7503\n", + "Epoch 9/50\n", + "783/783 [==============================] - 21s 27ms/step - loss: 0.6454 - accuracy: 0.7416 - val_loss: 0.6303 - val_accuracy: 0.7445\n", + "Epoch 10/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.6386 - accuracy: 0.7461 - val_loss: 0.6341 - val_accuracy: 0.7481\n", + "Epoch 11/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6366 - accuracy: 0.7457 - val_loss: 0.6303 - val_accuracy: 0.7524\n", + "Epoch 12/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.6334 - accuracy: 0.7477 - val_loss: 0.6217 - val_accuracy: 0.7575\n", + "Epoch 13/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6297 - accuracy: 0.7477 - val_loss: 0.6217 - val_accuracy: 0.7521\n", + "Epoch 14/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6261 - accuracy: 0.7495 - val_loss: 0.6259 - val_accuracy: 0.7503\n", + "Epoch 15/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.6219 - accuracy: 0.7512 - val_loss: 0.6171 - val_accuracy: 0.7575\n", + "Epoch 16/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6214 - accuracy: 0.7551 - val_loss: 0.6144 - val_accuracy: 0.7557\n", + "Epoch 17/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.6167 - accuracy: 0.7534 - val_loss: 0.6100 - val_accuracy: 0.7567\n", + "Epoch 18/50\n", + "783/783 [==============================] - 21s 26ms/step - loss: 0.6125 - accuracy: 0.7554 - val_loss: 0.6248 - val_accuracy: 0.7564\n", + "Epoch 19/50\n", + "783/783 [==============================] - 22s 28ms/step - loss: 0.6077 - accuracy: 0.7582 - val_loss: 0.6068 - val_accuracy: 0.7636\n", + "Epoch 20/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.6029 - accuracy: 0.7609 - val_loss: 0.6099 - val_accuracy: 0.7603\n", + "Epoch 21/50\n", + "783/783 [==============================] - 21s 27ms/step - loss: 0.6019 - accuracy: 0.7603 - val_loss: 0.6183 - val_accuracy: 0.7593\n", + "Epoch 22/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.5984 - accuracy: 0.7624 - val_loss: 0.6221 - val_accuracy: 0.7571\n", + "Epoch 23/50\n", + "783/783 [==============================] - 28s 36ms/step - loss: 0.5953 - accuracy: 0.7631 - val_loss: 0.6117 - val_accuracy: 0.7628\n", + "Epoch 24/50\n", + "783/783 [==============================] - 25s 32ms/step - loss: 0.5924 - accuracy: 0.7634 - val_loss: 0.6085 - val_accuracy: 0.7575\n", + "Epoch 25/50\n", + "783/783 [==============================] - 21s 27ms/step - loss: 0.5900 - accuracy: 0.7651 - val_loss: 0.6107 - val_accuracy: 0.7575\n", + "Epoch 26/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5880 - accuracy: 0.7677 - val_loss: 0.5968 - val_accuracy: 0.7668\n", + "Epoch 27/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5840 - accuracy: 0.7664 - val_loss: 0.6010 - val_accuracy: 0.7668\n", + "Epoch 28/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5813 - accuracy: 0.7687 - val_loss: 0.5964 - val_accuracy: 0.7697\n", + "Epoch 29/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5787 - accuracy: 0.7690 - val_loss: 0.6037 - val_accuracy: 0.7643\n", + "Epoch 30/50\n", + "783/783 [==============================] - 19s 25ms/step - loss: 0.5747 - accuracy: 0.7731 - val_loss: 0.6061 - val_accuracy: 0.7664\n", + "Epoch 31/50\n", + "783/783 [==============================] - 20s 26ms/step - loss: 0.5765 - accuracy: 0.7703 - val_loss: 0.5920 - val_accuracy: 0.7729\n", + "Epoch 32/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5715 - accuracy: 0.7722 - val_loss: 0.5881 - val_accuracy: 0.7715\n", + "Epoch 33/50\n", + "783/783 [==============================] - 19s 25ms/step - loss: 0.5692 - accuracy: 0.7738 - val_loss: 0.5976 - val_accuracy: 0.7711\n", + "Epoch 34/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5676 - accuracy: 0.7761 - val_loss: 0.6034 - val_accuracy: 0.7668\n", + "Epoch 35/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5667 - accuracy: 0.7756 - val_loss: 0.6004 - val_accuracy: 0.7661\n", + "Epoch 36/50\n", + "783/783 [==============================] - 19s 25ms/step - loss: 0.5642 - accuracy: 0.7767 - val_loss: 0.5946 - val_accuracy: 0.7722\n", + "Epoch 37/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5600 - accuracy: 0.7785 - val_loss: 0.5882 - val_accuracy: 0.7754\n", + "Epoch 38/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5595 - accuracy: 0.7769 - val_loss: 0.5872 - val_accuracy: 0.7743\n", + "Epoch 39/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5574 - accuracy: 0.7782 - val_loss: 0.5870 - val_accuracy: 0.7697\n", + "Epoch 40/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5553 - accuracy: 0.7795 - val_loss: 0.5883 - val_accuracy: 0.7718\n", + "Epoch 41/50\n", + "783/783 [==============================] - 19s 25ms/step - loss: 0.5526 - accuracy: 0.7789 - val_loss: 0.5903 - val_accuracy: 0.7758\n", + "Epoch 42/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5508 - accuracy: 0.7808 - val_loss: 0.5937 - val_accuracy: 0.7708\n", + "Epoch 43/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5486 - accuracy: 0.7819 - val_loss: 0.5984 - val_accuracy: 0.7718\n", + "Epoch 44/50\n", + "783/783 [==============================] - 18s 23ms/step - loss: 0.5438 - accuracy: 0.7820 - val_loss: 0.5987 - val_accuracy: 0.7729\n", + "Epoch 45/50\n", + "783/783 [==============================] - 19s 25ms/step - loss: 0.5432 - accuracy: 0.7841 - val_loss: 0.5878 - val_accuracy: 0.7751\n", + "Epoch 46/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5421 - accuracy: 0.7851 - val_loss: 0.5955 - val_accuracy: 0.7679\n", + "Epoch 47/50\n", + "783/783 [==============================] - 18s 24ms/step - loss: 0.5397 - accuracy: 0.7845 - val_loss: 0.5948 - val_accuracy: 0.7672\n", + "Epoch 48/50\n", + "783/783 [==============================] - 20s 25ms/step - loss: 0.5371 - accuracy: 0.7859 - val_loss: 0.5981 - val_accuracy: 0.7711\n", + "Epoch 49/50\n", + "783/783 [==============================] - 19s 24ms/step - loss: 0.5350 - accuracy: 0.7864 - val_loss: 0.5938 - val_accuracy: 0.7700\n", + "Epoch 50/50\n", + "783/783 [==============================] - 19s 25ms/step - loss: 0.5328 - accuracy: 0.7900 - val_loss: 0.5976 - val_accuracy: 0.7700\n", + "CPU times: user 18min 9s, sys: 50.7 s, total: 19min\n", + "Wall time: 17min 1s\n" + ] + } + ], + "source": [ + "# Model Training using Gru with Transfer Learning\n", + "%%time\n", + "\n", + "\n", + "## Clear Session\n", + "seed = 20\n", + "tf.keras.backend.clear_session()\n", + "np.random.seed(seed)\n", + "tf.random.set_seed(seed)\n", + "\n", + "## Define the architecture\n", + "model_gru_2 = Sequential()\n", + "model_gru_2.add(hub_layer)\n", + "model_gru_2.add(Reshape((128, 1)))\n", + "model_gru_2.add(Bidirectional(GRU(32, return_sequences=True, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "model_gru_2.add(Dropout(0.1))\n", + "model_gru_2.add(Bidirectional(GRU(16, kernel_initializer=tf.keras.initializers.GlorotUniform(seed))))\n", + "model_gru_2.add(Dropout(0.1))\n", + "model_gru_2.add(Dense(3, activation='softmax'))\n", + "\n", + "model_gru_2.compile(loss='categorical_crossentropy', optimizer='adam', metrics='accuracy')\n", + "rounded_prediction= model_gru_2.predict\n", + "\n", + "model_gru_2_hist = model_gru_2.fit(X_train, y_train_ohe, epochs=50,callbacks= tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3), validation_data=(X_val, y_val_ohe))" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6NGT0XGPp9y2", + "outputId": "7f54dbe4-6768-45ed-eefb-d071f57d1790" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " keras_layer (KerasLayer) (None, 128) 124642688 \n", + " \n", + " reshape (Reshape) (None, 128, 1) 0 \n", + " \n", + " bidirectional (Bidirection (None, 128, 64) 6720 \n", + " al) \n", + " \n", + " dropout (Dropout) (None, 128, 64) 0 \n", + " \n", + " bidirectional_1 (Bidirecti (None, 32) 7872 \n", + " onal) \n", + " \n", + " dropout_1 (Dropout) (None, 32) 0 \n", + " \n", + " dense (Dense) (None, 3) 99 \n", + " \n", + "=================================================================\n", + "Total params: 124657379 (475.53 MB)\n", + "Trainable params: 14691 (57.39 KB)\n", + "Non-trainable params: 124642688 (475.47 MB)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "# Summary\n", + "model_gru_2.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 331 + }, + "id": "fM7O4Go5Tvnx", + "outputId": "9e641ac5-8e34-478d-a866-b9cfdf46a466" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABM8AAAHDCAYAAAAz7T0SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADx3ElEQVR4nOzdd3gU1dvG8e9uei+ElhAIvRM6UqQIgiBNEKUoYG8oihUriIoV8fVnFxClCiKgIEUUGwiiFOmdUENCCOnJJjvvH0MWYhJIQhrJ/bmuvbI7c+bM2TkbmDx7znMshmEYiIiIiIiIiIiISDbWkm6AiIiIiIiIiIhIaaXgmYiIiIiIiIiISC4UPBMREREREREREcmFgmciIiIiIiIiIiK5UPBMREREREREREQkFwqeiYiIiIiIiIiI5ELBMxERERERERERkVwoeCYiIiIiIiIiIpILBc9ERERERERERERyoeCZiEgROXz4MBaLhS+++KKkmyIiIiIiheiLL77AYrFw+PDhkm6KiBQDBc9ESsCHH36IxWKhXbt2Jd0UOa9///54enoSHx+fa5kRI0bg6urKmTNniqwdsbGxuLu7Y7FY2LVrV5GdR0RERMqHzCDPpk2bSropJcJmsxEUFESnTp1yLWMYBqGhobRs2bJI2hAWFkbfvn2LpG4RKR4KnomUgNmzZxMWFsbGjRvZv39/STdHMANjycnJfPvttznuT0pKYsmSJdxwww1UqFChyNqxYMECLBYLVapUYfbs2UV2HhEREZHywMXFhSFDhrBu3TqOHDmSY5lff/2VY8eOcdtttxVz60TkaqHgmUgxO3ToEOvWrWPKlClUrFixVAdIEhMTS7oJxaZ///74+PgwZ86cHPcvWbKExMRERowYUaTtmDVrFn369GHYsGG5tqU0SElJwW63l3QzRERERC5rxIgRGIbB3Llzc9w/Z84crFYrQ4cOLeaWicjVQsEzkWI2e/ZsAgICuPHGG7n55ptzDZ7Fxsby2GOPERYWhpubG9WqVWPkyJFER0c7yqSkpDBhwgTq1auHu7s7VatWZdCgQRw4cACAtWvXYrFYWLt2bZa6c8rFNXr0aLy9vTlw4AB9+vTBx8fHESj67bffGDJkCNWrV8fNzY3Q0FAee+wxkpOTs7V79+7d3HLLLVSsWBEPDw/q16/Pc889B8DPP/+MxWLJcXTXnDlzsFgsrF+/PsfrsWnTJiwWCzNnzsy2b+XKlVgsFr7//nsA4uPjefTRRx3XrlKlSlx//fX8888/OdYN4OHhwaBBg1izZg2nT5/OsX0+Pj7079+fmJgYnnjiCZo2bYq3tze+vr707t2brVu35lp/XkRERPDbb78xdOhQhg4d6gi05mTWrFm0bdsWT09PAgIC6Ny5M6tWrcpS5ocffqBLly74+Pjg6+tLmzZtsgTkwsLCGD16dLa6u3btSteuXR2vMz9H8+bN4/nnnyckJARPT0/i4uLydS0u9Xk1DIOwsDAGDBiQ43F+fn7cd999ebySIiIikl+bN2+md+/e+Pr64u3tTffu3fnzzz+zlLHZbEycOJG6devi7u5OhQoV6NSpE6tXr3aUOXXqFHfccQfVqlXDzc2NqlWrMmDAgEvmBnv77bexWCw5jgwbP348rq6unD17FoB9+/YxePBgqlSpgru7O9WqVWPo0KGcO3cu1/o7duxIWFhYjl9M2mw2Fi5cSLdu3QgODmbbtm2MHj2aWrVq4e7uTpUqVbjzzjuLNG0HQHp6OpMmTaJ27dq4ubkRFhbGs88+S2pqapZymzZtolevXgQFBeHh4UHNmjW58847s5SZN28erVq1ctwDNm3alPfee69I2y9S1jmXdANEypvZs2czaNAgXF1dGTZsGB999BF//fUXbdq0cZRJSEjg2muvZdeuXdx55520bNmS6Oholi5dyrFjxwgKCiIjI4O+ffuyZs0ahg4dytixY4mPj2f16tVs376d2rVr57tt6enp9OrVi06dOvH222/j6ekJmFMJk5KSeOCBB6hQoQIbN27k/fff59ixYyxYsMBx/LZt27j22mtxcXHh3nvvJSwsjAMHDvDdd9/x6quv0rVrV0JDQ5k9ezY33XRTtutSu3Zt2rdvn2PbWrduTa1atfj6668ZNWpUln3z588nICCAXr16AXD//fezcOFCxowZQ6NGjThz5gy///47u3btumQuixEjRjBz5ky+/vprxowZ49geExPDypUrGTZsGB4eHuzYsYPFixczZMgQatasSWRkJJ988gldunRh586dBAcH5+/Cnzd37ly8vLzo27cvHh4e1K5dm9mzZ9OhQ4cs5SZOnMiECRPo0KEDL7/8Mq6urmzYsIGffvqJnj17AmZ+kzvvvJPGjRszfvx4/P392bx5MytW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G59++qkBGF999ZVhGIbx1ltvGYCxefPmXNu/YMGCHPv9v1q0aGEMGDAg2/bQ0NAcc57llF8kr9ciL5/XTDfddJPRqFEj4/Dhw4bFYjHee++9yx4jIiIiObtczrP09HTD09PTuOWWW7Ltu//++w2r1erIB/Zf8fHxRosWLYyQkJBcz793717D09MzS17X3Hz44YcGYOzevdsYO3as4enpaSQkJFzymD/++MMAjOeee+6y9RuGYXTv3t2oVKmScerUKcPFxcW45557HPtiYmIMwJg4cWK29wBkyc/735xnO3bsyHKPt2nTJkfZy+U8e+211wzA2LlzZ5btp06dMgDj8ccfz/XY2bNnG4Dx2Wef5bg/IyPDuO+++wzA2LdvX671iMilaeSZSDFITk5m0aJF9O3bl5tvvjnbY8yYMcTHx7N06VLAXKVo69atjpV1LmYYhqNMdHQ0//vf/3ItU6NGDZycnPj111+z7P/www/z3PbMqYqZdWY+/+9y1xUrVqRz585Mnz6diIiIHNuTKSgoiN69ezNr1ixmz57NDTfcQFBQUJ7a07BhQ5o2bcr8+fMdI7k6d+7s2J+RkZFtSH2lSpUIDg7OttR3bjJHmb344ots2bIly6gzMK/Jf9/TggULOH78+CXrrVq1Kj169MjygAtTNp988slsn4177rmHunXrOkZiDRw4EKvVyssvv5zt28/MNvXs2RMfHx8mT55MSkpKjmUAateuzZ9//klaWppj2/fff++YmpEXeb0Wefm8Zrr99tvZuXMnTz75pCMPnYiIiBQNJycnevbsyZIlS7LkfI2MjGTOnDl06tTJMW3yzJkzWY719vamTp06jnuspKSkbPcetWvXxsfHJ0/3YYMHD8bJyYm5c+eyYMEC+vbti5eXl2N/XFwc6enpWY5p2rQpVqs1X/d5p0+f5r777sNms2W5z8vpvhdg6tSpl623UaNGWe7xWrVqlaf2AI6Rb/89z5QpUwC48cYbATh79my2tjVv3hzA8f7/20dWq5VmzZplKSMi+Vd4yZJEJFdLly4lPj6e/v3757j/mmuuoWLFisyePZtbb72VJ598koULFzJkyBDHUOyYmBiWLl3Kxx9/THh4OCNHjuTLL79k3LhxbNy4kWuvvZbExER+/PFHHnzwQQYMGICfnx9Dhgzh/fffx2KxULt2bb7//ntOnz6d57Y3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lZGRgc1my/dxNpsNZ2dnUlJSyMjIKIKWSV4URz+4uLjg5ORUJHWLiIiIiIjI1amg8QS5crnFAgrr73cFz84zDINTp04RGxtb4OOrVKnC0aNHlVC4BBVXP/j7+1OlShX1tYiIiIiISDlnGAYnT54scDxBrtylYgGF8fe7gmfnZQbOKlWqhKenZ74vqt1uJyEhAW9vb6xWzYYtKUXdD4ZhkJSUxOnTpwGoWrVqoZ9DRERERERErh6nT58mPj6+wPEEuXI5xQIK8+93Bc8wh1ZmBs4qVKhQoDrsdjtpaWm4u7sreFaCiqMfPDw8APMfyEqVKmkKp4iIiIiISDllsViIi4ujcuXKBY4nyJXLLRZQWH+/K8oDjjnJnp6eJdwSuVpkflY0n11ERERERKT8ygzGKJ5QehXG3+8Knl1EQyslr/RZERERERERkUz6G7H0Koy+UfBMREREREREREQkFwqeiYiIiIiIiIiUM127duXRRx8t6WZcFRQ8ExERERERERERyYWCZ1KolEBfRERERERERMoSBc+ucitWrKBTp074+/tToUIF+vbty4EDBxz7jx07xrBhwwgMDMTLy4vWrVuzYcMGx/7vvvuONm3a4O7uTlBQEDfddJNjn8ViYfHixVnO5+/vzxdffAHA4cOHsVgszJ8/ny5duuDu7s7s2bM5c+YMw4YNIyQkBE9PT5o2bcrcuXOz1GO323nzzTepU6cObm5uVK9enVdffRWA6667jjFjxmQpHxUVhaurK2vWrCmMyyYiImWEYRjM2RBBdEJqSTdFyrC9kfHsOmshMi6lpJsiIiJSJM6ePcvIkSMJCAjA09OT3r17s2/fPsf+I0eO0K9fPwICAvDy8qJx48YsX77cceyIESOoWLEiHh4e1K1blxkzZpTUWykSziXdgNLKMAySbRl5Lm+320lOy8A5LR2r9cpikh4uTnleDSIxMZFx48bRrFkzEhISePHFF7npppvYsmULSUlJdOnShZCQEJYuXUqVKlX4559/sNvtACxbtoybbrqJ5557ji+//JK0tDTHhz8/nnnmGd555x1atGiBu7s7KSkptGrViqeffhpfX1+WLVvG7bffTu3atWnbti0A48eP57PPPuPdd9+lU6dOnDx5kt27dwNw9913M2bMGN555x3c3NwAmDVrFiEhIVx33XX5bp+IiJRNp86l8OTCrfy2L5qf95zm09tbaaUrKRKvLt/DuoNO1Gkcw80VfEq6OSIiUsrlN55QmPITT7jY6NGj2bdvH0uXLsXX15enn36aPn36sHPnTlxcXHjooYdIS0vj119/xcvLi507d+Lt7Q3ACy+8wM6dO/nhhx8ICgpi//79JCcnF/ZbK1EKnuUi2ZZBoxdXlsi5d77cC0/XvHXN4MGDs7yePn06FStWZOfOnaxbt46oqCj++usvAgMDAahTp46j7KuvvsrQoUOZOHGiY1t4eHi+2/voo48yaNCgLNueeOIJx/OHH36YlStX8vXXX9O2bVvi4+N57733+N///seoUaMAqF27Np06dQJg0KBBjBkzhiVLlnDLLbcA8MUXXzB69Gj9USQiIgAs3XqCFxZv51yyDTdnKx1qVyjpJkkZ5uvhAsC5lPQSbomIiFwNrpZ4QqbMoNkff/xBhw4dAJg9ezahoaEsXryYIUOGEBERweDBg2natCkAtWrVchwfERFBixYtaN26NQBhYWGF82ZKEU3bvMrt27ePYcOGUatWLXx9fR0f0oiICLZs2UKLFi0cgbP/2rJlC927d7/iNmT+gmTKyMhg0qRJNG3alMDAQLy9vVm5ciUREREA7Nq1i9TU1FzP7e7uzu2338706dMB+Oeff9i+fTujR4++4raKiMjVLTYpjTFz/uGRuZs5l2yjWTU/lj1yLXd0rKkvWKTI+Lqbf4TEJSu3q4iIlD27du3C2dmZdu3aObZVqFCB+vXrs2vXLgAeeeQRXnnlFTp27MhLL73Etm3bHGUfeOAB5s2bR/PmzXnqqadYt25dsb+HoqaRZ7nwcHFi58u98lzebrcTHxePj69PoUzbzKt+/fpRo0YNPvvsM4KDg7Hb7TRp0oS0tDQ8PDwufZ7L7LdYLBiGkWVbTgsCeHl5ZXn91ltv8d577zF16lSaNm2Kl5cXjz76KGlpaXk6L5hTN5s3b86xY8eYMWMG1113HTVq1LjscSIiUnat3XOapxZu43R8Kk5WCw9fV4eHutXBxUnfBUrRyhx5FqeRZyIikgf5jScU9rmLwt13302vXr1YtmwZq1atYvLkybzzzjs8/PDD9O7dmyNHjrB8+XJWr15N9+7deeihh3j77beLpC0lQXebubBYLHi6Oufr4eHqlO9jcnrk9ZvzM2fOsGfPHp5//nm6d+9Ow4YNOXv2rGN/s2bN2LJlCzExMTke36xZs0sm4K9YsSInT550vN63bx9JSUmXbdcff/zBgAEDuO222wgPD6dWrVrs3bvXsb9u3bp4eHhc8txNmzaldevWfPbZZ8yZM4c777zzsucVEZGyKSktnecX/8voGX9xOj6VWhW9WPRABx7tUU+BMykWfudHnp3TyDMREcmDgsQTCutRkJH4DRs2JD09PcvigpnxhkaNGjm2hYaGcv/997No0SIef/xxPvvsM8e+ihUrMmrUKGbNmsXUqVP59NNPr+wiljIaeXYVCwgIoEKFCnz66adUrVqViIgInnnmGcf+YcOG8dprrzFw4EAmT55M1apV2bx5M8HBwbRv356XXnqJ7t27U7t2bYYOHUp6ejrLly/n6aefBsxVL//3v//Rvn17MjIyePrpp3Fxcblsu+rWrcvChQtZt24dAQEBTJkyhcjISMcvnbu7O08//TRPPfUUrq6udOzYkaioKHbs2MFdd93lqCdz4QAvL68sq4CKiEj58feRszz+9RYOnzG/vBndIYynb2iAh2vRfKsqkhPHyDMFz0REpAyqW7cuAwYM4J577uGTTz7Bx8eHZ555hpCQEAYMGACYuc579+5NvXr1OHv2LD///DMNGzYE4MUXX6RVq1Y0btyY1NRUvv/+e8e+skJf117FrFYr8+bN4++//6ZJkyY89thjvPXWW479rq6urFq1ikqVKtGnTx+aNm3K66+/jpOT+QdH165dWbBgAUuXLqV58+Zcd911bNy40XH8O++8Q2hoKNdeey3Dhw/niSeewNPT87Ltev7552nZsiW9evWia9euVKlShYEDB2Yp88ILL/D444/z4osv0rBhQ2699VZOnz6dpcywYcNwdnZm2LBhuLu7X8GVEhGR0i4t3c7Jc8lsOxbLT7sjmf9XBC8t2c6Qj9dx+EwSVf3cmXVXOyb0b6zAmRQ7Py0YICIiZdyMGTNo1aoVffv2pX379hiGwfLlyx0DaDIyMnjooYdo2LAhN9xwA/Xq1ePDDz8EzNjD+PHjadasGZ07d8bJyYl58+aV5NspdBp5dpXr0aMHO3fuzLLt4jxlNWrUYOHChbkeP2jQoGwrZWYKDg5m5cqsK4TExsY6noeFhWXLiQYQGBjI4sWLL9luq9XKc889x3PPPZdrmejoaFJSUrKMRhMRkatXht3g3+Pn+HVvFAeiEohOSCUq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Ozt37iQ6OjpLu44dO8bevXtzHX1222238dRTT/F///d/7Ny50zG1VESKV4otg+3Hz7E5IpYtR2PZHHGWExflGnN3sdK9YWX6hwfnmGQ/yNuNIa1DGdI6lBRbBn8ePMOPuyJZs+s0J8+lsHrnhalmbs5WWlYP4JpaFWhXK5Dmof4Klonkwa233kpUVBQvvvgip06donnz5qxYscKxiEBERESWLxKff/55LBYLzz//PMePH6dixYr069ePV1991VHm2LFjDBs2jDNnzlCxYkU6derEn3/+6bg/KA08L5q2abcbWK36kk1ERC4jP3/zO7sCrnkre5XFE/6rYcOGfPHFFyQmJjpGn/3xxx9YrVbq16/vKNeiRQtatGjB+PHjad++PXPmzOGaa64BoF69etSrV4/HHnuMYcOG8cUXX5Su4Nn8+fMZN24cH3/8Me3atWPq1Kn06tWLPXv2UKlSpWzlFy1alCUyeebMGcLDw7NM7zt58mSWY3744QfuuusuBg8enGX7yy+/zD333ON4rWTuphEjRtC3b1927NjBbbfd5thet25dFi1aRL9+/bBYLLzwwgsFXha2Tp062Gw23n//ffr168cff/zBxx9/nKXM+PHjadq0KQ8++CD3338/rq6u/PzzzwwZMoSgoCCefvppnnrqKVxdXenYsSNRUVHs2LGDu+66izp16hAaGsqECRN49dVX2bt3L++8806e2la3bl2++uorWrduTWxsLI8//niW0WZdunShc+fODB48mClTplCnTh12796NxWLhhhtuAMz8cYMGDeLJJ5+kZ8+eVKt2mbnpIpJNii2D77ae4Jt/jpFhN6jo40aQtxsVvd0uPPe58NzFycKh6MTzQTIzWLbrZBzp9qzTuJytFq6tG0T/5sFc36gK3m55+6/L3cWJrvUr0bV+JSYNMNh5Mo61e6IwDIO2NSsQHupXPCtc2pLwTzxoJnYVKSPGjBmT6zTNtWvXZnnt7OzMSy+9xEsvvZRrffPmzSvM5hWJzOCZYUB8Sjp+npqGLSIiV7/iiCfkdM6XXnqJUaNGMWHCBKKionj44Ye5/fbbqVy5MocOHeLTTz+lf//+BAcHs2fPHvbt28fIkSNJTk7mySef5Oabb6ZmzZocO3aMv/76i0GDBhVK23KT7+DZlClTuOeeexxD8z/++GOWLVvG9OnTcxwFFhgYmOX1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Bx8fH1atWsULL7yAj48PkZGRioOHhISE0L17d7KysvTzII2m+zzvo/u8lqf7PM/TfZ5n6T7Pe7XkfZ6SZxfJarWSlJTE8uXLXW0Oh4Ply5eTkpLiwZG1Xp06dSIqKqpOTEpLS1m/fr1i0sycTieTJ0/mgw8+YMWKFXTq1KnO60lJSfj6+taJRWZmJjk5OYqFmzkcDiorKxWDFjJixAi2b9/O1q1bXY8BAwYwbtw41/eKg2ecOnWKffv2ER0drZ8HaTTd53kf3ee1HN3neS/d57Us3ed5rxa9z7vokgPinD9/vtNmszlff/11586dO50PP/ywMyQkxJmXl+fpoV22Tp486dyyZYtzy5YtTsA5c+ZM55YtW5wHDx50Op1O51/+8hdnSEiI86OPPnJu27bNeeuttzo7derkPH36tIdHfnmZNGmSMzg42Lly5Upnbm6u61FeXu465uc//7kzPj7euWLFCuemTZucKSkpzpSUFA+O+vLz5JNPOletWuU8cOCAc9u2bc4nn3zSaTKZnEuXLnU6nYqBp3y7CpPTqTi0lF/+8pfOlStXOg8cOOBcvXq1c+TIkc6wsDBnQUGB0+lUHKTxdJ/X8nSf5x10n+cddJ/nnXSf5xmevM9T8qyZvPjii874+Hin1Wp1Dho0yLlu3TpPD+my9vnnnzuBcx4PPPCA0+k0ypj/7ne/c0ZGRjptNptzxIgRzszMTM8O+jJUXwwA52uvveY65vTp085HHnnE2a5dO6e/v7/z9ttvd+bm5npu0Jehn/zkJ86OHTs6rVarMzw83DlixAjXDZXTqRh4yndvqhSHljF27FhndHS002q1OmNjY51jx451ZmVluV5XHKQpdJ/XsnSf5x10n+cddJ/nnXSf5xmevM8zOZ1O58XPXxMREREREREREbn8aM8zERERERERERGR81DyTERERERERERE5DyUPBMRERERERERETkPJc9ERERERERERETOQ8kzERERERERERGR81DyTERERERERERE5DyUPBMRERERERERETkPJc9ERERERERERETOQ8kzERERERERERGR81DyTERERERERERE5DyUPBMRERERERERETkPJc9ERERERERERETO4/8DsYf6yRxIgyIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot Training Results\n", + "\n", + "model_gru_2_hist_df = pd.DataFrame(model_gru_2_hist.history)\n", + "\n", + "plt.figure(figsize=(15, 5))\n", + "plt.subplot(1, 2, 1)\n", + "sns.lineplot(data=model_gru_2_hist_df[['accuracy', 'val_accuracy']])\n", + "plt.grid()\n", + "plt.title('Accuracy vs Val-Accuracy')\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "sns.lineplot(data=model_gru_2_hist_df[['loss', 'val_loss']])\n", + "plt.grid()\n", + "plt.title('Loss vs Val-Loss')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The plot describing the goodfit data because the accuracy is 78% and val accuracy is 77% that indicates small gap between both so it is `GOODFIT`" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "WLumg7c_wjQA", + "outputId": "5687a7a9-0176-4ff9-d0fe-eddb196c6c01" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lossaccuracyval_lossval_accuracy
450.5421020.7851210.5955380.767876
460.5396520.7844820.5947880.767158
470.5371050.7859200.5980640.771110
480.5350230.7863990.5938280.770032
490.5328050.7899530.5975710.770032
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "
\n", + "
\n" + ], + "text/plain": [ + " loss accuracy val_loss val_accuracy\n", + "45 0.542102 0.785121 0.595538 0.767876\n", + "46 0.539652 0.784482 0.594788 0.767158\n", + "47 0.537105 0.785920 0.598064 0.771110\n", + "48 0.535023 0.786399 0.593828 0.770032\n", + "49 0.532805 0.789953 0.597571 0.770032" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create DataFrame\n", + "\n", + "model_gru_2_hist_df = pd.DataFrame(model_gru_2_hist.history)\n", + "model_gru_2_hist_df.tail()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From information above we can conclude that the data accuracy decrease comapring to the default model but the data become goodfit because there is little gap in accuracy and val accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lnN0gTivqLsT" + }, + "source": [ + "# Bab 8: Model Evaluation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bJA-FWuQqc-P" + }, + "source": [ + "### Evaluation Model Gru 1 without Transfer Learning" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "n6smnVhrqVD9", + "outputId": "ea910c41-b01c-4e8d-be3a-62102ad25640" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "154/154 [==============================] - 4s 24ms/step\n", + " precision recall f1-score support\n", + "\n", + " 0 0.82 0.85 0.84 1787\n", + " 1 0.49 0.60 0.54 582\n", + " 2 0.89 0.83 0.86 2542\n", + "\n", + " accuracy 0.81 4911\n", + " macro avg 0.74 0.76 0.75 4911\n", + "weighted avg 0.82 0.81 0.81 4911\n", + "\n" + ] + } + ], + "source": [ + "# Show Classification Report\n", + "y_pred_gru_test_1 = model_gru_1.predict(X_test)\n", + "y_pred_gru_test_1 = np.argmax((y_pred_gru_test_1), axis = -1)\n", + "print(classification_report(y_pred_gru_test_1,y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "N93DM_63qWNi", + "outputId": "7560e574-d584-4261-ded1-84a707c9ed3f" + }, + "outputs": [ + { + "data": { + "image/png": "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0aNH5e7ubjXcnRNJqQ57SXBiBVwcaXEJQPKr28/eIQBWru58127n3nviis36rnpvkRy3ffnll9WmTRuVLl1aJ0+e1OjRoxUTE6P9+/erePHi6tu3r/73v/9p3rx58vb2Vv/+/SVdv+9Eur78T40aNRQcHKzJkycrPj5eL7zwgnr27Jn/lv+5nbJly9o7BAAAgDvmxIkTeu6553Tu3DkVL15cDRo00K+//qrixYtLkqZPny4XFxc99dRTSklJUXh4uN5//33L8QUKFNDSpUvVt29fhYWFydPTU126dLHZKjh2q0jOnDkzx20HDBiQq76pSMIRUZGEo6EiCUdj14rkXzasSN6T84rk3cZuFcnp06fnqJ3JZMp1IgkAAADbs1siefToUXud2qlt37ZVn877RAf279PZhARNfftdNX2kWbZt3xg3Wt98tUhDX4nU8y90sWz/+MPZ2rhhnX6PPaiChQppw6atdyp85FPbt23VvDmf6MD+vUpISND0me/p4X98L81ms95/d6a+/forXb6cqBo1a+m1UWNUunQZSdLW37aoZ7fO2fa94IuvVDW02p24DNylXu7eXE88XF0VywTqakqatuz6Q6/N+E6H/vz7ZoXu7R7Ssy3rqMb998q7iIeCGg7TpStXrfrx8y6sacOfUatGVZVpNmvJ6hi9PPlrJV1NtbRpFlZJI19spUrlS+haapp+2XFEw6d+q7hT5+/Y9SJ7Jod6SOLdw653bf9bamqqYmNjbfZgcUjXrl5VxYr3a8Rro27Zbs3qldqze5eK/2M5phvS0lLVrHkLPd2+g63ChJO5ejVZISEhinx9dLb7537ykT5fMF+vjx6jzz6/vpZa3949LE+GqFGjplav22j1avfUM7rn3ntVpWronbwU3IUa1qqg2Ys2qHHnt/RY33dVsGABLZ3VT4Xd/36UXGH3Qlq5ab+mzFlx037mTuyiSuVL6LG+7+qpAbPVoFYFvTeyo2V/6eBi+mp6b63b+rvqdZikx196T8V8PfXF1F42vT7AlhziZpvk5GT1799f0dHRkqTff/9d5cqVU//+/XXPPfdoxIgRdo4w/3ioYSM91LDRLducOX1akydO0HsffKwBEX2y7O8bcX2qwfdLvrVJjHA+DRo2VoOGjbPdZzabtWD+p+rVp6+aPny9SjkharIebvSg1qxepZatWquQq6v8/38i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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Create function of confusion matrix\n", + "def plot_confusion_matrix(y_true, y_pred, labels):\n", + " cm = confusion_matrix(y_true, y_pred)\n", + "\n", + " plt.figure(figsize=(8, 6))\n", + " sns.heatmap(cm, annot=True, fmt=\"d\", cmap=\"Blues\", xticklabels=labels, yticklabels=labels)\n", + " plt.title(\"Confusion Matrix\")\n", + " plt.xlabel(\"Predicted\")\n", + " plt.ylabel(\"True\")\n", + " plt.show()\n", + "\n", + "# Calling Function\n", + "plot_confusion_matrix(y_test, y_pred_gru_test_1, labels=[\"label1\", \"label2\", \"label3\"])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-aErx07vqlr5" + }, + "source": [ + "### Evaluation Model Improvement Gru 2 with Transfer Learning" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Mv5JJNc0ssTO", + "outputId": "9d28417d-6b4a-49d9-84fc-1619f10441ee" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "154/154 [==============================] - 2s 10ms/step\n", + " precision recall f1-score support\n", + "\n", + " 0 0.86 0.75 0.80 2116\n", + " 1 0.28 0.70 0.40 280\n", + " 2 0.85 0.80 0.82 2515\n", + "\n", + " accuracy 0.77 4911\n", + " macro avg 0.66 0.75 0.67 4911\n", + "weighted avg 0.82 0.77 0.79 4911\n", + "\n" + ] + } + ], + "source": [ + "# Show Classification Report\n", + "y_pred_gru_test_2 = model_gru_2.predict(X_test)\n", + "y_pred_gru_test_2 = np.argmax((y_pred_gru_test_2), axis = -1)\n", + "print(classification_report(y_pred_gru_test_2,y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "UQCcXx_NjK6J", + "outputId": "94c8c71c-037d-4ebb-bda6-1737cb0ff246" + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Create function of confusion matrix\n", + "def plot_confusion_matrix(y_true, y_pred, labels):\n", + " cm = confusion_matrix(y_true, y_pred)\n", + "\n", + " plt.figure(figsize=(8, 6))\n", + " sns.heatmap(cm, annot=True, fmt=\"d\", cmap=\"Blues\", xticklabels=labels, yticklabels=labels)\n", + " plt.title(\"Confusion Matrix\")\n", + " plt.xlabel(\"Predicted\")\n", + " plt.ylabel(\"True\")\n", + " plt.show()\n", + "\n", + "# Caliing function\n", + "plot_confusion_matrix(y_test, y_pred_gru_test_2, labels=[\"label1\", \"label2\", \"label3\"])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From 2 confusion matrix, you can see it clearly that GRU 2 model learning with transfer learning is much better than default. it can be seen from the All True Positive in 3 labels got the highes number and if we want to compare to the default model, the improvement model succesfully increase true postive level in label 1 and reduce the false negative level in label 2 and label 3. it can be said that the accuracy decrease but the data become goodfit because there is a little gap of the accuracy and val accuracy, it is `0.78` to `0.77`" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BtUYbyIKtphG" + }, + "source": [ + "## Model Weakness" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": { + "id": "KkqzEf1LtKd4" + }, + "outputs": [], + "source": [ + "# create DF Act vs Pred\n", + "act_pred_imp = pd.DataFrame({\n", + " 'actual' : y_test,\n", + " 'prediction' : np.ndarray.flatten(y_pred_gru_test_2)\n", + "})\n", + "df_act_pred_imp = pd.concat([pd.DataFrame(X_test), act_pred_imp],axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "id": "MdlvcjK2tQoh" + }, + "outputs": [], + "source": [ + "# split FP dan FN\n", + "act_pred_imp_FP = df_act_pred_imp[(df_act_pred_imp['actual']==0) &(df_act_pred_imp['prediction']!=0)]\n", + "act_pred_imp_FN = df_act_pred_imp[(df_act_pred_imp['actual']!=0) &(df_act_pred_imp['prediction']==0)]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jj_orjC7tug4" + }, + "source": [ + "### Weakness Words in False Positive" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0n-uaWxntTMR", + "outputId": "f43a3012-47f3-48c8-dbf6-55e990a3f2a4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mcdonald 60\n", + "food 50\n", + "order 40\n", + "good 30\n", + "like 28\n", + "service 27\n", + "go 26\n", + "place 23\n", + "people 22\n", + "always 22\n", + "time 22\n", + "nugget 20\n", + "need 20\n", + "mcdonalds 18\n", + "back 18\n", + "drive 17\n", + "get 17\n", + "fast 16\n", + "hot 15\n", + "staff 15\n" + ] + } + ], + "source": [ + "# Concatenate all the text data into a single string\n", + "all_text = ' '.join(act_pred_imp_FP['preprocessing_review'].values)\n", + "\n", + "# Tokenize the text into individual words\n", + "tokens = word_tokenize(all_text)\n", + "\n", + "# Count the frequency of each word\n", + "word_freq = FreqDist(tokens)\n", + "\n", + "# Get the top 20 most frequent words\n", + "most_common_words = word_freq.most_common(20)\n", + "\n", + "# Print the top 20 most frequent words\n", + "for word, freq in most_common_words:\n", + " print(word, freq)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Qu3Q-JlEuBvH" + }, + "source": [ + "### Weakness Words in False Negative" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Si6Ikdt9t3B0", + "outputId": "5a99428f-9573-4b33-92a2-0bb453b46621" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "food 153\n", + "order 128\n", + "get 93\n", + "mcdonald 90\n", + "service 85\n", + "one 78\n", + "time 72\n", + "drive 66\n", + "good 53\n", + "like 51\n", + "thru 51\n", + "people 49\n", + "place 48\n", + "go 48\n", + "customer 41\n", + "got 39\n", + "wait 37\n", + "slow 36\n", + "long 36\n", + "fry 36\n" + ] + } + ], + "source": [ + "# Concatenate all the text data into a single string\n", + "all_text = ' '.join(act_pred_imp_FN['preprocessing_review'].values)\n", + "\n", + "# Tokenize the text into individual words\n", + "tokens = word_tokenize(all_text)\n", + "\n", + "# Count the frequency of each word\n", + "word_freq = FreqDist(tokens)\n", + "\n", + "# Get the top 20 most frequent words\n", + "most_common_words = word_freq.most_common(20)\n", + "\n", + "# Print the top 20 most frequent words\n", + "for word, freq in most_common_words:\n", + " print(word, freq)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tZd-pxjTuaBd" + }, + "source": [ + "Comparing weakness words in false positive and false negative we can said:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "68644kCjumQl" + }, + "source": [ + "- Both of false positive and false negative consist of top of words that frequnt appear like food and order, it looks like the model difficult to directly predict the review that contain word `food` and `order` categorized in what label. It is because the model can predict from review in dataset related to words like `good`, `bad`, or the most related to the services\n", + "\n", + "- Both have words `good` it indicates that the model got misleading context for example the review said that the foods,services,and ambiences are really good, which is will enter the label 2 or `positive` but the model can't predict the review that contain this word into negative meaning like \"The Sandwich or the chicken is not `good` and very though to be eaten.\n", + "\n", + "- The problems above is the one of factors that affect the miss prediction by the model so it is expexted for future works to increase the model performance with other model from `LSTM` and `GRU` model that have used in this project also can add more stopwords to reduce the vocabulary" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cJYzi7zOuSpp" + }, + "source": [ + "# Bab 9: Saving Model" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": { + "id": "dqS8zRtCXrXV" + }, + "outputs": [], + "source": [ + "from google.colab import files" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vu0n8BrnWmeU" + }, + "source": [ + "### Freeze Model" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": { + "id": "hSGlG2JXWfrT" + }, + "outputs": [], + "source": [ + "model_gru_2.trainable= True" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9oa3Kgv9wNKT" + }, + "source": [ + "### Saving Model" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "id": "xL132JZYwO6D" + }, + "outputs": [], + "source": [ + "model_gru_2.save('model')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DedFg4AaWrYy" + }, + "source": [ + "### Directory Name of Model Name" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "id": "ONXaU2hcwmU9" + }, + "outputs": [], + "source": [ + "model_dir= 'model'" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "q90RyEVeWy2p" + }, + "source": [ + "### Save Model as TensorFlow Saved Model" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": { + "id": "YBS90f5Ywq4A" + }, + "outputs": [], + "source": [ + "model_gru_2.save(model_dir,save_format= 'tf')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4XaSUeg0XFWg" + }, + "source": [ + "### Compress directory model into ZIP file" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "id": "eQVLd5Fn3xBV", + "outputId": "d5505204-f496-4bc2-de9a-1e2028f19f02" + }, + "outputs": [ + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + }, + "text/plain": [ + "'/content/model.zip'" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import shutil\n", + "shutil.make_archive(model_dir,'zip', model_dir)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bab 10: Model Inference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Model Inference in another notebook entitled model_inf_Allen_G7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bab 11: Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Looking to EDA: \n", + "- The most customer of MC'D givin rating 5 stars which is satisfied with the restaurant from the menu served or the service of the restaurant but unfortunately from the data the second highest rating giving by customer is 1 stars where it is very negative response from customer. At the end we can conclude that customers of Mc'd here still satisfied because the third place of rating is filled with 4 stars rating that indicates postiveness rating bigger than negativeness\n", + "- from information above we can said that the label, class from customers' review the highest giving rating with label 2 that is `Positive Response`, 0 is `Negative Response`, and 1 is `Neutral Response`\n", + "\n", + "### Best or GRU MODEL with Transfer Learning Model:\n", + "- After doing with model LSTM and GRU, the conclusion is for this project GRU model having development in performace than LSTM\n", + "- Transfer learning in baseline GRU model making improvement of the performance \n", + "- This project chose GRU MODEL with transfer learning although have decrease in accuracy but the data become goodfit with performance in accuracy 78% and in val accuracy 77% which is good enough \n", + "\n", + "### Confusion Matrix:\n", + "From 2 confusion matrix, it can be concluded that Gru Model with transfer learning is much better than baseline gru model, it can be seen from the all True Positive in 3 labels got the highes number and if we want to compare to the default model, the improvement model succesfully increase true postive level in label 1 and reduce the false negative level in label 2 and label 3. it can be said that the accuracy decrease but the data become goodfit because there is a little gap of the accuracy and val accuracy, it is `0.78` to `0.77`\n", + "\n", + "### Model Weakness (Comparing weakness words in false positive and false negative)\n", + "- Both of false positive and false negative consist of top of words that frequnt appear like food and order, it looks like the model difficult to directly predict the review that contain word `food` and `order` categorized in what label. It is because the model can predict from review in dataset related to words like `good`, `bad`, or the most related to the services\n", + "\n", + "- Both have words `good` it indicates that the model got misleading context for example the review said that the foods,services,and ambiences are really good, which is will enter the label 2 or `positive` but the model can't predict the review that contain this word into negative meaning like \"The Sandwich or the chicken is not `good` and very though to be eaten.\n", + "\n", + "- The problems above is the one of factors that affect the miss prediction by the model so it is expexted for future works to increase the model performance with other model from `LSTM` and `GRU` model that have used in this project also can add more stopwords to reduce the vocabulary\n", + "\n", + "### Insight Business \n", + "- Evaluate customers review so that the mistake like that will never happen again\n", + "- Increasing the services for dine in, take away, and drive thru\n", + "- Giving promo or discount it is proved effective affect customers experience in reviewing and giving rating\n", + "\n", + "### Improvement Model:\n", + "- it is expexted for future works to increase the model performance with other model from `LSTM` and `GRU` model that have used in this project also can add more stopwords to reduce lots of vocabulary\n", + "- Do much more in cleaning data to get better result and minimal token and vocabulary\n", + "- Be wise in choosing to do Lemmatize or Stemming by doing trial for both\n" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "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.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}