0% found this document useful (0 votes)
15 views39 pages

Fake News Classifier - Ipynb 2

The document is a Jupyter notebook for a Fake News Classifier project using Google Colab. It includes code for connecting to Google Drive, loading essential libraries, and exploring a dataset containing news articles labeled as fake or real. The notebook also visualizes the distribution of fake news in the dataset using a count plot.

Uploaded by

mahdiabs96
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views39 pages

Fake News Classifier - Ipynb 2

The document is a Jupyter notebook for a Fake News Classifier project using Google Colab. It includes code for connecting to Google Drive, loading essential libraries, and exploring a dataset containing news articles labeled as fake or real. The notebook also visualizes the distribution of fake news in the dataset using a count plot.

Uploaded by

mahdiabs96
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 39

{

"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Fake News Classifier.ipynb",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "code",
"metadata": {
"id": "ZcCDbZGhmnXs",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "b0e2a7db-7a5b-4204-f40b-f9d72e236c47"
},
"source": [
"# Connecting Google Drive with Google Colab\n",
"from google.colab import drive\n",
"drive.mount('/content/drive/')"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Drive already mounted at /content/drive/; to attempt to forcibly
remount, call drive.mount(\"/content/drive/\", force_remount=True).\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "0XL8qSiJnAVC",
"colab_type": "code",
"colab": {}
},
"source": [
"# Loading essential libraries\n",
"import numpy as np\n",
"import pandas as pd"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "IwIMTAGSnbX1",
"colab_type": "code",
"colab": {}
},
"source": [
"# Loading the dataset\n",
"df = pd.read_csv('/content/drive/My Drive/Colab
Notebooks/Datasets/kaggle_fake_train.csv')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "6iuacjz-npgZ",
"colab_type": "text"
},
"source": [
"# **Exploring the dataset**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Z9-6SqmfnpP4",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "37bc4432-62b2-4761-cdcd-8c32d9df6e4c"
},
"source": [
"df.shape"
],
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(20800, 5)"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "d4znM4TJnj5w",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "f0f5bcb2-d6e8-43ff-8e53-335461332127"
},
"source": [
"df.columns"
],
"execution_count": 5,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['id', 'title', 'author', 'text', 'label'], dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 5
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "HAfocePXnvmY",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 197
},
"outputId": "8083a24b-07a5-4162-ce57-1b905b76cd9f"
},
"source": [
"df.head()"
],
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>title</th>\n",
" <th>author</th>\n",
" <th>text</th>\n",
" <th>label</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>House Dem Aide: We Didn’t Even See Comey’s Let...</td>\n",
" <td>Darrell Lucus</td>\n",
" <td>House Dem Aide: We Didn’t Even See Comey’s Let...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>FLYNN: Hillary Clinton, Big Woman on Campus - ...</td>\n",
" <td>Daniel J. Flynn</td>\n",
" <td>Ever get the feeling your life circles the rou...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>Why the Truth Might Get You Fired</td>\n",
" <td>Consortiumnews.com</td>\n",
" <td>Why the Truth Might Get You Fired October 29, ...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>15 Civilians Killed In Single US Airstrike Hav...</td>\n",
" <td>Jessica Purkiss</td>\n",
" <td>Videos 15 Civilians Killed In Single US Airstr...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>Iranian woman jailed for fictional unpublished...</td>\n",
" <td>Howard Portnoy</td>\n",
" <td>Print \\nAn Iranian woman has been sentenced to...</td>\
n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" id ... label\n",
"0 0 ... 1\n",
"1 1 ... 0\n",
"2 2 ... 1\n",
"3 3 ... 1\n",
"4 4 ... 1\n",
"\n",
"[5 rows x 5 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "QmgbOrT6nyP6",
"colab_type": "code",
"colab": {}
},
"source": [
"# Dropping the 'id' column\n",
"df.drop('id', axis=1, inplace=True)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ktyP94y6n-m6",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "1094409b-8352-47d4-ff07-b46204aedcfb"
},
"source": [
"df.columns"
],
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['title', 'author', 'text', 'label'], dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NfDeH3knoE31",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 72
},
"outputId": "40dbfec0-80aa-4c93-e058-3ed358d5e658"
},
"source": [
"# Importing essential libraries for visualization\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"%matplotlib inline"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [

"/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19:
FutureWarning: pandas.util.testing is deprecated. Use the functions in the public
API at pandas.testing instead.\n",
" import pandas.util.testing as tm\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NEc1wXHkoAf8",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 460
},
"outputId": "83cb4538-692c-4b23-fe97-9e260eab1863"
},
"source": [
"# Visualizing the count of 'fake news' in the dataset\n",
"plt.figure(figsize=(10,7))\n",
"sns.countplot(x='label', data=df)\n",
"plt.xlabel('News Classification')\n",
"plt.ylabel('Count')"
],
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0, 0.5, 'Count')"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
},
{
"output_type": "display_data",
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAnAAAAGpCAYAAAANygvZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEg
AACxIB0t1+/
AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9y
Zy+j8jraAAAYm0lEQVR4nO3df7Bnd13f8dfbrID8TDA7GdykbpSMNgHBsCSBVKcQDAGtiRYjDmMyTDSj4g+
0UsG2RBFaKFCEVmMzJJJYSowxnUShpDGAiEpgw6+QBJo1NGRTIAsbg4CggXf/
uJ+t183d3Ztk7/3uZ3k8Zu7c7/
mc8z3nc3Zndp5zzvfst7o7AADM4xsWPQEAAO4bAQcAMBkBBwAwGQEHADAZAQcAMJkNi57Aejv88MN78+bNi
54GAMA+XX/99Z/t7o27j3/
dBdzmzZuzdevWRU8DAGCfquq2lcbdQgUAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjI
ADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmMyGRU8AgPvmky97/KKnAF+3/
slLb1j0FJIIuDX1pBddsugpwNet61991qKnALBm3EIFAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIAD
AJiMgAMAmIyAAwCYjIADAJjMmgVcVV1UVXdW1UeXjT26qq6pqlvG78PGeFXVG6pqW1V9pKqOX/
aes8f2t1TV2cvGn1RVN4z3vKGqaq3OBQDgQLKWV+DelOS03cZenOTa7j4mybVjOUmeleSY8XNukvOTpeBLc
l6SE5OckOS8XdE3tvnJZe/b/VgAAAelNQu47n53kp27DZ+e5OLx+uIkZywbv6SXvDfJoVX1mCTPTHJNd+/
s7ruSXJPktLHukd393u7uJJcs2xcAwEFtvT8Dd0R3f2q8/nSSI8brTUluX7bd9jG2t/
HtK4yvqKrOraqtVbV1x44dD+wMAAAWbGEPMYwrZ71Ox7qgu7d095aNGzeuxyEBANbMegfcZ8btz4zfd47xO
5IctWy7I8fY3saPXGEcAOCgt94Bd1WSXU+Snp3kymXjZ42nUU9Kcve41Xp1klOr6rDx8MKpSa4e6z5fVSeN
p0/PWrYvAICD2oa12nFVvSXJP09yeFVtz9LTpK9McllVnZPktiRnjs3fluTZSbYl+VKS5ydJd+
+sqt9I8v6x3cu6e9eDET+TpSddvynJ/xw/AAAHvTULuO7+sT2sOmWFbTvJC/
awn4uSXLTC+NYkj3sgcwQAmJFvYgAAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADA
JiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiM
gAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAM
AmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmI
yAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAAwCYjIADAJiMgAMAmIyAA
wCYjIADAJjMQgKuqn6xqm6sqo9W1Vuq6iFVdXRVXVdV26rq96vqQWPbB4/lbWP95mX7eckY/
3hVPXMR5wIAsN7WPeCqalOSn0+ypbsfl+SQJM9N8qokr+vuxya5K8k54y3nJLlrjL9ubJeqOna877gkpyX5
7ao6ZD3PBQBgERZ1C3VDkm+qqg1JHprkU0menuTysf7iJGeM16eP5Yz1p1RVjfFLu/
sr3f2JJNuSnLBO8wcAWJh1D7juviPJa5J8MkvhdneS65P8dXffMzbbnmTTeL0pye3jvfeM7b95+fgK7/
lHqurcqtpaVVt37Nixf08IAGCdLeIW6mFZunp2dJJvSfKwLN0CXTPdfUF3b+nuLRs3blzLQwEArLlF3EJ9R
pJPdPeO7v77JFckOTnJoeOWapIcmeSO8fqOJEclyVj/
qCSfWz6+wnsAAA5aiwi4TyY5qaoeOj7LdkqSm5K8M8lzxjZnJ7lyvL5qLGesf0d39xh/
7nhK9egkxyR53zqdAwDAwmzY9yb7V3dfV1WXJ/
lAknuSfDDJBUnemuTSqnr5GLtwvOXCJL9XVduS7MzSk6fp7hur6rIsxd89SV7Q3V9d15MBAFiAdQ+4JOnu8
5Kct9vwrVnhKdLu/
nKSH9nDfl6R5BX7fYIAAAcw38QAADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAw
GQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQE
HADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHAD
AZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZA
QcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZAQcA
MBkBBwAwGQEHADCZhQRcVR1aVZdX1ceq6uaqekpVPbqqrqmqW8bvw8a2VVVvqKptVfWRqjp+2X7OHtvfUlV
nL+JcAADW26KuwL0+ydu7+zuTPCHJzUlenOTa7j4mybVjOUmeleSY8XNukvOTpKoeneS8JCcmOSHJebuiDw
DgYLbuAVdVj0ryvUkuTJLu/rvu/
uskpye5eGx2cZIzxuvTk1zSS96b5NCqekySZya5prt3dvddSa5Jcto6ngoAwEIs4grc0Ul2JPndqvpgVb2x
qh6W5Iju/tTY5tNJjhivNyW5fdn7t4+xPY3fS1WdW1Vbq2rrjh079uOpAACsv0UE3IYkxyc5v7u/
O8kX8w+3S5Mk3d1Jen8dsLsv6O4t3b1l48aN+2u3AAALsYiA255ke3dfN5Yvz1LQfWbcGs34fedYf0eSo5a
9/8gxtqdxAICD2roHXHd/
OsntVfUdY+iUJDcluSrJridJz05y5Xh9VZKzxtOoJyW5e9xqvTrJqVV12Hh44dQxBgBwUNuwoOP+XJI3V9W
Dktya5PlZisnLquqcJLclOXNs+7Ykz06yLcmXxrbp7p1V9RtJ3j+2e1l371y/
UwAAWIyFBFx3fyjJlhVWnbLCtp3kBXvYz0VJLtq/
swMAOLCt6hZqVZ28mjEAANbeaj8D959XOQYAwBrb6y3UqnpKkqcm2VhVv7Rs1SOTHLKWEwMAYGX7+gzcg5I
8fGz3iGXjn0/
ynLWaFAAAe7bXgOvuP03yp1X1pu6+bZ3mBADAXqz2KdQHV9UFSTYvf093P30tJgUAwJ6tNuD+IMnvJHljkq
+u3XQAANiX1QbcPd19/
prOBACAVVntfyPyR1X1M1X1mKp69K6fNZ0ZAAArWu0VuF3fUfqiZWOd5Nv273QAANiXVQVcdx+91hMBAGB1
VhVwVXXWSuPdfcn+nQ4AAPuy2luoT172+iFZ+tL5DyQRcAAA62y1t1B/bvlyVR2a5NI1mREAAHu12qdQd/
fFJD4XBwCwAKv9DNwfZemp02TpS+z/aZLL1mpSAADs2Wo/A/eaZa/vSXJbd29fg/kAALAPq7qFOr7U/
mNJHpHksCR/
t5aTAgBgz1YVcFV1ZpL3JfmRJGcmua6qnrOWEwMAYGWrvYX6b5I8ubvvTJKq2pjkT5JcvlYTAwBgZat9CvU
bdsXb8Ln78F4AAPaj1V6Be3tVXZ3kLWP5R5O8bW2mBADA3uw14KrqsUmO6O4XVdUPJ/
lnY9VfJnnzWk8OAIB729cVuN9M8pIk6e4rklyRJFX1+LHuX6zp7AAAuJd9fY7tiO6+YffBMbZ5TWYEAMBe7
SvgDt3Lum/
anxMBAGB19hVwW6vqJ3cfrKqfSHL92kwJAIC92ddn4F6Y5H9U1fPyD8G2JcmDkvzQWk4MAICV7TXguvszSZ
5aVU9L8rgx/
NbufseazwwAgBWt6v+B6+53JnnnGs8FAIBV8G0KAACTEXAAAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACT
EXAAAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTEXA
AAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTWVjAVd
UhVfXBqvrjsXx0VV1XVduq6ver6kFj/
MFjedtYv3nZPl4yxj9eVc9czJkAAKyvRV6B+4UkNy9bflWS13X3Y5PcleScMX5OkrvG+OvGdqmqY5M8N8lx
SU5L8ttVdcg6zR0AYGEWEnBVdWSS70/yxrFcSZ6e5PKxycVJzhivTx/
LGetPGdufnuTS7v5Kd38iybYkJ6zPGQAALM6irsD9ZpJ/neRrY/mbk/
x1d98zlrcn2TReb0pye5KM9XeP7f//+Arv+Ueq6tyq2lpVW3fs2LE/
zwMAYN2te8BV1Q8kubO7r1+vY3b3Bd29pbu3bNy4cb0OCwCwJjYs4JgnJ/
nBqnp2kockeWSS1yc5tKo2jKtsRya5Y2x/
R5Kjkmyvqg1JHpXkc8vGd1n+HgCAg9a6X4Hr7pd095HdvTlLDyG8o7ufl+SdSZ4zNjs7yZXj9VVjOWP9O7q
7x/hzx1OqRyc5Jsn71uk0AAAWZhFX4PbkV5JcWlUvT/LBJBeO8QuT/
F5VbUuyM0vRl+6+saouS3JTknuSvKC7v7r+0wYAWF8LDbjufleSd43Xt2aFp0i7+8tJfmQP739Fkles3QwB
AA48vokBAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgB
gMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMg
IOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOA
GAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAy
Ag4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMgIOAGAyAg4AYDICDgBgMusecFV1VFW
9s6puqqobq+oXxvijq+qaqrpl/D5sjFdVvaGqtlXVR6rq+GX7Ontsf0tVnb3e5wIAsAiLuAJ3T5J/
1d3HJjkpyQuq6tgkL05ybXcfk+TasZwkz0pyzPg5N8n5yVLwJTkvyYlJTkhy3q7oAwA4mK17wHX3p7r7A+P
13yS5OcmmJKcnuXhsdnGSM8br05Nc0kvem+TQqnpMkmcmuaa7d3b3XUmuSXLaOp4KAMBCLPQzcFW1Ocl3J7
kuyRHd/amx6tNJjhivNyW5fdnbto+xPY2vdJxzq2prVW3dsWPHfps/AMAiLCzgqurhSf4wyQu7+/
PL13V3J+n9dazuvqC7t3T3lo0bN+6v3QIALMRCAq6qvjFL8fbm7r5iDH9m3BrN+H3nGL8jyVHL3n7kGNvTO
ADAQW0RT6FWkguT3Nzd/
2nZqquS7HqS9OwkVy4bP2s8jXpSkrvHrdark5xaVYeNhxdOHWMAAAe1DQs45slJfjzJDVX1oTH2q0lemeSy
qjonyW1Jzhzr3pbk2Um2JflSkucnSXfvrKrfSPL+sd3Lunvn+pwCAMDirHvAdfd7ktQeVp+ywvad5AV72Nd
FSS7af7MDADjw+SYGAIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCD
gAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAg
MkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkI
OACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOAC
AyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQg4AIDJCDgAgMkIOACAyQ
g4AIDJTB9wVXVaVX28qrZV1YsXPR8AgLU2dcBV1SFJfivJs5Icm+THqurYxc4KAGBtTR1wSU5Isq27b+3uv
0tyaZLTFzwnAIA1tWHRE3iANiW5fdny9iQn7r5RVZ2b5Nyx+IWq+vg6zI35HZ7ks4ueBPdPvebsRU8B9sS/
LTM7r9b7iN+60uDsAbcq3X1BkgsWPQ/
mUlVbu3vLoucBHFz828L+MPst1DuSHLVs+cgxBgBw0Jo94N6f5JiqOrqqHpTkuUmuWvCcAADW1NS3ULv7nq
r62SRXJzkkyUXdfeOCp8XBw213YC34t4UHrLp70XMAAOA+mP0WKgDA1x0BBwAwGQEHK/
AVbcD+VlUXVdWdVfXRRc+F+Qk42I2vaAPWyJuSnLboSXBwEHBwb76iDdjvuvvdSXYueh4cHAQc3NtKX9G2a
UFzAYB7EXAAAJMRcHBvvqINgAOagIN78xVtABzQBBzsprvvSbLrK9puTnKZr2gDHqiqekuSv0zyHVW1varO
WfScmJev0gIAmIwrcAAAkxFwAACTEXAAAJMRcAAAkxFwAACTEXDAAaGquqpeu2z5l6vq19bhuA+vqv9aVX9
VVddX1buq6sSx7gv78Tg/VVVnjdffWVUfqqoPVtW3V9Vf3M99nlFVxy5bfllVPWN/
zRk4cG1Y9AQAhq8k+eGq+g/d/dl1PO4bk3wiyTHd/
bWqOjrJsft4z33W3b+zbPGMJJd398vH8lPv527PSPLHSW4ax3jp/
Z8hMBNX4IADxT1JLkjyi7uvqKqNVfWHVfX+8XPyGL+hqg6tJZ9bdoXrkqr6vqo6rqreN652faSqjtltv9+e
5MQk/7a7v5Yk3f2J7n7rbts9vKquraoPjGOePsYfVlVvraoPV9VHq+pHx/
grq+qmcczXjLFfG1cVn53khUl+uqreOdZ9YdmxfmUc48NV9cox9pPjvD88/hweWlVPTfKDSV49zu/
bq+pNVfWc8Z5TxhW+G6rqoqp68Bj/P1X168vO5Tsf2F8bsAgCDjiQ/
FaS51XVo3Ybf32S13X3k5P8yyxdNUuSP09ycpLjktya5HvG+FOS/EWSn0ry+u5+YpItSbbvtt/
jknyou7+6j3l9OckPdffxSZ6W5LVVVUlOS/J/u/
sJ3f24JG+vqm9O8kNJjuvu70ry8uU76u63JfmdcT5PW76uqp6V5PQkJ3b3E5L8x7Hqiu5+8hi7Ock53f0XW
fqKtxd19xO7+6+W7echSd6U5Ee7+/FZutvy08sO9dlxLucn+eV9nDtwABJwwAGjuz+f5JIkP7/
bqmck+S9V9aEsRcsjq+rhSf4syfeOn/OTPL6qNiW5q7u/mKWvLfrVqvqVJN/
a3X97P6dWSf59VX0kyZ8k2ZTkiCQ3JPm+qnpVVX1Pd9+d5O4sBd+FVfXDSb50H47zjCS/
291fSpLu3jnGH1dVf1ZVNyR5XpbCc2++I8knuvt/j+WLs/RntMsV4/f1STbfh/
kBBwgBBxxofjPJOUketmzsG5KcNK40PbG7N3X3F5K8O0tX3b4nybuS7EjynCyFXbr7v2fpNuPfJnlbVT19t
2PdmOQJVXXIPub0vCQbkzxpXM37TJKHjEA6Pksh9/Kqeun4Lt0Tklye5AeSvP1+/
Bns7k1JfnZcTfv1JA95gPv7yvj91fgsNExJwAEHlHHV6bIsRdwu/
yvJz+1aqKonjm1vT3J4lh5AuDXJe7J0S/DdY7tvS3Jrd78hyZVJvmu3Y/
1Vkq1Jfn3cEk1Vba6q799tWo9Kcmd3/31VPS3Jt45tvyXJl7r7vyV5dZLjx5XBR41bpb+Y5An34fSvSfL8q
nro2P+jx/
gjknyqqr4xSzG5y9+Mdbv7eJLNVfXYsfzjSf70PswDOMAJOOBA9NoshdkuP59ky3go4KYsfbZtl+uS7LpV+
GdZur35nrF8ZpKPjluvj8vS7dnd/USWboduq6qPZulq1527bfPmcfwbkpyV5GNj/PFJ3jf2f16WPu/
2iCR/PG63vifJL632pLv77Vm6Rbx17HPX59P+3TjPP1927CS5NMmLdv13JMv28+Ukz0/
yB2POX8vS5+6Ag0R196LnAADAfeAKHADAZAQcAMBkBBwAwGQEHADAZAQcAMBkBBwAwGQEHADAZP4f0jo0VY
TbNFcAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 720x504 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BrlePiZKoucH",
"colab_type": "text"
},
"source": [
"# **Data Cleaning and Preprocessing**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "_LRbTGNmpd-G",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "ef0d8d6d-490b-485d-a7d5-92526e1bc1c1"
},
"source": [
"print(df.shape)"
],
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"text": [
"(20800, 4)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "l7RrAvHcouSu",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 105
},
"outputId": "943ca986-eb4d-4ced-916b-6182e2a5cc00"
},
"source": [
"# Finding any NaN values\n",
"df.isna().any()"
],
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"title True\n",
"author True\n",
"text True\n",
"label False\n",
"dtype: bool"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "mSKDDIQJoqAb",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "7dea0972-a942-400c-babc-6625d4124d74"
},
"source": [
"# Dropping NaN values\n",
"df.dropna(inplace=True)\n",
"print(df.shape)"
],
"execution_count": 13,
"outputs": [
{
"output_type": "stream",
"text": [
"(18285, 4)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "htWTugiepSur",
"colab_type": "code",
"colab": {}
},
"source": [
"news = df.copy()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8Ywllapkpg9N",
"colab_type": "code",
"colab": {}
},
"source": [
"news.reset_index(inplace=True)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Hs7V09SpqB2E",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "4a07a6f6-6e27-4f56-f48a-5e4ea453c0c0"
},
"source": [
"# Importing essential libraries for performing Natural Language Processing
on 'kaggle_fake_train' dataset\n",
"import nltk\n",
"import re\n",
"nltk.download('stopwords')\n",
"from nltk.corpus import stopwords\n",
"from nltk.stem import PorterStemmer"
],
"execution_count": 16,
"outputs": [
{
"output_type": "stream",
"text": [
"[nltk_data] Downloading package stopwords to /root/nltk_data...\n",
"[nltk_data] Package stopwords is already up-to-date!\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xsWQfY8lqRLF",
"colab_type": "code",
"colab": {}
},
"source": [
"# Cleaning the news\n",
"corpus = []\n",
"ps = PorterStemmer()\n",
"\n",
"for i in range(0,news.shape[0]):\n",
"\n",
" # Cleaning special character from the news-title\n",
" title = re.sub(pattern='[^a-zA-Z]', repl=' ', string=news.title[i])\n",
"\n",
" # Converting the entire news-title to lower case\n",
" title = title.lower()\n",
"\n",
" # Tokenizing the news-title by words\n",
" words = title.split()\n",
"\n",
" # Removing the stopwords\n",
" words = [word for word in words if word not in
set(stopwords.words('english'))]\n",
"\n",
" # Stemming the words\n",
" words = [ps.stem(word) for word in words]\n",
"\n",
" # Joining the stemmed words\n",
" title = ' '.join(words)\n",
"\n",
" # Building a corpus of news-title\n",
" corpus.append(title)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "lZ3JNG4ZtK5R",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 194
},
"outputId": "19a24970-296f-444a-e186-c33b554c8b15"
},
"source": [
"corpus[0:10]"
],
"execution_count": 18,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['hous dem aid even see comey letter jason chaffetz tweet',\n",
" 'flynn hillari clinton big woman campu breitbart',\n",
" 'truth might get fire',\n",
" 'civilian kill singl us airstrik identifi',\n",
" 'iranian woman jail fiction unpublish stori woman stone death
adulteri',\n",
" 'jacki mason hollywood would love trump bomb north korea lack tran
bathroom exclus video breitbart',\n",
" 'beno hamon win french socialist parti presidenti nomin new york
time',\n",
" 'back channel plan ukrain russia courtesi trump associ new york
time',\n",
" 'obama organ action partner soro link indivis disrupt trump
agenda',\n",
" 'bbc comedi sketch real housew isi caus outrag']"
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "DfYUcXaHucBM",
"colab_type": "code",
"colab": {}
},
"source": [
"# Creating the Bag of Words model\n",
"from sklearn.feature_extraction.text import CountVectorizer\n",
"cv = CountVectorizer(max_features=5000, ngram_range=(1,3))\n",
"X = cv.fit_transform(corpus).toarray()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "aiMfO0Qju3C1",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "c839a381-f688-4df5-9208-c94d3619e8f7"
},
"source": [
"X.shape"
],
"execution_count": 20,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(18285, 5000)"
]
},
"metadata": {
"tags": []
},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "f6BVxTlPvH4e",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 141
},
"outputId": "d0514d18-0da5-4a44-a631-8cc007698742"
},
"source": [
"X[0:10]"
],
"execution_count": 21,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" ...,\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0],\n",
" [0, 0, 0, ..., 0, 0, 0]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "iRdKyXDCvMOv",
"colab_type": "code",
"colab": {}
},
"source": [
"# Extracting dependent variable from the dataset\n",
"y = news['label']"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "7Yy_1Blwvg14",
"colab_type": "text"
},
"source": [
"# **Model Building**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Fn8ZmMWLvVUe",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import train_test_split\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20,
random_state=0)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "FjKxXNTGwUEd",
"colab_type": "text"
},
"source": [
"## *Multinomial Naive Bayes*"
]
},
{
"cell_type": "code",
"metadata": {
"id": "TOTTYdh3wPdD",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "86afa01f-d085-430d-a086-ed9fc4ec1cca"
},
"source": [
"# Fitting Naive Bayes to the Training set\n",
"from sklearn.naive_bayes import MultinomialNB\n",
"nb_classifier = MultinomialNB()\n",
"nb_classifier.fit(X_train, y_train)"
],
"execution_count": 24,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True)"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "uFsgFy_4xAWl",
"colab_type": "code",
"colab": {}
},
"source": [
"# Predicting the Test set results\n",
"nb_y_pred = nb_classifier.predict(X_test)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "WI7i5hVtxATy",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 87
},
"outputId": "eb962398-3307-46d0-e046-1c6661afb046"
},
"source": [
"# Accuracy, Precision and Recall\n",
"from sklearn.metrics import accuracy_score, precision_score, recall_score\
n",
"score1 = accuracy_score(y_test, nb_y_pred)\n",
"score2 = precision_score(y_test, nb_y_pred)\n",
"score3 = recall_score(y_test, nb_y_pred)\n",
"print(\"---- Scores ----\")\n",
"print(\"Accuracy score is: {}%\".format(round(score1*100,2)))\n",
"print(\"Precision score is: {}\".format(round(score2,2)))\n",
"print(\"Recall score is: {}\".format(round(score3,2)))"
],
"execution_count": 26,
"outputs": [
{
"output_type": "stream",
"text": [
"---- Scores ----\n",
"Accuracy score is: 90.16%\n",
"Precision score is: 0.87\n",
"Recall score is: 0.91\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Gwb8A_jKxAQJ",
"colab_type": "code",
"colab": {}
},
"source": [
"# Making the Confusion Matrix\n",
"from sklearn.metrics import confusion_matrix\n",
"nb_cm = confusion_matrix(y_test, nb_y_pred)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "zRve76rKxAME",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "8c85590d-e407-451a-f618-291b48b7d9c3"
},
"source": [
"nb_cm"
],
"execution_count": 28,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1823, 217],\n",
" [ 143, 1474]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 28
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ONbdg2xuxYNP",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 457
},
"outputId": "a043ba0a-43d1-4c22-8b4b-3ea9a7dbca39"
},
"source": [
"# Plotting the confusion matrix\n",
"plt.figure(figsize=(10,7))\n",
"sns.heatmap(data=nb_cm, annot=True, cmap=\"Blues\", xticklabels=['Real',
'Fake'], yticklabels=['Real', 'Fake'])\n",
"plt.xlabel('Predicted values')\n",
"plt.ylabel('Actual values')\n",
"plt.title('Confusion Matrix for Multinomial Naive Bayes Algorithm')\n",
"plt.show()"
],
"execution_count": 29,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAjoAAAG5CAYAAACHhJ4rAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEg
AACxIB0t1+/
AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9y
Zy+j8jraAAAgAElEQVR4nO3dd7hcVbmA8fdLQocQEkILYOjIRaRJEfFSpQgGuVQBI6K5IEVFLogiSFFRFAV
RNEAEAekIAUE6Ir2JSJXQ06hJQEILfPePvQ9MwimTk5mTk9nvL89+smftstbMmTnznW+ttXdkJpIkSa2oz+
xugCRJUrMY6EiSpJZloCNJklqWgY4kSWpZBjqSJKllGehIkqSWZaDTgiJivoi4IiKmRMRFs3CePSLi2ka2b
XaIiKsjYng3jz0uIl6OiImNbld3RcTQiMiI6NfJPv+JiOV7sl0zU289z2EW2/
G9iDi9Geee05Wv+4pNOnenn7WIODMijmtG3VJHDHRmo4j4UkTcW345TCh/
SXymAafeCVgcGJSZO3f3JJl5bmZ+rgHtmU5EbFL+sv3zDOWfLMtvrvM8P4yIc7raLzO3ycyzutHOZYHvAKt
l5hIze3wH58yIeLH2Cz4i5irLunVRq4i4OSK+VluWmQtm5lOz2t6Z1ah6I+KZ8jVZoKbsa/
W+NzLzx5n5ta73nOl23RwRb5Wf2SkRcUtEfKLR9cyqiFguIt6PiFN7st7az1pEfCUibu3J+qX2GOjMJhFxM
PAr4McUQcmywG+BYQ04/
ceAf2fmtAacq1leAjaMiEE1ZcOBfzeqgijMynt8WeCVzHyxG3V3lqmYBGxT83ibskzT6wt8c3Y3oh0HZOaC
wEDgZuDs2ducdn2Z4j21a0TM0+zKGvBZk5onM116eAEWBv4D7NzJPvNQBELjy+VXwDzltk2AsRTZhheBCcD
e5bajgXeAd8s69gF+CJxTc+6hQAL9ysdfAZ4CXgeeBvaoKb+15rhPA/cAU8r/
P12z7WbgWOC28jzXAot28Nza2v87YP+yrC8wDjgSuLlm35OA54HXgPuAjcvyrWd4nv+sacePyna8CaxYln2
t3H4qcEnN+X8K3ADEDG3cojz+/
fL8Z5blXwAeBiaX5/14zTHPAIcBDwJvt72+M5w3gSOAi2rKLga+X3wcpzvXFjWPP/
gZ1v78yuf6HvBW2c5TaupZsVw/E/gN8JfyZ3MXsMJM/FyPA24vz38FMAg4t/
yZ3AMMneH5tdX7eeAf5X7PAz/
s6D3Yzuv0DPBd4FVgQFn2tXreG+28XldTBCe15/8nsGO5vipwXVnX48AunXwub6Z8L5WPVwPeqXm8HnBH+f
6YAJwCzF1u+w3wixnONxr4drm+FHAJxR8BTwMHzXDee8vn+gJwYidtDOBJYL9y353aeQ+2/YwGlT/Ttp/
lcczcZ77dzxrwcYr35Hvl+2Zyne/
FBL4BPFFuPxZYgeL99xpwYdvr6eJS7zLbG1DFheJLelpHv+TLfY4B7gQWAwaXH/
Rjy22blMcfA8wFbAtMBRYpt3/wS76Dx0P58ItygfIXyCrltiWB/yrXv9L2S4/
ir9dJwF7lcbuXjweV228uf7muDMxXPj6+g+e2CUWg82ngrrJsW+AaPvpltmf5y7gfRWA3EZi3vedV047ngP
8qj5mL6QOd+SmyRl8BNgZeBpburJ01j1cG3gC2LM97KDCGD7/
IngEeAJYB5uvgnAmsTvEFNABYpFxfnW4EOjXP+Wvt1FMb6LxC8WXZjyJIOX8mfq5jKL5sFgYeKV+/Lcr9/
wj8oYN6NwE+QZE5XqN8nju09xzaeZ2eKeu4FDiuLOvWe4Miu3FbzXGrUQQi81C8/58H9i7Ps1b5nlitg3Z9
8FoDc1N80d9Ss30dYIPyXEOBR4FvldvWo/ijpU/
5eFGKz+3i5Wt0H0WgPzewPMUfH1uV+94B7FWuLwhs0Mnvjo0pAu1FgF8DV3Ty3ji/
XOYvX5fnmbnPfGefta9QEzR19V6sadvlQP/yvG9T/CGyPB++/
4b3xO9pl9ZZTDXOHoOAl7PzrqU9gGMy88XMfIkiU7NXzfZ3y+3vZuZVFH81rdLN9rwPrB4R82XmhMx8uJ19
Pg88kZlnZ+a0zDwPeAzYvmafP2TmvzPzTYq/vNbsrNLMvB0YGBGrUHwZ/
bGdfc7JzFfKOn9B8eXU1fM8MzMfLo95d4bzTaV4HU8EzgEOzMyxXZyvza7AXzLzuvK8P6cI6j5ds8/
Jmfl8+Rp05C2Kv6J3LZfRZVkz/Tkz7y7fc+fy4c+m3p/
rk5k5hSI78mRmXl+e6yKK4OAjMvPmzPxXZr6fmQ8C5wH/PZPtPhI4MCIGt3P+et8bfwbWjIiPlY/
3AC7NzLeB7YBnMvMP5Xn+QZFV6Wxs28kRMZki43AAxWezrU33Zead5bmeAX7f9pwz826KzMjm5e67UQRuLw
CfAgZn5jGZ+U4W45xOK/eB4vO+YkQsmpn/ycw7O2nfcODqzJwE/AnYOiIWm3GniOgL/
A9wVGZOzcxHgNqxbPW8Nzr8rHWio/
dim59l5mvl76GHgGsz86ma91+77zepIwY6s8crwKJdjONYCni25vGzZdkH55ghUJpK8ZfeTMnMNyi+bPcFJ
kTEXyJi1Tra09amITWPa2cm1duesym+LDal+EKaTkQcEhGPlgM/J1P8VbdoF+d8vrONmXkXxV/
LQRGQ1Wu61yAz3y/rqn0NOq27xh8pgrt2A7wm6OhnU8/
P9YWa9Tfbedzuzzki1o+ImyLipYiYQvEe6+pnN53MfAi4kqIba8bz1/
XeyMzXKbpK2oKG3Sm+YKEYz7Z+RExuWygCoc4Gnx+UmQMogtztgIsjYo2yTStHxJURMTEiXqMYg1fbprMoM
lGU/7eN7/kYsNQM7fgeRbYHii7olYHHIuKeiNiuvYZFxHwUQdq55XO/gyLr8qV2dh9MkVWpfc/
Wrtfz3qj3/V6rq98T3Xq/
SR0x0Jk97qBIye7QyT7jKX75tVm2LOuONyhS022m+yWemddk5pYU3VaPUfwl2VV72to0rpttanM2RZ/
8VWW25QMRsTFF99AuFN1yAyj+Io62pndwzo7K2867P8Vf/+PL89drutcgIoKim6r2Nei07hp/
p3i9Fwfam5nS6c9sBvXW2Z5m/
VyhyCaMBpbJzIUpxmRF54e06yjg69R8wdbx3pjRecDuEbEhMC9wU1n+PPC3zBxQsyyYmft11agyU/
V3iq69ttmJp1J8hlbKzP4UwUptm84BhkXEJynGsVxW046nZ2jHQpm5bVnXE5m5O0VX9k8pgqsF+KgvUnT7/
LYMtiaWr9vwdvZ9iaILfOmasmVq1ut5b3T23puV96XUMAY6s0GZgj0S+E1E7BAR85dTjLeJiJ+Vu50HHBER
gyNi0XL/LqdSd+AB4LMRsWxELAwc3rYhIhaPiGHlL823KbrA3m/
nHFcBK5dT4vtFxK4UffpXdrNNAGTm0xSp/e+3s3khil/ELwH9IuJIil/
ibV4Ahs7MbI+IWJliwOWeFF1Yh0ZEp11sNS4EPh8Rm0fEXBTjQt6mGD81UzIzKboAvlCuz+gBYLfyfbEuxS
UDOvICxRiG7mjKz7W0EPBqZr4VEevRflahS5k5BrgAOGiGc3f23pjRVRRf2scAF5TZOCie58oRsVf5Ws8VE
Z+KiI/X07YycFqNYoB6W7teA/
5TZkanC5jKbtJ7KAL8S2q6OO8GXo+Iw6K4DlbfiFg9Ij5V1rNnRAwu2z25PKa9z+lwYBTF2Kg1y2Uj4JMzT
oPPzPcoxkD9sPwdtCpFhrH2NZuV98YLwNIRMXed+0tNYaAzm5RjCg6mmIHzEsVfdAfw4V94x1HMsngQ+Bdw
f1nWnbquo/
iieJBiwGPtL6o+ZTvGU8w6+W9m+OVcnuMVijT9dyi63g4FtsvMl7vTphnOfWtmtpetugb4K8Xg12cpxrHUp
srbLob4SkTc31U9ZVfhOcBPM/OfmfkExV/cZ9czBTczH6cIkH5NMWB1e2D7zHynq2M7ON/
DHYyHAvgBxQDgSRRjQP7UyalOAnaKiEkRcfJMtqFpP1eKTN0xEfE6RaA+M92EMzqGYuBwm67eG9Mpx+NcSj
HA+U815a9TZGN2o/gMTKTImHT2fjilvI7OfygCliMy8+py2yEUAd3rFJnRC9o5/
iyKQOSDaell0LEdRWDyNMX763SK7jgoJjA8XNZ5ErDbjOPAImIIxfifX2XmxJrlPorXqr2szgFlHRPL9pxH
Ebw34r1xI0UAODEiGvF+krol2v9jUpLUDBHxWYqA+2MdZPNmm4j4KbBEZrYXFElzJDM6ktRDyi7PbwKn94Y
gJyJWjYg1ygv+rUcx6PkjkwKkOZmBjiT1gHLcz2SKQei/
ms3NabMQRZfeGxTdbL+guI6N1DLsupIkSS3LjI4kSWpZnV2wbraab60DTDVJs8H4206a3U2QKmuR+ft251p
T3dbI79o3/3FKj7a9XmZ0JElSyzLQkSSpqqJP45auqooYFREvRsRDNWVrRsSdEfFARNxbzv6jnAl4ckSMiY
gHI2LtmmOGR8QT5dLlpRAMdCRJUk84k+Lil7V+BhydmWtSXFi07e4A2wArlcsIiturEBEDKW4Lsz6wHnBUR
CzSWaUGOpIkVVVE45YuZOYtFFfgn66YD2/
fsjAf3tNxGPDHLNwJDIiIJYGtgOsy89XMnARcx0eDp+n02sHIkiSpyeq/
VWDXp4oYQZF9aTMyM0d2cdi3gGsi4ucUyZdPl+VDmP62LmPLso7KO2SgI0mSZlkZ1HQV2MxoP+DbmXlJROw
CnEFxT7qGsetKkqSq6sGuqw4Mp7g6NxQ3al6vXB8HLFOz39JlWUflHTLQkSSpqnpw1lUHxgP/
Xa5vBjxRro8GvlzOvtoAmJKZE4BrgM9FxCLlIOTPlWUdsutKkiQ1XUScB2wCLBoRYylmT30dOCki+gFv8eE
Yn6uAbYExwFRgb4DMfDUijgXuKfc7JjNnHOA8HQMdSZKqqvtdTjMtM3fvYNM67eybwP4dnGcUMKreeg10JE
mqqgbOuuqtWv8ZSpKkyjKjI0lSVfVg19XsYqAjSVJV2XUlSZI05zKjI0lSVdl1JUmSWpZdV5IkSXMuMzqSJ
FWVXVeSJKll2XUlSZI05zKjI0lSVVUgo2OgI0lSVfVp/TE6rR/
KSZKkyjKjI0lSVdl1JUmSWlYFppe3fignSZIqy4yOJElVZdeVJElqWXZdSZIkzbnM6EiSVFV2XUmSpJZVga
4rAx1JkqqqAhmd1n+GkiSpsszoSJJUVXZdSZKklmXXlSRJ0pzLjI4kSVVl15UkSWpZdl1JkiTNuczoSJJUV
RXI6BjoSJJUVRUYo9P6oZwkSaosMzqSJFWVXVeSJKll2XUlSZI05zKjI0lSVVWg66r1n6EkSWpfROOWLquK
URHxYkQ8NEP5gRHxWEQ8HBE/qyk/PCLGRMTjEbFVTfnWZdmYiPhuV/
Wa0ZEkST3hTOAU4I9tBRGxKTAM+GRmvh0Ri5XlqwG7Af8FLAVcHxErl4f9BtgSGAvcExGjM/
ORjio10JEkqaKiBwcjZ+YtETF0huL9gOMz8+1ynxfL8mHA+WX50xExBliv3DYmM58CiIjzy307DHTsupIkq
aIiopHLiIi4t2YZUUcTVgY2joi7IuJvEfGpsnwI8HzNfmPLso7KO2RGR5IkzbLMHAmMnMnD+gEDgQ2ATwEX
RsTyjWyXgY4kSVU1+y+jMxa4NDMTuDsi3gcWBcYBy9Tst3RZRifl7bLrSpKkimpk11U3XQZsWrZlZWBu4GV
gNLBbRMwTEcsBKwF3A/cAK0XEchExN8WA5dGdVWBGR5IkNV1EnAdsAiwaEWOBo4BRwKhyyvk7wPAyu/
NwRFxIMch4GrB/Zr5XnucA4BqgLzAqMx/urF4DHUmSKqqHZ13t3sGmPTvY/
0fAj9opvwq4qt56DXQkSaqongx0ZhfH6EiSpJZlRkeSpIqqQkbHQEeSpKpq/
TjHritJktS6zOhIklRRdl1JkqSWVYVAx64rSZLUsszoSJJUUVXI6BjoSJJUUVUIdOy6kiRJLcuMjiRJVdX6
CR0DHUmSqsquK0mSpDmYGR1JkiqqChkdAx1JkiqqCoGOXVeSJKllmdGRJKmqWj+hY6AjSVJV2XUlSZI0BzO
jI0lSRVUho2OgI0lSRVUh0LHrSpIktSwzOpIkVVQVMjoGOpIkVVXrxzl2XUmSpNZlRkeSpIqy60qSJLWsKg
Q6dl1JkqSWZUZHkqSKqkJGx0BHkqSqav04x0BHkqSqqkJGxzE6kiSpZZnRkSSpoqqQ0THQEb87ag+2+ezqv
PTq66y7848/sr3/gvMy6rjhLLPkIvTr25df/fEGzh595yzVuUj/+Tn7p1/
lY0sN5Nnxr7LnoWcw+fU32W6TT3DkftvxfibT3nufQ0+4mNsfeGqW6pJ6qxcmTuDoHxzOq6+8TESww//
swq5f2mu6ff561RWcfeYZkMn88y/Aod87kpVWWXWW6n3nnXc4+gff5fFHH6b/
wgM47qcnstRSQ7jrztv57cknMu3dd+k311wc+K1DWHe9DWapLvVuVQh07LoSZ19xJ8P2/02H2/93l8/
y2FMTWX/X49nq6ydx/MFfZK5+fes698brrMTIo/f8SPkhe2/JzXc/zieGHcPNdz/OIXt/
DoCb7nqc9Xb9CRvsdjz7/vAcfnvkl7r3pKQ5QN++/Tjo4EM5/9IrOf2P53PxBX/
i6SfHTLfPUkstzamnn8W5F13O3l/fl58cd1Td5x8/fhz7fW34R8pHX3YJ/
Rfqz8Wjr2H3PYbzm5N+AcCAAQP4+a9+y7kXXc6Rx/yEo4/47qw9QakXMNARt93/
JK9Omdrh9gQWXGAeABaYbx4mTZnKtPfeB+DbX96cW8/5P+6+4HCO2HfbuuvcbpM1OOeKuwA454q72H7TNQB
44813PthngfnmIXNmn40051h08GBW/fhqACywwAIMXW55Xnzpxen2WWPNtejff2EAVl/
jk7z0wgsfbLv6L6P56p67steuX+T4447ivffeq6vev998I9tuvwMAm27xOe69+04yk1VWXY3Biy0GwPIrrM
jbb7/FO+
+809mpNIeLiIYtddQ1KiJejIiH2tn2nYjIiFi0fBwRcXJEjImIByNi7Zp9h0fEE+Xy0Uh+BgY66tLvzv8bq
y63BE9d+yPuveh7HHLCxWQmm2+wKissuxif2fME1t/
teNb6+LJstPYKdZ1zsUELMfHl1wCY+PJrLDZooQ+2fWHTNXjg0iO49OR92ffoc5vynKTeZvz4cfz78UdZff
U1OtznissuYYONNgbg6aee5Ppr/8rIP5zD2Rf8mT59+nLNVVfWVddLL77A4kssAUC/
fv1YcMGFmDJ58nT73HT9tay86mrMPffc3XxGmiNEA5eunQls/
ZEmRCwDfA54rqZ4G2ClchkBnFruOxA4ClgfWA84KiIW6azSpozRiYhfUyQC2pWZB3Vw3AiKJ0S/
pTeh36L/1YzmaSZt+emP8+DjY9l6xMksv8yi/
OXUA7ht1yfZYsOPs8WGq3Ln+UV6e8H55mHFZRfjtvuf5JY/HsLcc/
djwfnmYZGF5/9gnyNOupzr73j0I3XUZm5G3/Qgo296kI3WXoEjv/F5Pr/vKT3yPKXZZerUNzj8kG/
yrUMOZ4EFF2x3n/vuuYvRl13KyFHnAHDv3Xfy+CMPs/
eeuwDw9ttvs8jAgQAcdvCBjB83lnfffZcXJk5gr12/
CMCuX9qL7Ybt2GV7nnryCX5z8omc9NvTGvH0JAAy85aIGNrOpl8ChwKX15QNA/
6YmQncGREDImJJYBPgusx8FSAirqMIns7rqN5mDUa+tzsHZeZIYCTAfGsdYKdFL7HXFzbgF3+4DoCnnn+ZZ
8a9wipDFycCThh1LWdccttHjvnsl38OFGN09vrC+ow46pzptr/4yusssWh/
Jr78Gkss2p+XXn39I+e47f4nWW7IogwasACvTH6jCc9Mmv2mvfsuhx/
yLbbaZjs23XzLdvd54t+P8+NjjuSXp/yehQcMACAz2Xb7YXzjoIM/sv9PT/
w1UGSJjj3ye5x6+lnTbR+82OK8MHEiiy2+BNOmTeM//3n9g/O+
+MJEDjv4II489icsvcyyjXyq6oUaORi5NllRGll+r3d2zDBgXGb+c4a2DAGer3k8tizrqLxDTem6ysyzOlu
aUaea5/mJk9hkvVUAWGzgQqw8dHGeHvcy193+KMOHbcgC8xWp7aUGL8zgRdr/a3RGf/nbv9hz+/
UB2HP79bny5gcBWH6ZRT/YZ81Vl2aeufsZ5KhlZSY/
OvoHDF1ueb6011fa3WfihPEcfshBHHXs8Sz7saEflH9qvQ248fprefXVVwCYMmUyE8aPq6vejf97U6664jK
g6KJa91PrExG8/vprHHzgfnzjoIP55Jprd3EWtYJGjtHJzJGZuW7N0lWQMz/
wPeDIZj7Hpk4vj4jBwGHAasC8beWZuVkz69XMOesnX2HjdVZi0QELMuavx3Ls7676YFbV6RffyvGn/
ZWRR+/JPRd+jwj4/kmX88rkN7jhzsdYdbkluPmsQwB448232fv7Z/HSpP90WefP/3Ad5/z0qwzfYUOem/
Aqex46CoAvbr4mX9pufd6d9h5vvf0uex02qnlPXJrN/vnA/
Vz9l9GssNLKH3Qv7XfAt5g4cQIAO+68G2eMPJUpk6dwwk+OAYqZWmf+6SKWW2FF/nf/b/LN/
b7G+5n069eP//vuD1hyqU7/uAVg+x3+h6OPOIydvrAV/fsP4NjjiwzsRef/
ibHPP8eokb9l1MjfAnDSqaczcOCgZjx9aQVgOaAtm7M0cH9ErAeMA5ap2XfpsmwcRfdVbfnNnVUS2cRpLRF
xLXABcAiwLzAceCkzD+vqWLuupNlj/G0nze4mSJW1yPx9e/TCNisecnXDvmvH/
HybLttejtG5MjNXb2fbM8C6mflyRHweOADYlmLg8cmZuV45GPk+oC3leD+wTtuYnfY0e9bVoMw8A3g3M/
+WmV8FzOZIktQL9PD08vOAO4BVImJsROzTye5XAU8BY4DTgG8AlAHNscA95XJMZ0EONP/KyO+W/
08oo7PxwMAm1ylJknqZzNy9i+1Da9YT2L+D/UYBdY9raHagc1xELAx8B/g10B/
4dpPrlCRJdajAHSCaG+hkZtvVq6YAmzazLkmSNHO819UsioiVI+KGtss9R8QaEXFEM+uUJElq0+zByKcBh1
OO1cnMB4HdmlynJEmqQ0Tjlt6q2WN05s/
Mu2dIjU1rcp2SJKkOffr04gilQZqd0Xk5IlagvO9VROwETGhynZIkSUDzMzr7U9y7atWIGAc8DezR5DolSV
IdenOXU6M0e9bVU8AWEbEARfZoKsUYnWebWa8kSeqas666KSL6R8ThEXFKRGxJEeAMp7jC4S7NqFOSJGlGz
cronA1MorjU89eB7wMBfDEzH2hSnZIkaSZUIKHTtEBn+cz8BEBEnE4xAHnZzHyrSfVJkqSZZNdV97Xd44rM
fA8Ya5AjSZJ6WrMyOp+MiNfK9QDmKx8Hxb26+jepXkmSVKcqZHSaEuhkZt9mnFeSJDVOBeKcpl8wUJIkabZ
p9gUDJUlSL2XXlSRJalkViHPsupIkSa3LjI4kSRVl15UkSWpZFYhz7LqSJEmty4yOJEkVZdeVJElqWRWIc+
y6kiRJrcuMjiRJFWXXlSRJalkViHPsupIkSa3LjI4kSRVl15UkSWpZFYhz7LqSJEmty4yOJEkVZdeVJElqW
RWIc+y6kiRJrcuMjiRJFWXXlSRJallVCHTsupIkSS3LQEeSpIqKaNzSdV0xKiJejIiHaspOiIjHIuLBiPhz
RAyo2XZ4RIyJiMcjYqua8q3LsjER8d2u6jXQkSSpoiKiYUsdzgS2nqHsOmD1zFwD+DdweNmu1YDdgP8qj/
ltR
PSNiL7Ab4BtgNWA3ct9O2SgI0mSmi4zbwFenaHs2sycVj68E1i6XB8GnJ+Zb2fm08AYYL1yGZOZT2XmO8D5
5b4dMtCRJKmiGtl1FREjIuLemmXETDbnq8DV5foQ4PmabWPLso7KO+SsK0mSKqqRs64ycyQwspvt+D4wDTi
3YQ0qGehIklRRvWF2eUR8BdgO2DwzsyweByxTs9vSZRmdlLfLritJkjRbRMTWwKHAFzJzas2m0cBuETFPRC
wHrATcDdwDrBQRy0XE3BQDlkd3VocZHUmSKqpPD6Z0IuI8YBNg0YgYCxxFMctqHuC6shvtzszcNzMfjogLg
UcourT2z8z3yvMcAFwD9AVGZebDndVroCNJUkX1ZNdVZu7eTvEZnez/
I+BH7ZRfBVxVb712XUmSpJZlRkeSpIqqwr2uDHQkSaqoPq0f59h1JUmSWpcZHUmSKsquK0mS1LIqEOfYdSV
JklqXGR1JkioqaP2UjoGOJEkV5awrSZKkOZgZHUmSKspZV5IkqWVVIM7puusqInaOiIXK9SMi4tKIWLv5TZ
MkSZo19YzR+UFmvh4RnwG2oLjT6KnNbZYkSWq2PhENW3qregKd98r/Pw+MzMy/
AHM3r0mSJKknRDRu6a3qCXTGRcTvgV2BqyJinjqPkyRJmq3qCVh2Aa4BtsrMycBA4P+a2ipJktR0EdGwpbf
qMtDJzKnAi8BnyqJpwBPNbJQkSWo+u66AiDgKOAw4vCyaCzinmY2SJElqhHquo/
NFYC3gfoDMHN823VySJM25evNsqUapJ9B5JzMzIhIgIhZocpskSVIPaP0wp77ByBeWs64GRMTXgeuB05rbL
EmSpFnXZUYnM38eEVsCrwGrAEdm5nVNb5kkSWqq3jxbqlHqutdVGdgY3EiS1EL6tH6c03WgExGvA1k+nJti
1tUbmdm/
mQ2TJEmaVfV0XX0wwyqKHNcwYINmNkqSJDVfFbquZupWDlm4DNiqSe2RJEk9pAoXDKyn62rHmod9gHWBt5r
WIkmSpAapZzDy9jXr04BnKLqvJEnSHKwKXVf1jNHZuycaIkmSelalZ11FxK/
5cLbVR2TmQU1pkSRJUoN0ltG5t8daIUmSelylu64y86yebIgkSepZrR/
m1DfrajBwGF9+hgUAABvISURBVLAaMG9beWZu1sR2SZIkzbJ6rqNzLvAosBxwNMWsq3ua2CZJktQD+kQ0bO
mt6gl0BmXmGcC7mfm3zPwqYDZHkqQ5nBcMLLxb/
j8hIj4PjAcGNq9JkiRJjVFPRue4iFgY+A5wCHA68O2mtkqSJDVdRDRsqaOuURHxYkQ8VFM2MCKui4gnyv8X
KcsjIk6OiDER8WBErF1zzPBy/
yciYnhX9dYT6NyVmVMy86HM3DQz18nM0XUcJ0mSerEe7ro6E9h6hrLvAjdk5krADeVjgG2AlcplBHBq0d4Y
CBwFrA+sBxzVFhx1pJ5A57aIuDYi9unqZJIkSe3JzFuAV2coHga0Xc7mLGCHmvI/ljcTvxMYEBFLUtxU/
LrMfDUzJwHX8dHgaTpdBjqZuTJwBPBfwH0RcWVE7Fnn85IkSb1UI2ddRcSIiLi3ZhlRRxMWz8wJ5fpEYPFy
fQjwfM1+Y8uyjso7VM9gZDLzbuDuiPgxcCJF1HVOPcdKkqTeqZGzpTJzJDByFo7PiOjw1lPd1WVGJyL6lwN
/rgZuByZQ9ItJkiTNihfKLinK/18sy8cBy9Tst3RZ1lF5h+rJ6PwTuAw4JjPvqK/ds27SPaf0VFWSaiy//
6WzuwlSZY3//
Y49Wl8vuNfVaGA4cHz5/+U15QdExPkUA4+nZOaEiLgG+HHNmOHPAYd3VkE9gc7ymdnwVJIkSZq96pmR1CgR
cR6wCbBoRIylmD11PHBhROwDPAvsUu5+FbAtMAaYCuwNkJmvRsSxfHiHhmMyc8YBztPpMtAxyJEkSbMqM3f
vYNPm7eybwP4dnGcUMKreeusajCxJklpPL+i6ajoDHUmSKqpP68c5HQc6EfFroMNuq8w8qCktkiRJPaLSgQ
5wb4+1QpIkqQk6DHQy86yOtkmSpDmfY3SAiBgMHAasBszbVp6ZmzWxXZIkqcmq0HVVzxT6c4FHgeWAo4Fn+
HD+uiRJUq9VT6AzKDPPAN7NzL9l5lcBszmSJM3hIhq39Fb1TC9/t/x/QkR8HhgPDGxekyRJUk/
o05sjlAapJ9A5LiIWBr4D/
BroD3y7qa2SJElqgHpuAXFluToF2LS5zZEkST2lJ+91NbvUM+vqD7Rz4cByrI4kSZpDVaDnqq6uqytr1ucF
vkgxTkeSJKlXq6fr6pLax+Vt1m9tWoskSVKPcDBy+1YCFmt0QyRJUs+qQJxT1xid15l+jM5EiislS5Ik9Wr
1dF0t1BMNkSRJPctbQAARcUM9ZZIkac7SJ6JhS2/
VYUYnIuYF5gcWjYhFgLZn0R8Y0gNtkyRJmiWddV39L/
AtYCngPj4MdF4DTmlyuyRJUpP14kRMw3QY6GTmScBJEXFgZv66B9skSZJ6gGN0Cu9HxIC2BxGxSER8o4ltk
iRJaoh6Ap2vZ+bktgeZOQn4evOaJEmSekI08F9vVc8FA/
tGRGRmAkREX2Du5jZLkiQ1WxW6ruoJdP4KXBARvy8f/
29ZJkmS1KvVE+gcBowA9isfXwec1rQWSZKkHlGFjE6XY3Qy8/3M/
F1m7pSZOwGPAM7CkiRpDhcRDVt6q7pu6hkRawG7A7sATwOXNrNRkiRJjdDZlZFXpghudgdeBi4AIjM37aG2
SZKkJqpC11VnGZ3HgL8D22XmGICI+HaPtEqSJDVdL+5xapjOxujsCEwAboqI0yJic+jFE+UlSZJm0NktIC4
DLouIBYBhFPe9WiwiTgX+nJnX9lAbJUlSE/Tmu443Sj2zrt7IzD9l5vbA0sA/
KKacS5KkOVifaNzSW9VzC4gPZOakzByZmZs3q0GSJEmNUtf0ckmS1Hoq0HNloCNJUlX1qcAco5nqupIkSeq
OiPh2RDwcEQ9FxHkRMW9ELBcRd0XEmIi4ICLmLvedp3w8ptw+tLv1GuhIklRREY1bOq8nhgAHAetm5upAX2
A34KfALzNzRWASsE95yD7ApLL8l+V+3WKgI0lSRfXwrKt+wHwR0Q+Yn+JafZsBF5fbzwJ2KNeHlY8pt28e3
byhloGOJEmaZRExIiLurVlGtG3LzHHAz4HnKAKcKcB9wOTMnFbuNhYYUq4PAZ4vj51W7j+oO+1yMLIkSRXV
yAsGZuZIYGR72yJiEYoszXLAZOAiYOuGVd4JAx1JkiqqB6eXbwE8nZkvFfXGpcBGwICI6FdmbZYGxpX7jwO
WAcaWXV0LA690p2K7riRJUrM9B2wQEfOXY202Bx4BbgJ2KvcZDlxero8uH1NuvzEzszsVm9GRJKmieupeV5
l5V0RcDNwPTKO4ndRI4C/
A+RFxXFl2RnnIGcDZETEGeJVihla3GOhIklRRPXll5Mw8CjhqhuKngPXa2fctYOdG1GvXlSRJallmdCRJqq
gqZDsMdCRJqqhuXoNvjlKFYE6SJFWUGR1Jkiqq9fM5BjqSJFVWT00vn53supIkSS3LjI4kSRXV+vkcAx1Jk
iqrAj1Xdl1JkqTWZUZHkqSKqsJ1dAx0JEmqqCp06xjoSJJUUVXI6FQhmJMkSRVlRkeSpIpq/
XyOgY4kSZVl15UkSdIczIyOJEkVVYVsh4GOJEkVZdeVJEnSHMyMjiRJFdX6+RwDHUmSKqsCPVd2XUmSpNZl
RkeSpIrqU4HOKwMdSZIqyq4rSZKkOZgZHUmSKirsupIkSa3KritJkqQ5mBkdSZIqyllXkiSpZdl1JUmSNAc
zoyNJUkVVIaNjoCNJUkVVYXq5XVeSJKllmdGRJKmi+rR+QseMjiRJVRUN/
NdlXREDIuLiiHgsIh6NiA0jYmBEXBcRT5T/
L1LuGxFxckSMiYgHI2Lt7j5HAx1JktQTTgL+mpmrAp8EHgW+C9yQmSsBN5SPAbYBViqXEcCp3a3UQEeSpIq
KaNzSeT2xMPBZ4AyAzHwnMycDw4Czyt3OAnYo14cBf8zCncCAiFiyO8/
RQEeSpIpqZNdVRIyIiHtrlhE1VS0HvAT8ISL+ERGnR8QCwOKZOaHcZyKweLk+BHi+5vixZdlMczCyJEmaZZ
k5EhjZweZ+wNrAgZl5V0ScxIfdVG3HZ0Rko9tlRkeSpIrqE41bujAWGJuZd5WPL6YIfF5o65Iq/
3+x3D4OWKbm+KXLspl/
jt05SJIkzfl6atZVZk4Eno+IVcqizYFHgNHA8LJsOHB5uT4a+HI5+2oDYEpNF9dMsetKkiT1hAOBcyNibuA
pYG+KhMuFEbEP8CywS7nvVcC2wBhgarlvtxjoiCOPOJxb/
nYzAwcO4tLLr+xwv4f+9SBf3mM3fnrCiWy51dazVOeUyZM59JBvM37cOJYaMoQTfvEr+i+8MH+5cjR/
OOM0MmGBBRbg+z/4Iausuuos1SX1Zid+eW22+MQSvPz622x2zA0f2b7hyovyh29syPMvvwHAVf8Yzy//
8tgs1Tl3vz6cvPe6fGLZAUx64x32Pe1uxr4ylTWHLsIJe671wX6/uPIx/
vrA+FmqS71bT97rKjMfANZtZ9Pm7eybwP6NqNeuKzFshx059fend7rPe++9x69O/DkbfnqjmTr3PXffxQ+
+992PlI86fSTrrb8hV1x9LeutvyFnnF6MXxsyZGlGnXkOl1x2BSP23Y9jfviDmapPmtNccMez7HHy7Z3uc9
cTL7PlcTey5XE3zlSQs/Sg+bn44I0/Ur77RkOZ/MY7bPSDaznt+jEcsePqADw+7jW2/
vFNbHncjexx8u38bI816VuFS+dWWDRw6a0MdMQ6636K/
gsv3Ok+5517NltsuRUDBw6arvzMUafzpV3+h52+uD2/PeXkuuu86aYb+MIOxeUSvrDDDtx04/
UArLnW2h+0ZY011uSFFybOzFOR5jh3PfEKk6a+061jd1x/
Gf7y3U247ojN+Okea9V9Of+tPrkkF935HABX3j+Oz6w6GIA3332P994vJr3MM1cfGj79RZoNmhroRMTKEXF
DRDxUPl4jIo5oZp1qvBdeeIEbb7ieXXbbfbry22+7leeefZZzL7iYCy+5nEceeZj77r2nrnO+
+sorDB68GACLLjqYV1955SP7/PnSi/
nMxp+d9ScgzeHWWX4g1x2xGecc+GlWXnIhAFZcYiGGrbs0w372N7Y87kbeez/
Zcf1l6zrfEgPmZfyrbwLw3vvJa2++y8AF5gZgraGLcNNRW3DjkVtw2LkPfBD4qDX1iWjY0ls1e4zOacD/
Ab8HyMwHI+JPwHHt7VxeXGgEwCm//T37fH1Ee7uph51w/I/41sGH0KfP9HHxHbffxh2338au/
1NkZqZOncqzzz7DOut+ij1225l333mHqVOnMmXKFHbZcRgA3zz4EDb6zPSp9Gjnspp333Unf770Ys48+09N
fGZS7/
ev5yaz3vf+ytS332Oz1Rdn1H4b8pkjr2XjVQfziWUHcPX3NgVg3rn68srrbwNwxr4bsOyi8zNX3z4MGTg/
1x2xGQCn3/gkF9z+bKf1/eOZSWx69PWsuMRCnPSVdbjpoYm8Pe395j5JzTa9NzxpnGYHOvNn5t0x/
ZfYtI52rr3Y0FvTzJr2Fg8//BCHHXIwAJMmTeLvf/
8bffv1IzP56tdHsPMuu33kmHPPvwgoxuiMvuzPHPvj46fbPnDQIF566UUGD16Ml156kYEDB36w7d+PP8bRR
x3Bb353GgMGLNLEZyb1fv9568NfmTc+9AI/2T0YuMDcRMBFdzzHTy57+CPH7PO7O4FijM6vhq/
DTif+fbrtEye/
xVID52PC5Dfp2yfoP99cvPrG9N1nYya+zhtvT2OVIf158NnJTXhmUs9o9hidlyNiBSiClojYCejWPHjNPld
feyNXX1csW35uK75/xFFstvkWfHqjz3DZpZcw9Y1iNsgLL7zAK+10QbVnk003Y/
RllwEw+rLL2HTTYtD9hPHjOfibB/Kjn/yMoUOXa84TkuYgg/
vP88H6mkMXoU+f4NU33uHvj73E59cewqCFiu0D5p+LIQPnq+uc1z44gZ03KLq5tlt7CLc+9hIAywya/
4PBx0MGzseKSyzE2JenNvLpqLepwGjkZmd09qfI0KwaEeOAp4E9mlynZtJhhxzMvffczeTJk9hys8+y3/4H
Mm1a8VfkLrvu3uFxn97oMzz91JPstUeR0Zl//vn58fEnMGjQoA6PafPVr43g/w7+FpddejFLLrUUJ/
ziVwD8/ne/YfKUyfz42KMB6NuvL+ddeOmsPkWp1/
rtPp9iw1UGM3DBubn3+G34xRWP0K9v8Tfo2bc8zXZrD+HL/7080957n7fefZ/9TrsbgCcmvM7PRj/M+d/
ciIhg2nvv873zHmBcOfamM+fd+gwnf3Vdbjv2c0x+4x32O70453orDuKArVdh2nvv837C9/70wEcyPWotXV
3orxVEMVW9SSePWCcz7ytv3NUnM1+PiO0ys+OLtZTsupJmj+X3N7CUZpfxv9+xRyOPu56c0rDv2vVXWLhXR
k3N7ro6LSJWz8w3yiBnN8ALo0iS1Au0zQVpxNJbNbvraifg4oj4ErAx8GXgc02uU5Ik1aEXxycN09RAJzOf
KrM4lwHPAZ/
LzK47kCVJkhqgKYFORPwLphtjMxDoC9wVEWTmGs2oV5IkzYQKpHSaldHZrknnlSRJDVKFWVdNCXQyc7pLb0
bEYsC8zahLkiSpI82+19UXIuIJiuvn/
A14Bri6mXVKkqT6VGHWVbOnlx8LbAD8OzOXAzYH7mxynZIkqQ4VuDBy0wOddzPzFaBPRPTJzJuAdZtcpyRJ
EtD86+hMjogFgVuAcyPiReCNJtcpSZLq0ZtTMQ3SlIxORCxbrg4DpgLfBv4KPAls34w6JUnSzIkG/
uutmpXRuQxYOzPfiIhLMvN/
gLOaVJckSVK7mhXo1IZ2yzepDkmSNAt682ypRmlWoJMdrEuSpF6iAnFO0wKdT0bEaxSv4XzlOuXjzMz+Tap
XkiTVqwKRTrOujNy3GeeVJEmaGc2eXi5Jknqp3jxbqlEMdCRJqqgqDEZu9pWRJUmSZhszOpIkVVQFEjoGOp
IkVVYFIh27riRJUssyoyNJUkU560qSJLUsZ11JkiTNwczoSJJUURVI6BjoSJJUWRWIdOy6kiRJLcuMjiRJF
VWFWVdmdCRJqqiIxi311Rd9I+IfEXFl+Xi5iLgrIsZExAURMXdZPk/
5eEy5fWh3n6OBjiRJ6infBB6tefxT4JeZuSIwCdinLN8HmFSW/
7Lcr1sMdCRJqqho4NJlXRFLA58HTi8fB7AZcHG5y1nADuX6sPIx5fbNy/
1nmoGOJElV1cBIJyJGRMS9NcuIGWr7FXAo8H75eBAwOTOnlY/HAkPK9SHA8wDl9inl/
jPNwciSJGmWZeZIYGR72yJiO+DFzLwvIjbpyXYZ6EiSVFE9OOtqI+ALEbEtMC/QHzgJGBAR/
cqszdLAuHL/
ccAywNiI6AcsDLzSnYrtupIkqaJ6atZVZh6emUtn5lBgN+DGzNwDuAnYqdxtOHB5uT66fEy5/
cbMzO48RwMdSZI0uxwGHBwRYyjG4JxRlp8BDCrLDwa+290K7LqSJKmiZsflAjPzZuDmcv0pYL129nkL2LkR
9RnoSJJUVa1/
YWS7riRJUusyoyNJUkVV4V5XBjqSJFVU9641PGex60qSJLUsMzqSJFVUBRI6BjqSJFVWBSIdu64kSVLLMqM
jSVJFOetKkiS1LGddSZIkzcHM6EiSVFEVSOgY6EiSVFV2XUmSJM3BzOhIklRZrZ/
SMdCRJKmi7LqSJEmag5nRkSSpoiqQ0DHQkSSpquy6kiRJmoOZ0ZEkqaK815UkSWpdrR/
n2HUlSZJalxkdSZIqqgIJHQMdSZKqyllXkiRJczAzOpIkVZSzriRJUutq/
TjHritJktS6zOhIklRRFUjoGOhIklRVVZh1ZaAjSVJFVWEwsmN0JElSyzKjI0lSRVWh68qMjiRJalkGOpIk
qWUZ6EiSVFERjVs6ryeWiYibIuKRiHg4Ir5Zlg+MiOsi4ony/0XK8oiIkyNiTEQ8GBFrd/
c5GuhIklRR0cB/
XZgGfCczVwM2APaPiNWA7wI3ZOZKwA3lY4BtgJXKZQRwanefo4GOJElqqsyckJn3l+uvA48CQ4BhwFnlbmc
BO5Trw4A/
ZuFOYEBELNmdug10JEmqqEZ2XUXEiIi4t2YZ0X6dMRRYC7gLWDwzJ5SbJgKLl+tDgOdrDhtbls00p5dLklR
RjZxdnpkjgZGd1hexIHAJ8K3MfC1qBvdkZkZENrBJgBkdSZLUAyJiLoog59zMvLQsfqGtS6r8/8WyfBywTM
3hS5dlM81AR5KkqooGLp1VU6RuzgAezcwTazaNBoaX68OBy2vKv1zOvtoAmFLTxTVT7LqSJKmievBeVxsBe
wH/iogHyrLvAccDF0bEPsCzwC7ltquAbYExwFRg7+5WbKAjSZKaKjNvpeO8z+bt7J/A/
o2o20BHkqSKqsK9rgx0JEmqqArEOQ5GliRJrcuMjiRJVVWBlI6BjiRJFdWDs65mG7uuJElSyzKjI0lSRVVh
1lUUU9WlxoqIEeV9TyT1ID970vTsulKztHvXWklN52dPqmGgI0mSWpaBjiRJalkGOmoWxwhIs4efPamGg5E
lSVLLMqMjSZJaloGOJElqWQY6mikR8V5EPBARD0XEFRExoJvn+UpEnNLo9kmtquaz17YM7WC/
oRHxUM+2Tuq9DHQ0s97MzDUzc3XgVWD/2d0gqSLaPnttyzOzu0HSnMBAR7PiDmAIQESsEBF/
jYj7IuLvEbFqWb59RNwVEf+IiOsjYvHZ2mKpRUTEghFxQ0TcHxH/
iohh7eyzfPnZ+1RHn1Gp1XmvK3VLRPQFNgfOKItGAvtm5hMRsT7wW2Az4FZgg8zMiPgacCjwndnRZmkON19
EPFCuPw3sDHwxM1+LiEWBOyNidNvOEbEKcD7wlcz8Z0TcQPufUamlGehoZrX9sh0CPApcFxELAp8GLooP7x
A3T/n/0sAFEbEkMDfFL2hJM+/
NzFyz7UFEzAX8OCI+C7xP8Zlsy5gOBi4HdszMR7r4jEotzUBHM+vNzFwzIuYHrqEYo3MmMLn2l3CNXwMnZu
boiNgE+GFPNVRqcXtQBDTrZOa7EfEMMG+5bQrwHPAZ4BGKYQodfUalluYYHXVLZk4FDqLohpoKPB0ROwNE4
ZPlrgsD48r14T3eUKl1LQy8WAY5mwIfq9n2DvBF4MsR8aXMfI2OP6NSSzPQUbdl5j+AB4HdKf663Cci/
gk8DLQNjPwhRbr8PuDl2dFOqUWdC6wbEf8Cvgw8VrsxM98AtgO+HRFfoOPPqNTSvAWEJElqWWZ0JElSyzLQ
kSRJLctAR5IktSwDHUmS1LIMdCRJUssy0JF62Ax3gL+ovPhid891ZkTsVK6fHhGrdbLvJhHx6W7U8Ux5i4F
Z0qjzSNLMMNCRel7tHeDfAfat3RgR3bpieWZ+LTMf6WSXTShuAyBJlWGgI81efwdWLLMtfy9vyvhIRPSNiB
Mi4p6IeDAi/
hc+uKLtKRHxeERcDyzWdqKIuDki1i3Xty7vav3P8g7XQykCqm+X2aSNI2JwRFxS1nFPRGxUHjsoIq6NiIcj
4nQgmEFE7BsRJ9Q8/kpEnFKuX1beIfvhiBjRzrFDI+KhmseHRMQPy/V277AdETuXGbB/RsQts/
iaS6oQ73UlzSZl5mYb4K9l0drA6pn5dBkgTMnMT0XEPMBtEXEtsBawCrAaxQ0cHwFGzXDewcBpwGfLcw3Mz
Fcj4nfAfzLz5+V+fwJ+mZm3RsSyFPcu+zhwFHBrZh4TEZ8H9mmn+ZcAdwD/
Vz7eFfhRuf7Vsr75gHsi4pLMfKXOl2Uk7d9h+0hgq8wcFxED6jyXJBnoSLNB2x3gocjonEHRpXR3Zrbd3f1
zwBpt428o7mu0EvBZ4LzM
fA8YHxE3tnP+DYBb2s6Vma920I4tgNVq7mbdv7zL9WeBHctj/
xIRk2Y8MDNfioinImID4AlgVeC2cvNBEfHFcn2Zst1dBjpd3GH7NuDMiLgQuLSrc0lSGwMdqee9OeNdpMsv
9jdqi4ADM/OaGfbbtoHt6ANskJlvtdOWepwP7EJxj6U/
Z2aWd6jfAtgwM6dGxM18eEftNtOYvtu8bXuHd9jOzH3LDM/
ngfsiYp2ZyBJJqjDH6Ei90zXAfhExF0BErBwRCwC3ALuWY3iWBDZt59g7gc9GxHLlsQPL8teBhWr2uxY4sO
1BRLQFGLcAXyrLtgEW6aCNf6a4MeTuFEEPFJmnSWWQsypFdmlGLwCLlWOB5qG48SSd3WE7IlbIzLsy80jgJ
YpMkSR1yUBH6p1Opxh/c385cPf3FBnYP1N0FT0C/
JFinMx0MvMlYARwaXmn6gvKTVcAX2wbjAwcRHH36wcj4hE+nP11NEWg9DBFF9Zz7TUwMycBjwIfy8y7y+K/
Av0i4lHgeIqga8bj3gWOAe4GrmP6u253dIftEyLiX+VrcTvwz/
ZfNkmanncvlyRJLcuMjiRJalkGOpIkqWUZ6EiSpJZloCNJklqWgY4kSWpZBjqSJKllGehIkqSW9f9d695CL
lkrjgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 720x504 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BT6y8yv60bdD",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 230
},
"outputId": "4228b7a0-906d-4e0e-e0be-948806dc967a"
},
"source": [
"# Hyperparameter tuning the Naive Bayes Classifier\n",
"best_accuracy = 0.0\n",
"alpha_val = 0.0\n",
"for i in np.arange(0.1,1.1,0.1):\n",
" temp_classifier = MultinomialNB(alpha=i)\n",
" temp_classifier.fit(X_train, y_train)\n",
" temp_y_pred = temp_classifier.predict(X_test)\n",
" score = accuracy_score(y_test, temp_y_pred)\n",
" print(\"Accuracy score for alpha={} is: {}%\".format(round(i,1),
round(score*100,2)))\n",
" if score>best_accuracy:\n",
" best_accuracy = score\n",
" alpha_val = i\n",
"print('--------------------------------------------')\n",
"print('The best accuracy is {}% with alpha value as
{}'.format(round(best_accuracy*100, 2), round(alpha_val,1)))"
],
"execution_count": 30,
"outputs": [
{
"output_type": "stream",
"text": [
"Accuracy score for alpha=0.1 is: 90.51%\n",
"Accuracy score for alpha=0.2 is: 90.51%\n",
"Accuracy score for alpha=0.3 is: 90.59%\n",
"Accuracy score for alpha=0.4 is: 90.51%\n",
"Accuracy score for alpha=0.5 is: 90.43%\n",
"Accuracy score for alpha=0.6 is: 90.37%\n",
"Accuracy score for alpha=0.7 is: 90.27%\n",
"Accuracy score for alpha=0.8 is: 90.21%\n",
"Accuracy score for alpha=0.9 is: 90.16%\n",
"Accuracy score for alpha=1.0 is: 90.16%\n",
"--------------------------------------------\n",
"The best accuracy is 90.59% with alpha value as 0.3\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "iO5PakIjwfG7"
},
"source": [
"## *Logistic Regression*"
]
},
{
"cell_type": "code",
"metadata": {
"id": "d4G5qV5GwlBI",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 105
},
"outputId": "7063a510-ac34-48cf-bbb9-e0adf7a4856f"
},
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"lr_classifier = LogisticRegression(random_state=0)\n",
"lr_classifier.fit(X_train, y_train)"
],
"execution_count": 31,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"LogisticRegression(C=1.0, class_weight=None, dual=False,
fit_intercept=True,\n",
" intercept_scaling=1, l1_ratio=None,
max_iter=100,\n",
" multi_class='auto', n_jobs=None, penalty='l2',\
n",
" random_state=0, solver='lbfgs', tol=0.0001,
verbose=0,\n",
" warm_start=False)"
]
},
"metadata": {
"tags": []
},
"execution_count": 31
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "c11DXHNjy9Nz",
"colab_type": "code",
"colab": {}
},
"source": [
"# Predicting the Test set results\n",
"lr_y_pred = lr_classifier.predict(X_test)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "qyHBMjwezBsa",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 87
},
"outputId": "44f22748-a6cd-4b79-d330-bdb156fe2339"
},
"source": [
"# Accuracy, Precision and Recall\n",
"from sklearn.metrics import accuracy_score, precision_score, recall_score\
n",
"score1 = accuracy_score(y_test, lr_y_pred)\n",
"score2 = precision_score(y_test, lr_y_pred)\n",
"score3 = recall_score(y_test, lr_y_pred)\n",
"print(\"---- Scores ----\")\n",
"print(\"Accuracy score is: {}%\".format(round(score1*100,2)))\n",
"print(\"Precision score is: {}\".format(round(score2,2)))\n",
"print(\"Recall score is: {}\".format(round(score3,2)))"
],
"execution_count": 33,
"outputs": [
{
"output_type": "stream",
"text": [
"---- Scores ----\n",
"Accuracy score is: 93.52%\n",
"Precision score is: 0.89\n",
"Recall score is: 0.97\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "3eAw7HB-zEJ6",
"colab_type": "code",
"colab": {}
},
"source": [
"# Making the Confusion Matrix\n",
"from sklearn.metrics import confusion_matrix\n",
"lr_cm = confusion_matrix(y_test, lr_y_pred)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NUrSlyY8zJ7K",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "9065685e-804c-47d4-dd30-69e613c12e1d"
},
"source": [
"lr_cm"
],
"execution_count": 35,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1850, 190],\n",
" [ 47, 1570]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "F4x7FKj9zZHM",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 457
},
"outputId": "9c65b440-31b5-4c76-b88d-0a78cc2b0a18"
},
"source": [
"# Plotting the confusion matrix\n",
"plt.figure(figsize=(10,7))\n",
"sns.heatmap(data=nb_cm, annot=True, cmap=\"Blues\", xticklabels=['Real',
'Fake'], yticklabels=['Real', 'Fake'])\n",
"plt.xlabel('Predicted values')\n",
"plt.ylabel('Actual values')\n",
"plt.title('Confusion Matrix for Logistic Regression Algorithm')\n",
"plt.show()"
],
"execution_count": 36,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAjoAAAG5CAYAAACHhJ4rAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEg
AACxIB0t1+/
AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9y
Zy+j8jraAAAgAElEQVR4nO3dd5xcVdnA8d+ThA4hJKEGkA4iL9Kko/
QmGESqlIhoBBELIogiSFFRFAURNECkSkcIiPQO0kWkSqSmUUISkFASeN4/7l2YhN3NZjOz2Z37+
+ZzP5k5t5xzZ3Z2nn3OOfdGZiJJktSMes3uBkiSJDWKgY4kSWpaBjqSJKlpGehIkqSmZaAjSZKaloGOJElq
WgY6+piImCciro6ISRFx6SwcZ6+IuKGebZsdIuLvETGkk/
seHxGvRcS4ererXjp7fhGxSUQ83Yg2dWcR8XhEbDob6v1pRJzfoGO3+15GxDIRkRHRpxH1S41koNODRcSXI
+LBiPhfRIwtv7A2rsOhdwEWBQZk5q6dPUhmXpCZW9ehPdOIiE3LX7p/
na7802X5bR08Toe+ODJzu8w8pxPtXBr4PrBqZi42s/
u3ccyMiBXqcawWHT2/6evOzDszc+WZra983aeUP7cTI+KeiNhgZo8zu2TmpzLztkYdPyLOjoipEbF4o+qY3
vTvZUQ8HxFbdlX9UiMZ6PRQEXEI8Dvg5xRBydLAacDgOhz+E8B/MnNqHY7VKK8CG0TEgJqyIcB/
6lVBFGblM7I0MD4zX+lE3c3+l/PFmTk/MBC4Feh05rAtdXj/
ulxEzAd8CZgE7N1FdTb7z5qqLjNdetgCLAj8D9i1nW3mogiExpTL74C5ynWbAqMosg2vAGOB/
cp1xwDvAVPKOvYHfgqcX3PsZYAE+pTPvwI8C7wJPAfsVVN+V81+GwIPUPwSfwDYsGbdbcBxwN3lcW4ABrZx
bi3t/
yNwUFnWGxgNHAXcVrPtycBLwBvAQ8AmZfm2053nv2ra8bOyHW8DK5RlXyvXnw5cXnP8XwI3AzFdG7cs9/+g
PP7ZZfkXgMeBieVxP1mzz/
PA4cCjwLstr+90x01ghTZ+Js6lCABfAI4EetW8Nr8BXivfn29N9/7Vnt8KwO3le/
QaRUACcEe5z1vl+eze8j7UtGEp4IqyDeOBU9t4/37KtD9Pq5bHXrjmXM6i+LkcDRwP9J6Jc5n+/
VsFuBF4HXga2K2m7u2BJyh+5kYDh5blA4FryvfpdeDOmtfzeWDLWfmctfO53Zfi5/U7wGMzeN32Ld/
r8cBPOtGuw4FxwHm172X5/IPy9fsfcBgffeaHAC+Wr/
+Pp2vbpcD55Wv5b2Al4Ijy3F8Ctp7dvztdqrnM9ga4dOJNK76kp9LKF2HNNscC9wKLAAsD9wDHles2Lfc/
Fpij/GU/GVioXD/9L9Tpn7f80usDzEcRRKxcrlsc+FT5+CuUgQ7QH5gA7FPut2f5fEC5/
jbgv+Uvx3nK5ye0cW4tv6g3BO4ry7YHrge+xrSBzt7AgLLO75e/
2Odu7bxq2vEi8KlynzmYNhCYlyJr9BVgk/IX/
pLttbPm+UoUgcJW5XEPA0YCc5brnwceoQgY5mnjmG0FOucCVwELlO/
Pf4D9y3UHUHyZLwksBNxE24HOhcCPKbK9cwMbt1U303459gb+Bfy2/JmYZt/
p2vrh6w7MCZxQvo4t7fkr8KfyOIsA9wPfmIlzqX3/
FqT4kt2vfL5mWdeq5fZj+Sj4XQhYq3z8C4pAeo5y2YQymGXagKLTn7M2XpubgV9RZGmnAmu38bqtShGEbFy
+hr+mCNpnpl2/pAiI5uHjP6sfnuN0n/kzyu0/TRGMf7Kmbe8A25Sv87kUgeiPy3P/
OvDc7P7d6VLNpUeldfWhAcBr2X7X0l7AsZn5Sma+SpGp2adm/ZRy/
ZTMvJbil+ZMj7cofQCsFhHzZObYzHy8lW0+DzyTmedl5tTMvBB4CtixZps/Z+Z/
MvNt4BJgjfYqzcx7gP4RsTLFX7fntrLN+Zk5vqzzNxS/2Gd0nmdn5uPlPlOmO95kitfxJIq/Xg/
OzFEzOF6L3YG/ZeaN5XF/TfGlsWHNNqdk5kvla9AhEdEb2AM4IjPfzMznKbIeLe/
3bsDJmTkqMydQBBZtmULRdblEZr6TmXd1sBnrAksAP8jMtzqw724RMZEia/B1YJfMnBoRi1IEBN8tj/
MKRfC0x0ycy4fvH8UfBc9n5p/L9/OfwOVAy9izKcCqEdE3Mydk5sM15YsDnyg/
I3dmZms3Bqzb56wc07UZ8JfMfJki6Nm3jddvF+DqzLwrM9+jyGTWtm9G7foAODoz352ZnzXgmMx8OzP/
RRHYfrpm3Z2ZeX35ul9KEWCdUP6sXwQsExH9ZqIuqS4MdHqm8cDAGfStL0GR1m7xQln24TGmC5QmA/
PPbEMy8y2KL/ADgLER8beIWKUD7Wlp06Ca57UzkzranvMoui82o8gETCMiDo2IJ8sZZBMp/
sIfOINjvtTeysy8j6KrLigCso6a5jXIzA/Kumpfg3brbsNAir+ap3+/
W467xHTHba+OwyjO6/5ydtFXO9iGpYAXZhB817okM/
tRZC4eA9Yuyz9BcS5jy4HKEymyO4uU6ztyLrVlnwDWazlWeby9gJbB4V+iCKxeiIjbawZFn0iRbbshIp6Ni
B+2cR71/JztAzyZmY+Uzy8AvhwRc7RR74fnWQbg42eiXa9m5jtttKM97X1GX655/
DbFH2Pv1zyHTvyOkWaVgU7P9A+KtPFO7WwzhuKXfIuly7LOeIuiy6bFNDOIyr/itqL4C/
gpivT2jNrT0qbRnWxTi/OAbwLXlr/
sPxQRm1B8ce9G0V3Qj2LsSbQ0vY1jtlXectyDKDJDY8rjd9Q0r0FEBEWAUPsatFt3G17jo0xMi9rXdixFV0
+Lpdo6UGaOy8yvZ+YSwDeA0zo4y+slYOmZHdiama8BQ4GflrOMXqL42R6Ymf3KpW9mfmomzqX2NXwJuL3mW
P0yc/7MPLCs/
4HMHEwRSF1JGbiWmbHvZ+ZyFOOqDomILVqpq56fs32B5SJiXHk5gpMogtjtW9l2mtchIuahyPR2tF0z+jnr
zM+h1C0Z6PRAmTmJIlX9h4jYKSLmjYg5ImK7iPhVudmFwJERsXBEDCy37+w1OB4BPhsRS0fEghQDDAGIiEU
jYnA5W+RditT8B60c41pgpXJKfJ+I2J1inME1nWwTAJn5HPA5irEA01uAYizCq0CfiDgK6Fuz/
mWKdHqHPwcRsRLF4Ni9Kf4CPywi2u1iq3EJ8PmI2KL8K/37FK/ZPR2tvzRnRMzdstQc+2cRsUBEfAI4hI/
e70uA70TEoLLr4PB2zm/XiGj5Ap1A8YXX8n6+DCzXxq73U3z5nhAR85Vt26gjJ5OZT1OMrzosM8dSDET/
TUT0jYheEbF8RHxuZs+ldA3Fz90+5Wdkjoj4TER8MiLmjOJaTwuW3StvtJxrROwQESuUwegk4H1a/
7muy+eszCQtT9EFuEa5rAb8hda7ry4DdoyIDSNiTooxMlGzflbb1d57LfUoBjo9VDne5BCK2TWvUvzl+i2K
v0qh+DJ+kGIGz7+Bh8uyztR1I3BxeayHmDY46VW2YwzF7JTPAQe2cozxwA4UX+7jKTIhO5R/
0c+ScpxCa39FXw9cRzEw9wWKwZK13RotU5rHR8TDzECZrTgf+GVm/
isznwF+BJwXEXN1oJ1PUwRIv6fIwuwI7FiOsZgZj1N0BbQs+wEHU2TengXuoviCHF5ufwZF8PAo8E+KoHMq
xZf39D4D3BcR/wNGAN/JzGfLdT8Fzim7gHab7tzeL89nBYrBwKMoujQ76kRgaEQsQvHFPifFoOMJFF/
qLdeUmZlzITPfBLamGOMzhqLrpWUQLhTB6vMR8QZF9+teZfmKFAOd/0eRQT0tM29tpYp6fc6GAFdl5r/
LrNq4zBxHMWtwh4joP915PU7xnl9EEWD+j2J207t1atcvKAKliRFxaCfOR+o2WmYRSKqIiNgO+GNmTt+V2O
M007nMioiYn2Iq/
IplllNSyYyO1OSiuKXH9mWX4SDgaFoZuN0TNNO5zKqI2LHstp6PYgbfvymmhUuqYaAjNb+gmF48gaK750mK
MRs9UTOdy6wazEcXBFwR2KONKfBSpdl1JUmSmpYZHUmS1LS67c3c5lnzW6aapNlgzN0nz+4mSJW10Ly9Y8Z
b1U89v2vf/
uepXdr2jjKjI0mSmpaBjiRJVRW96rfMqKqI4RHxSkQ8VlO2RkTcGxGPRMSDEbFuWR4RcUpEjIyIRyNirZp9
hkTEM+UyZEb1GuhIkqSucDbFjXZr/
YriZrFrUMygbLm6/3YUswlXpLhNzOkA5cUzjwbWo7iS+NERsVB7lRroSJJUVRH1W2YgM+
+guIL+NMV8dGueBfnonmyDgXOzcC/Qr7wf3jbAjZn5emZOAG7k48HTNLrtYGRJktRgHb/
V34wPFTGUIvvSYlhmDpvBbt8Fro+IX1MkXzYsywcx7S17RpVlbZW3yUBHkiTNsjKomVFgM70Dge9l5uXlPf
TOArasZ7vsupIkqaq6sOuqDUOAK8rHl1KMuwEYDSxVs92SZVlb5W0y0JEkqaq6cNZVG8YAnysfbw48Uz4eA
exbzr5aH5iUmWOB64GtI2KhchDy1mVZm+y6kiRJDRcRFwKbAgMjYhTF7KmvAydHRB/
gHT4a43MtsD0wEpgM7AeQma9HxHHAA+V2x2bm9AOcp2GgI0lSVXW+y2mmZeaebaxau5VtEziojeMMB4Z3tF
4DHUmSqqqOs666q+Y/
Q0mSVFlmdCRJqqou7LqaXQx0JEmqKruuJEmSei4zOpIkVZVdV5IkqWnZdSVJktRzmdGRJKmq7LqSJElNy64
rSZKknsuMjiRJVVWBjI6BjiRJVdWr+cfoNH8oJ0mSKsuMjiRJVWXXlSRJaloVmF7e/
KGcJEmqLDM6kiRVlV1XkiSpadl1JUmS1HOZ0ZEkqarsupIkSU2rAl1XBjqSJFVVBTI6zX+GkiSpsszoSJJU
VXZdSZKkpmXXlSRJUs9lRkeSpKqy60qSJDUtu64kSZJ6LjM6kiRVVQUyOgY6kiRVVQXG6DR/
KCdJkirLjI4kSVVl15UkSWpadl1JkiT1XGZ0JEmqqgp0XTX/GUqSpNZF1G+ZYVUxPCJeiYjHpis/
OCKeiojHI+JXNeVHRMTIiHg6IrapKd+2LBsZET+cUb1mdCRJUlc4GzgVOLelICI2AwYDn87MdyNikbJ8VWA
P4FPAEsBNEbFSudsfgK2AUcADETEiM59oq1IDHUmSKiq6cDByZt4REctMV3wgcEJmvltu80pZPhi4qCx/
LiJGAuuW60Zm5rMAEXFRuW2bgY5dV5IkVVRE1HMZGhEP1ixDO9CElYBNIuK+iLg9Ij5Tlg8CXqrZblRZ1lZ
5m8zoSJKkWZaZw4BhM7lbH6A/sD7wGeCSiFiunu0y0JEkqapm/
2V0RgFXZGYC90fEB8BAYDSwVM12S5ZltFPeKruuJEmqqHp2XXXSlcBmZVtWAuYEXgNGAHtExFwRsSywInA/
8ACwYkQsGxFzUgxYHtFeBWZ0JElSw0XEhcCmwMCIGAUcDQwHhpdTzt8DhpTZnccj4hKKQcZTgYMy8/3yON8
Crgd6A8Mz8/
H26jXQkSSporp41tWebazau43tfwb8rJXya4FrO1qvgY4kSRXVlYHO7OIYHUmS1LTM6EiSVFFVyOgY6EiSV
FXNH+fYdSVJkpqXGR1JkirKritJktS0qhDo2HUlSZKalhkdSZIqqgoZHQMdSZIqqgqBjl1XkiSpaZnRkSSp
qpo/
oWOgI0lSVdl1JUmS1IOZ0ZEkqaKqkNEx0JEkqaKqEOjYdSVJkpqWGR1Jkqqq+RM6BjqSJFWVXVeSJEk9mBk
dSZIqqgoZHQMdSZIqqgqBjl1XkiSpaZnRkSSpoqqQ0THQkSSpqpo/
zrHrSpIkNS8zOpIkVZRdV5IkqWlVIdCx60qSJDUtMzqSJFVUFTI6BjqSJFVV88c5BjqSJFVVFTI6jtGRJEl
Ny4yOJEkVVYWMjoGO+OPRe7HdZ1fj1dffZJ1df/6x9X3nn5vhxw9hqcUXok/
v3vzu3Js5b8S9s1TnQn3n5bxffpVPLNGfF8a8zt6HncXEN99mh03/j6MO3IEPMpn6/
gccduJl3PPIs7NUl9RdvTxuLMf85AheH/
8aEcFOX9qN3b+8zzTbXHft1Zx39lmQybzzzsdhPzqKFVdeZZbqfe+99zjmJz/k6Scfp++C/
Tj+lyexxBKDuO/eezjtlJOYOmUKfeaYg4O/eyjrrLv+LNWl7q0KgY5dV+K8q+9l8EF/
aHP9N3b7LE89O471dj+Bbb5+Micc8kXm6NO7Q8feZO0VGXbM3h8rP3S/rbjt/
qf5v8HHctv9T3PoflsDcOt9T7Pu7r9g/T1O4ICfns9pR325cycl9QC9e/fh24ccxkVXXMOZ517EZRf/
hef+O3KabZZYYklOP/
McLrj0Kvb7+gH84vijO3z8MWNGc+DXhnysfMSVl9N3gb5cNuJ69txrCH84+TcA9OvXj1//7jQuuPQqjjr2F
xxz5A9n7QSlbsBAR9z98H95fdLkNtcnMP98cwEw3zxzMWHSZKa+/wEA39t3C+46/wfcf/
ERHHnA9h2uc4dNV+f8q+8D4Pyr72PHzVYH4K233/twm/
nmmYvMmT0bqecYuPDCrPLJVQGYb775WGbZ5Xjl1Vem2Wb1Ndakb98FAVht9U/
z6ssvf7ju738bwVf33p19dv8iJxx/NO+//
36H6r3ztlvYfsedANhsy6158P57yUxWXmVVFl5kEQCWW34F3n33Hd577732DqUeLiLqtnSgruER8UpEPNbK
uu9HREbEwPJ5RMQpETEyIh6NiLVqth0SEc+Uy8cj+ekY6GiG/njR7ayy7GI8e8PPePDSH3HoiZeRmWyx/
iosv/
QibLz3iay3xwms+cml2Wit5Tt0zEUGLMC4194AYNxrb7DIgAU+XPeFzVbnkSuO5IpTDuCAYy5oyDlJ3c2YM
aP5z9NPstpqq7e5zdVXXs76G20CwHPP/pebbriOYX8+n/Mu/
iu9evXm+muv6VBdr77yMosuthgAffr0Yf75F2DSxInTbHPrTTew0iqrMuecc3byjNQjRB2XGTsb2PZjTYhY
CtgaeLGmeDtgxXIZCpxebtsfOBpYD1gXODoiFmqv0oaM0YmI31MkAlqVmd9uY7+hFCdEnyU3pc/
ATzWieZpJW234SR59ehTbDj2F5ZYayN9O/xZ37/5fttzgk2y5wSrce1GR3p5/nrlYYelFuPvh/
3LHuYcy55x9mH+euVhowXk/3ObIk6/ipn88+bE6ajM3I259lBG3PspGay3PUd/
8PJ8/4NQuOU9pdpk8+S2OOPQ7fPfQI5hv/
vlb3eahB+5jxJVXMGz4+QA8eP+9PP3E4+y3924AvPvuuyzUvz8Ahx9yMGNGj2LKlCm8PG4s++z+RQB2//
I+7DB45xm259n/
PsMfTjmJk087ox6nJwGQmXdExDKtrPotcBhwVU3ZYODczEzg3ojoFxGLA5sCN2bm6wARcSNF8HRhW/
U2ajDyg53ZKTOHAcMA5lnzW3ZadBP7fGF9fvPnGwF49qXXeH70eFZeZlEi4MThN3DW5Xd/bJ/
P7vtroBijs88X1mPo0edPs/6V8W+y2MC+jHvtDRYb2JdXX3/zY8e4++H/suyggQzoNx/
jJ77VgDOTZr+pU6ZwxKHfZZvtdmCzLbZqdZtn/vM0Pz/2KH576p9YsF8/ADKT7XcczDe/fcjHtv/
lSb8HiizRcUf9iNPPPGea9QsvsigvjxvHIosuxtSpU/nf/9788LivvDyOww/
5Nkcd9wuWXGrpep6quqF6DkauTVaUhpXf6+3tMxgYnZn/
mq4tg4CXap6PKsvaKm9TQ7quMvOc9pZG1KnGeWncBDZdd2UAFum/
ACstsyjPjX6NG+95kiGDN2C+eYrU9hILL8jCC7X+1+j0/nb7v9l7x/
UA2HvH9bjmtkcBWG6pgR9us8YqSzLXnH0MctS0MpOfHfMTlll2Ob68z1da3Wbc2DEccei3Ofq4E1j6E8t8W
P6Zddfnlptu4PXXxwMwadJExo4Z3aF6N/ncZlx79ZVA0UW1zmfWIyJ48803OOTgA/nmtw/
h02usNYOjqBnUc4xOZg7LzHVqlhkFOfMCPwKOauQ5NnR6eUQsDBwOrArM3VKemZs3sl7NnHN+8RU2WXtFBv
abn5HXHcdxf7z2w1lVZ152FyeccR3DjtmbBy75ERHw45OvYvzEt7j53qdYZdnFuO2cQwF46+132e/H5/
DqhP/NsM5f//lGzv/lVxmy0wa8OPZ19j5sOABf3GINvrzDekyZ+j7vvDuFfQ4f3rgTl2azfz3yMH//
2wiWX3GlD7uXDvzWdxk3biwAO++6B2cNO51JEydx4i+OBYqZWmf/5VKWXX4FvnHQd/jOgV/
jg0z69OnDD374ExZfot0/bgHYcacvccyRh7PLF7ahb99+HHdCkYG99KK/MOqlFxk+7DSGDzsNgJNPP5P+/
Qc04vSl5YFlgZZszpLAwxGxLjAaWKpm2yXLstEU3Ve15be1V0lkA6e1RMQNwMXAocABwBDg1cw8fEb72nUl
zR5j7j55djdBqqyF5u3dpRe2WeHQv9ftu3bkr7ebYdvLMTrXZOZqrax7HlgnM1+LiM8D3wK2pxh4fEpmrls
ORn4IaEk5Pgys3TJmpzWNnnU1IDPPAqZk5u2Z+VXAbI4kSd1AF08vvxD4B7ByRIyKiP3b2fxa4FlgJHAG8E
2AMqA5DnigXI5tL8iBxl8ZeUr5/9gyOhsD9G9wnZIkqZvJzD1nsH6ZmscJHNTGdsOBDo9raHSgc3xELAh8H
/
g90Bf4XoPrlCRJHVCBO0A0NtDJzJarV00CNmtkXZIkaeZ4r6tZFBErRcTNLZd7jojVI+LIRtYpSZLUotGDk
c8AjqAcq5OZjwJ7NLhOSZLUARH1W7qrRo/
RmTcz758uNTa1wXVKkqQO6NWrG0coddLojM5rEbE85X2vImIXYGyD65QkSQIan9E5iOLeVatExGjgOWCvBt
cpSZI6oDt3OdVLo2ddPQtsGRHzUWSPJlOM0XmhkfVKkqQZc9ZVJ0VE34g4IiJOjYitKAKcIRRXONytEXVKk
iRNr1EZnfOACRSXev468GMggC9m5iMNqlOSJM2ECiR0GhboLJeZ/
wcQEWdSDEBeOjPfaVB9kiRpJtl11Xkt97giM98HRhnkSJKkrtaojM6nI+KN8nEA85TPg+JeXX0bVK8kSeqg
KmR0GhLoZGbvRhxXkiTVTwXinIZfMFCSJGm2afQFAyVJUjdl15UkSWpaFYhz7LqSJEnNy4yOJEkVZdeVJEl
qWhWIc+y6kiRJzcuMjiRJFWXXlSRJaloViHPsupIkSc3LjI4kSRVl15UkSWpaFYhz7LqSJEnNy4yOJEkVZd
eVJElqWhWIc+y6kiRJzcuMjiRJFWXXlSRJaloViHPsupIkSc3LjI4kSRVl15UkSWpaVQh07LqSJElNy0BHk
qSKiqjfMuO6YnhEvBIRj9WUnRgRT0XEoxHx14joV7PuiIgYGRFPR8Q2NeXblmUjI+KHM6rXQEeSpIqKiLot
HXA2sO10ZTcCq2Xm6sB/
gCPKdq0K7AF8qtzntIjoHRG9gT8A2wGrAnuW27bJQEeSJDVcZt4BvD5d2Q2ZObV8ei+wZPl4MHBRZr6bmc8
BI4F1y2VkZj6bme8BF5XbtslAR5Kkiqpn11VEDI2IB2uWoTPZnK8Cfy8fDwJeqlk3qixrq7xNzrqSJKmi6j
nrKjOHAcM62Y4fA1OBC+rWoJKBjiRJFdUdZpdHxFeAHYAtMjPL4tHAUjWbLVmW0U55q+y6kiRJs0VEbAscB
nwhMyfXrBoB7BERc0XEssCKwP3AA8CKEbFsR
MxJMWB5RHt1mNGRJKmienVhSiciLgQ2BQZGxCjgaIpZVnMBN5bdaPdm5gGZ+XhEXAI8QdGldVBmvl8e51vA
9UBvYHhmPt5evQY6kiRVVFd2XWXmnq0Un9XO9j8DftZK+bXAtR2t164rSZLUtMzoSJJUUVW415WBjiRJFdW
r+eMcu64kSVLzMqMjSVJF2XUlSZKaVgXiHLuuJElS8zKjI0lSRQXNn9Ix0JEkqaKcdSVJktSDmdGRJKminH
UlSZKaVgXinBl3XUXErhGxQPn4yIi4IiLWanzTJEmSZk1Hxuj8JDPfjIiNgS0p7jR6emObJUmSGq1XRN2W7
qojgc775f+fB4Zl5t+AORvXJEmS1BUi6rd0Vx0JdEZHxJ+A3YFrI2KuDu4nSZI0W3UkYNkNuB7YJjMnAv2B
HzS0VZIkqeEiom5LdzXDQCczJwOvABuXRVOBZxrZKEmS1Hh2XQERcTRwOHBEWTQHcH4jGyVJklQPHbmOzhe
BNYGHATJzTMt0c0mS1HN159lS9dKRQOe9zMyISICImK/
BbZIkSV2g+cOcjg1GvqScddUvIr4O3ASc0dhmSZIkzboZZnQy89cRsRXwBrAycFRm3tjwlkmSpIbqzrOl6q
VD97oqAxuDG0mSmkiv5o9zZhzoRMSbQJZP56SYdfVWZvZtZMMkSZJmVUe6rj6cYRVFjmswsH4jGyVJkhqvC
l1XM3UrhyxcCWzToPZIkqQuUoULBnak62rnmqe9gHWAdxrWIkmSpDrpyGDkHWseTwWep+i+kiRJPVgVuq46
MkZnv65oiCRJ6lqVnnUVEb/
no9lWH5OZ325IiyRJkuqkvYzOg13WCkmS1OUq3XWVmed0ZUMkSVLXav4wp2OzrhYGDgdWBeZuKc/
MzRvYLkmSpFnWkevoXAA8CSwLHEMx6+qBBrZJkiR1gV4RdVu6q44EOgMy8yxgSmbenplfBczmSJLUw3nBwM
KU8v+xEfF5YAzQv3FNkiRJqo+OZHSOj4gFge8DhwJnAt9raKskSVLDRUTdlg7UNTwiXomIx2rK+kfEjRHxT
Pn/
QmV5RMQpETEyIh6NiLVq9hlSbv9MRAyZUb0dCXTuy8xJmflYZm6WmWtn5ogO7CdJkrqxLu66OhvYdrqyHwI
3ZyaXYx8AABsESURBVOaKwM3lc4DtgBXLZShwetHe6A8cDawHrAsc3RIctaUjgc7dEXFDROw/
o4NJkiS1JjPvAF6frngw0HI5m3OAnWrKzy1vJn4v0C8iFqe4qfiNmfl6Zk4AbuTjwdM0ZhjoZOZKwJHAp4C
HIuKaiNi7g+clSZK6qXrOuoqIoRHxYM0ytANNWDQzx5aPxwGLlo8HAS/
VbDeqLGurvE0dGYxMZt4P3B8RPwdOooi6zu/IvpIkqXuq52ypzBwGDJuF/TMi2rz1VGfNMKMTEX3LgT9/
B+4BxlL0i0mSJM2Kl8suKcr/
XynLRwNL1Wy3ZFnWVnmbOpLR+RdwJXBsZv6jY+2edRMeOLWrqpJUY7mDrpjdTZAqa8yfdu7S+rrBva5GAEO
AE8r/r6op/
1ZEXEQx8HhSZo6NiOuBn9eMGd4aOKK9CjoS6CyXmXVPJUmSpNmrIzOS6iUiLgQ2BQZGxCiK2VMnAJdExP7A
C8Bu5ebXAtsDI4HJwH4Amfl6RBzHR3doODYzpx/
gPI0ZBjoGOZIkaVZl5p5trNqilW0TOKiN4wwHhne03g4NRpYkSc2nG3RdNZyBjiRJFdWr+eOctgOdiPg90G
a3VWZ+uyEtkiRJXaLSgQ7wYJe1QpIkqQHaDHQy85y21kmSpJ7PMTpARCwMHA6sCszdUp6ZmzewXZIkqcGq0
HXVkSn0FwBPAssCxwDP89H8dUmSpG6rI4HOgMw8C5iSmbdn5lcBszmSJPVwEfVbuquOTC+fUv4/
NiI+D4wB+jeuSZIkqSv06s4RSp10JNA5PiIWBL4P/
B7oC3yvoa2SJEmqg47cAuKa8uEkYLPGNkeSJHWVrrzX1ezSkVlXf6aVCweWY3UkSVIPVYGeqw51XV1T83hu
4IsU43QkSZK6tY50XV1e+7y8zfpdDWuRJEnqEg5Gbt2KwCL1bogkSepaFYhzOjRG502mHaMzjuJKyZIkSd1
aR7quFuiKhkiSpK7lLSCAiLi5I2WSJKln6RVRt6W7ajOjExFzA/
MCAyNiIaDlLPoCg7qgbZIkSbOkva6rbwDfBZYAHuKjQOcN4NQGt0uSJDVYN07E1E2bgU5mngycHBEHZ+bvu
7BNkiSpCzhGp/
BBRPRreRIRC0XENxvYJkmSpLroSKDz9cyc2PIkMycAX29ckyRJUleIOv7rrjpywcDeERGZmQAR0RuYs7HNk
iRJjVaFrquOBDrXARdHxJ/
K598oyyRJkrq1jgQ6hwNDgQPL5zcCZzSsRZIkqUtUIaMzwzE6mflBZv4xM3fJzF2AJwBnYUmS1MNFRN2W7q
pDN/
WMiDWBPYHdgOeAKxrZKEmSpHpo78rIK1EEN3sCrwEXA5GZm3VR2yRJUgNVoeuqvYzOU8CdwA6ZORIgIr7XJ
a2SJEkN1417nOqmvTE6OwNjgVsj4oyI2AK68UR5SZKk6bR3C4grgSsjYj5gMMV9rxaJiNOBv2bmDV3URkmS
1ADd+a7j9dKRWVdvZeZfMnNHYEngnxRTziVJUg/
WK+q3dFcduQXEhzJzQmYOy8wtGtUgSZKkeunQ9HJJktR8KtBzZaAjSVJV9arAHKOZ6rqSJEnqjIj4XkQ8Hh
GPRcSFETF3RCwbEfdFxMiIuDgi5iy3nat8PrJcv0xn6zXQkSSpoiLqt7RfTwwCvg2sk5mrAb2BPYBfAr/
NzBWACcD+5S77AxPK8t+W23WKgY4kSRXVxbOu+gDzREQfYF6Ka/
VtDlxWrj8H2Kl8PLh8Trl+i+jkDbUMdCRJ0iyLiKER8WDNMrRlXWaOBn4NvEgR4EwCHgImZubUcrNRwKDy8
SDgpXLfqeX2AzrTLgcjS5JUUfW8YGBmDgOGtbYuIhaiyNIsC0wELgW2rVvl7TDQkSSporpwevmWwHOZ+WpR
b1wBbAT0i4g+ZdZmSWB0uf1oYClgVNnVtSAwvjMV23UlSZIa7UVg/
YiYtxxrswXwBHArsEu5zRDgqvLxiPI55fpbMjM7U7EZHUmSKqqr7nWVmfdFxGXAw8BUittJDQP+BlwUEceX
ZWeVu5wFnBcRI4HXKWZodYqBjiRJFdWVV0bOzKOBo6crfhZYt5Vt3wF2rUe9dl1JkqSmZUZHkqSKqkK2w0B
HkqSK6uQ1+HqUKgRzkiSposzoSJJUUc2fzzHQkSSpsrpqevnsZNeVJElqWmZ0JEmqqObP5xjoSJJUWRXoub
LrSpIkNS8zOpIkVVQVrqNjoCNJUkVVoVvHQEeSpIqqQkanCsGcJEmqKDM6kiRVVPPncwx0JEmqLLuuJEmSe
jAzOpIkVVQVsh0GOpIkVZRdV5IkST2YGR1Jkiqq+fM5BjqSJFVWBXqu7LqSJEnNy4yOJEkV1asCnVcGOpIk
VZRdV5IkST2YGR1Jkioq7LqSJEnNyq4rSZKkHsyMjiRJFeWsK0mS1LTsupIkSerBzOhIklRRVcjoGOhIklR
RVZhebteVJElqWmZ0JEmqqF7Nn9AxoyNJUlVFHf/NsK6IfhFxWUQ8FRFPRsQGEdE/Im6MiGfK/
xcqt42IOCUiRkbEoxGxVmfP0UBHkiR1hZOB6zJzFeDTwJPAD4GbM3NF4ObyOcB2wIrlMhQ4vbOVGuhIklRR
EfVb2q8nFgQ+C5wFkJnvZeZEYDBwTrnZOcBO5ePBwLlZuBfoFxGLd+YcDXQkSaqoenZdRcTQiHiwZhlaU9W
ywKvAnyPinxFxZkTMByyamWPLbcYBi5aPBwEv1ew/qiybaQ5GliRJsywzhwHD2ljdB1gLODgz74uIk/
mom6pl/4yIrHe7zOhIklRRvaJ+ywyMAkZl5n3l88soAp+XW7qkyv9fKdePBpaq2X/
Jsmzmz7EzO0mSpJ6vq2ZdZeY44KWIWLks2gJ4AhgBDCnLhgBXlY9HAPuWs6/
WBybVdHHNFLuuJElSVzgYuCAi5gSeBfajSLhcEhH7Ay8Au5XbXgtsD4wEJpfbdoqBjjjqyCO44/bb6N9/
AFdcdU2b2z3270fZd689+OWJJ7HVNtvOUp2TJk7ksEO/x5jRo1li0CBO/
M3v6LvggvztmhH8+awzyIT55puPH//kp6y8yiqzVJfUnZ2071ps+X+L8dqb77L5sTd/bP0GKw3kz9/
cgJdeewuAa/85ht/
+7alZqnPOPr04Zb91+L+l+zHhrfc44Iz7GTV+MmsssxAn7r3mh9v95pqnuO6RMbNUl7q3rrzXVWY+AqzTyq
otWtk2gYPqUa9dV2LwTjtz+p/ObHeb999/n9+d9Gs22HCjmTr2A/ffx09+9MOPlQ8/cxjrrrcBV//
9BtZdbwPOOrMYvzZo0JIMP/t8Lr/yaoYecCDH/vQnM1Wf1NNc/
I8X2OuUe9rd5r5nXmOr429hq+NvmakgZ8kB83LZIZt8rHzPjZZh4lvvsdFPbuCMm0Zy5M6rAfD06DfY9ue3
stXxt7DXKffwq73WoHcVLp1bYVHHpbsy0BFrr/MZ+i64YLvbXHjBeWy51Tb07z9gmvKzh5/
Jl3f7Ert8cUdOO/
WUDtd5660384WdisslfGGnnbj1lpsAWGPNtT5sy+qrr8HLL4+bmVORepz7nhnPhMnvdWrfnddbir/
9cFNuPHJzfrnXmh2+nP82n16cS+99EYBrHh7NxqssDMDbU97n/Q+KSS9zzdGLuk9/
kWaDhgY6EbFSRNwcEY+Vz1ePiCMbWafq7+WXX+aWm29itz32nKb8nrvv4sUXXuCCiy/
jksuv4oknHuehBx/
o0DFfHz+ehRdeBICBAxfm9fHjP7bNX6+4jI03+eysn4DUw629XH9uPHJzzj94Q1ZafAEAVlhsAQavsySDf3
U7Wx1/C+9/kOy83tIdOt5i/eZmzOtvA/D+B8kbb0+h/
3xzArDmMgtx69FbcstRW3L4BY98GPioOfWKqNvSXTV6jM4ZwA+APwFk5qMR8Rfg+NY2Li8uNBTg1NP+xP5f
H9raZupiJ57wM757yKH06jVtXPyPe+7mH/
fcze5fKjIzkydP5oUXnmftdT7DXnvsypT33mPy5MlMmjSJ3XYeDMB3DjmUjTaeNpUerVxW8/777uWvV1zG2
ef9pYFnJnV//35xIuv+6Domv/s+m6+2KMMP3ICNj7qBTVZZmP9buh9//9FmAMw9R2/Gv/
kuAGcdsD5LD5yXOXr3YlD/ebnxyM0BOPOW/3LxPS+0W98/n5/
AZsfcxAqLLcDJX1mbWx8bx7tTP2jsSWq26b7hSf00OtCZNzPvj2m/xKa2tXHtxYbemWrWtLt4/
PHHOPzQQwCYMGECd955O7379CEz+erXh7Lrbnt8bJ8LLroUKMbojLjyrxz38xOmWd9/
wABeffUVFl54EV599RX69+//4br/PP0Uxxx9JH/44xn067dQA89M6v7+985HvzJveexlfrFn0H+
+OYmAS//xIr+48vGP7bP/H+8FijE6vxuyNrucdOc068dNfIcl+s/
D2Ilv07tX0HeeOXj9rWm7z0aOe5O33p3KyoP68ugLExtwZlLXaPQYndciYnkogpaI2AXo1Dx4zT5/v+EW/
n5jsWy19Tb8+Mij2XyLLdlwo4258orLmfxWMRvk5ZdfZnwrXVCt2XSzzRlx5ZUAjLjySjbbrBh0P3bMGA75
zsH87Be/Yplllm3MCUk9yMJ95/rw8RrLLESvXsHrb73HnU+9yufXGsSABYr1/
eadg0H95+nQMW94dCy7rl90c+2w1iDueupVAJYaMO+Hg48H9Z+HFRZbgFGvTa7n6ai7qcBo5EZndA6iyNCs
EhGjgeeAvRpcp2bS4YcewoMP3M/EiRPYavPPcuBBBzN1avFX5G6779nmfhtutDHPPftf9tmryOjMO++8/
PyEExkwYECb+7T46teG8oNDvsuVV1zG4ksswYm/+R0Af/rjH5g4aSI/
P+4YAHr36c2Fl1wxq6codVun7f8ZNlh5YfrPPycPnrAdv7n6Cfr0Lv4GPe+O59hhrUHs+7nlmPr+B7wz5QM
OPON+AJ4Z+ya/GvE4F31nIyKCqe9/wI8ufITR5dib9lx41/
Oc8tV1uPu4rZn41nsceGZxzHVXGMC3tl2Zqe9/wAcJP/rLIx/
L9Ki5zOhCf80giqnqDTp4xNqZ+VB5465emflmROyQmW1frKVk15U0eyx3kIGlNLuM+dPOXRp53PffSXX7rl
1v+QW7ZdTU6K6rMyJitcx8qwxy9gC8MIokSd1Ay1yQeizdVaO7rnYBLouILwObAPsCWze4TkmS1AHdOD6pm
4YGOpn5bJnFuRJ4Edg6M2fcgSxJklQHDQl0IuLfMM0Ym/
5Ab+C+iCAzV29EvZIkaSZUIKXTqIzODg06riRJqpMqzLpqSKCTmdNcejMiFgHmbkRdkiRJbWn0va6+EBHPU
Fw/
53bgeeDvjaxTkiR1TBVmXTV6evlxwPrAfzJzWWAL4N4G1ylJkjqgAhdGbnigMyUzxwO9IqJXZt4KrNPgOiV
JkoDGX0dnYkTMD9wBXBARrwBvNbhOSZLUEd05FVMnDcnoRMTS5cPBwGTge8B1wH+BHRtRpyRJmjlRx3/
dVaMyOlcCa2XmWxFxeWZ+CTinQXVJkiS1qlGBTm1ot1yD6pAkSbOgO8+WqpdGBTrZxmNJktRNVCDOaVig8+
mIeIPiNZynfEz5PDOzb4PqlSRJHVWBSKdRV0bu3YjjSpIkzYxGTy+XJEndVHeeLVUvBjqSJFVUFQYjN/
rKyJIkSbONGR1JkiqqAgkdAx1JkiqrApGOXVeSJKlpmdGRJKminHUlSZKalrOuJEmSejAzOpIkVVQFEjoGO
pIkVVYFIh27riRJUtMyoyNJUkVVYdaVGR1Jkioqon5Lx+qL3hHxz4i4pny+bETcFxEjI+LiiJizLJ+rfD6y
XL9MZ8/RQEeSJHWV7wBP1jz/
JfDbzFwBmADsX5bvD0woy39bbtcpBjqSJFVU1HGZYV0RSwKfB84snwewOXBZuck5wE7l48Hlc8r1W5TbzzQ
DHUmSqqqOkU5EDI2IB2uWodPV9jvgMOCD8vkAYGJmTi2fjwIGlY8HAS8BlOsnldvPNAcjS5KkWZaZw4Bhra
2LiB2AVzLzoYjYtCvbZaAjSVJFdeGsq42AL0TE9sDcQF/
gZKBfRPQpszZLAqPL7UcDSwGjIqIPsCAwvjMV23UlSVJFddWsq8w8IjOXzMxlgD2AWzJzL+BWYJdysyHAVe
XjEeVzyvW3ZGZ25hwNdCRJ0uxyOHBIRIykGINzVll+FjCgLD8E+GFnK7DrSpKkipodlwvMzNuA28rHzwLrt
rLNO8Cu9ajPQEeSpKpq/
gsj23UlSZKalxkdSZIqqgr3ujLQkSSpojp3reGexa4rSZLUtMzoSJJUURVI6BjoSJJUWRWIdOy6kiRJTcuM
jiRJFeWsK0mS1LScdSVJktSDmdGRJKmiKpDQMdCRJKmq7LqSJEnqwczoSJJUWc2f0jHQkSSpouy6kiRJ6sH
M6EiSVFEVSOgY6EiSVFV2XUmSJPVgZnQkSaoo73UlSZKaV/
PHOXZdSZKk5mVGR5KkiqpAQsdAR5KkqnLWlSRJUg9mRkeSpIpy1pUkSWpezR/
n2HUlSZKalxkdSZIqqgIJHQMdSZKqqgqzrgx0JEmqqCoMRnaMjiRJalpmdCRJqqgqdF2Z0ZEkSU3LQEeSJD
UtAx1Jkioqon5L+/XEUhFxa0Q8ERGPR8R3yvL+EXFjRDxT/
r9QWR4RcUpEjIyIRyNirc6eo4GOJEkVFXX8NwNTge9n5qrA+sBBEbEq8EPg5sxcEbi5fA6wHbBiuQwFTu/
sORroSJKkhsrMsZn5cPn4TeBJYBAwGDin3OwcYKfy8WDg3CzcC/
SLiMU7U7eBjiRJFVXPrquIGBoRD9YsQ1uvM5YB1gTuAxbNzLHlqnHAouXjQcBLNbuNKstmmtPLJUmqqHrOL
s/MYcCwduuLmB+4HPhuZr4RNYN7MjMjIuvYJMCMjiRJ6gIRMQdFkHNBZl5RFr/c0iVV/
v9KWT4aWKpm9yXLsplmoCNJUlVFHZf2qilSN2cBT2bmSTWrRgBDysdDgKtqyvctZ1+tD0yq6eKaKXZdSZJU
UV14r6uNgH2Af0fEI2XZj4ATgEsiYn/
gBWC3ct21wPbASGAysF9nKzbQkSRJDZWZd9F23meLVrZP4KB61G2gI0lSRVXhXlcGOpIkVVQF4hwHI0uSpO
ZlRkeSpKqqQErHQEeSpIrqwllXs41dV5IkqWmZ0ZEkqaKqMOsqiqnqUn1FxNDyvieSupCfPWladl2pUVq9a
62khvOzJ9Uw0JEkSU3LQEeSJDUtAx01imMEpNnDz55Uw8HIkiSpaZnRkSRJTctAR5IkNS0DHc2UiHg/
Ih6JiMci4uqI6NfJ43wlIk6td/
ukZlXz2WtZlmlju2Ui4rGubZ3UfRnoaGa9nZlrZOZqwOvAQbO7QVJFtHz2WpbnZ3eDpJ7AQEez4h/
AIICIWD4irouIhyLizohYpSzfMSLui4h/
RsRNEbHobG2x1CQiYv6IuDkiHo6If0fE4Fa2Wa787H2mrc+o1Oy815U6JSJ6A1sAZ5VFw4ADMvOZiFgPOA3
YHLgLWD8zMyK+BhwGfH92tFnq4eaJiEfKx88BuwJfzMw3ImIgcG9EjGjZOCJWBi4CvpKZ/
4qIm2n9Myo1NQMdzayWX7aDgCeBGyNifmBD4NL46A5xc5X/LwlcHBGLA3NS/
IKWNPPezsw1Wp5ExBzAzyPis8AHFJ/JlozpwsBVwM6Z+cQMPqNSUzPQ0cx6OzPXiIh5gespxuicDUys/
SVc4/
fASZk5IiI2BX7aVQ2VmtxeFAHN2pk5JSKeB+Yu100CXgQ2Bp6gGKbQ1mdUamqO0VGnZOZk4NsU3VCTgeciY
leAKHy63HRBYHT5eEiXN1RqXgsCr5RBzmbAJ2rWvQd8Edg3Ir6cmW/Q9mdUamoGOuq0zPwn8CiwJ8Vfl/
tHxL+Ax4GWgZE/pUiXPwS8NjvaKTWpC4B1IuLfwL7AU7UrM/
MtYAfgexHxBdr+jEpNzVtASJKkpmVGR5IkNS0DHUmS1LQMdCRJUtMy0JEkSU3LQEeSJDUtAx2pi013B/
hLy4svdvZYZ0fELuXjMyNi1Xa23TQiNuxEHc+XtxiYJfU6jiTNDAMdqevV3gH+PeCA2pUR0akrlmfm1zLzi
XY22ZTiNgCSVBkGOtLsdSewQpltubO8KeMTEdE7Ik6MiAci4tGI+AZ8eEXbUyPi6Yi4CVik5UARcVtErFM+
3ra8q/W/
yjtcL0MRUH2vzCZtEhELR8TlZR0PRMRG5b4DIuKGiHg8Is4EgulExAERcWLN869ExKnl4yvLO2Q/
HhFDW9l3mYh4rOb5oRHx0/
Jxq3fYjohdywzYvyLijll8zSVViPe6kmaTMnOzHXBdWbQWsFpmPlcGCJMy8zMRMRdwd0TcAKwJrAysSnEDx
yeA4dMdd2HgDOCz5bH6Z+brEfFH4H+Z+etyu78Av83MuyJiaYp7l30SOBq4KzOPjYjPA/
u30vzLgX8APyif7w78rHz81bK+eYAHIuLyzBzfwZdlGK3fYfsoYJvMHB0R/
Tp4LEky0JFmg5Y7wEOR0TmLokvp/sxsubv71sDqLeNvKO5rtCLwWeDCzHwfGBMRt7Ry/
PWBO1qOlZmvt9GOLYFVa+5m3be8y/
VngZ3Lff8WEROm3zEzX42IZyNifeAZYBXg7nL1tyPii+Xjpcp2zzDQmcEdtu8Gzo6IS4ArZnQsSWphoCN1v
benv4t0+cX+Vm0RcHBmXj/ddtvXsR29gPUz851W2tIRFwG7Udxj6a+ZmeUd6rcENsjMyRFxGx/
dUbvFVKbtNm9Z3+YdtjPzgDLD83ngoYhYeyayRJIqzDE6Uvd0PXBgRMwBEBErRcR8
wB3A7uUYnsWBzVrZ917gsxGxbLlv/
7L8TWCBmu1uAA5ueRIRLQHGHcCXy7LtgIXaaONfKW4MuSdF0ANF5mlCGeSsQpFdmt7LwCLlWKC5KG48SXt3
2I6I5TPzvsw8CniVIlMkSTNkoCN1T2dSjL95uBy4+yeKDOxfKbqKngDOpRgnM43MfBUYClxR3qn64nLV1cA
XWwYjA9+muPv1oxHxBB/N/jqGIlB6nKIL68XWGpiZE4AngU9k5v1l8XVAn4h4EjiBIuiafr8pwLHA/
cCNTHvX7bbusH1iRPy7fC3uAf7V+ssmSdPy7uWSJKlpmdGRJElNy0BHkiQ1LQMdSZLUtAx0JElS0zLQkSRJ
TctAR5IkNS0DHUmS1LT+Hy9k5iaSR6kGAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 720x504 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "sV9tNILK0iYy",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 230
},
"outputId": "d569a956-7c3f-4a70-86b0-472c5f3dfe95"
},
"source": [
"# Hyperparameter tuning the Logistic Regression Classifier\n",
"best_accuracy = 0.0\n",
"c_val = 0.0\n",
"for i in np.arange(0.1,1.1,0.1):\n",
" temp_classifier = LogisticRegression(C=i, random_state=0)\n",
" temp_classifier.fit(X_train, y_train)\n",
" temp_y_pred = temp_classifier.predict(X_test)\n",
" score = accuracy_score(y_test, temp_y_pred)\n",
" print(\"Accuracy score for C={} is: {}%\".format(round(i,1),
round(score*100,2)))\n",
" if score>best_accuracy:\n",
" best_accuracy = score\n",
" c_val = i\n",
"print('--------------------------------------------')\n",
"print('The best accuracy is {}% with C value as
{}'.format(round(best_accuracy*100, 2), round(c_val,1)))"
],
"execution_count": 37,
"outputs": [
{
"output_type": "stream",
"text": [
"Accuracy score for C=0.1 is: 92.02%\n",
"Accuracy score for C=0.2 is: 92.86%\n",
"Accuracy score for C=0.3 is: 93.22%\n",
"Accuracy score for C=0.4 is: 93.38%\n",
"Accuracy score for C=0.5 is: 93.49%\n",
"Accuracy score for C=0.6 is: 93.49%\n",
"Accuracy score for C=0.7 is: 93.55%\n",
"Accuracy score for C=0.8 is: 93.63%\n",
"Accuracy score for C=0.9 is: 93.57%\n",
"Accuracy score for C=1.0 is: 93.52%\n",
"--------------------------------------------\n",
"The best accuracy is 93.63% with C value as 0.8\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "34AeF4zH2ZQi",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 105
},
"outputId": "b7f5fc14-6bf0-4c1a-c990-179959b8f922"
},
"source": [
"classifier = LogisticRegression(C=0.8, random_state=0)\n",
"classifier.fit(X_train, y_train)"
],
"execution_count": 38,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"LogisticRegression(C=0.8, class_weight=None, dual=False,
fit_intercept=True,\n",
" intercept_scaling=1, l1_ratio=None,
max_iter=100,\n",
" multi_class='auto', n_jobs=None, penalty='l2',\
n",
" random_state=0, solver='lbfgs', tol=0.0001,
verbose=0,\n",
" warm_start=False)"
]
},
"metadata": {
"tags": []
},
"execution_count": 38
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EqUSsQDy2MqS",
"colab_type": "text"
},
"source": [
"# **Predictions**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "4iuCDYxQ2F0h",
"colab_type": "code",
"colab": {}
},
"source": [
"def fake_news(sample_news):\n",
" sample_news = re.sub(pattern='[^a-zA-Z]',repl=' ', string=sample_news)\
n",
" sample_news = sample_news.lower()\n",
" sample_news_words = sample_news.split()\n",
" sample_news_words = [word for word in sample_news_words if not word in
set(stopwords.words('english'))]\n",
" ps = PorterStemmer()\n",
" final_news = [ps.stem(word) for word in sample_news_words]\n",
" final_news = ' '.join(final_news)\n",
"\n",
" temp = cv.transform([final_news]).toarray()\n",
" return classifier.predict(temp)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NZwm4e0X25Ja",
"colab_type": "code",
"colab": {}
},
"source": [
"# Importing test dataset\n",
"df_test = pd.read_csv('/content/drive/My Drive/Colab
Notebooks/Datasets/kaggle_fake_test.csv')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "focnmTb-3KSr",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "6ae8e31d-0c86-4107-814c-e72ccfea7d11"
},
"source": [
"df_test.columns"
],
"execution_count": 41,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['id', 'title', 'author', 'text'], dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "inCkSjmF3GWL",
"colab_type": "code",
"colab": {}
},
"source": [
"news_title = df_test['title']"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Lxc4I_If3jlF",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "948c731e-3ee1-4dae-e526-1ae189737912"
},
"source": [
"news_title.shape"
],
"execution_count": 43,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(5200,)"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BvBLbvLJ3_yd",
"colab_type": "code",
"colab": {}
},
"source": [
"# For generating random integer\n",
"from random import randint"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "YdCPc3sY22XK",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "8f3a4977-4b79-41e9-8daa-d80dd6075d31"
},
"source": [
"# Predicting values\n",
"row = randint(0,news_title.shape[0]-1)\n",
"sample_news = news_title[row]\n",
"\n",
"print('News: {}'.format(sample_news))\n",
"if fake_news(sample_news):\n",
" print('Prediction: This is a FAKE news!')\n",
"else:\n",
" print('Prediction: This is a REAL news.')"
],
"execution_count": 45,
"outputs": [
{
"output_type": "stream",
"text": [
"News: Chart Of The Day: The Great Prosperity (1947-79) Vs. The Great
Regression (1980-2016)\n",
"Prediction: This is a FAKE news!\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Z00F_IgF5Ieg",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "98a4ae18-5217-49e0-88f2-5a4bd844210e"
},
"source": [
"# Predicting values\n",
"row = randint(0,news_title.shape[0]-1)\n",
"sample_news = news_title[row]\n",
"\n",
"print('News: {}'.format(sample_news))\n",
"if fake_news(sample_news):\n",
" print('Prediction: This is a FAKE news!')\n",
"else:\n",
" print('Prediction: This is a REAL news.')"
],
"execution_count": 46,
"outputs": [
{
"output_type": "stream",
"text": [
"News: Tim Tebow Will Attempt Another Comeback, This Time in Baseball -
The New York Times\n",
"Prediction: This is a REAL news.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "H5yVYNlh44WV",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "e589517b-8618-4b50-d18d-54b8ad8688ed"
},
"source": [
"# Predicting values\n",
"row = randint(0,news_title.shape[0]-1)\n",
"sample_news = news_title[row]\n",
"\n",
"print('News: {}'.format(sample_news))\n",
"if fake_news(sample_news):\n",
" print('Prediction: This is a FAKE news!')\n",
"else:\n",
" print('Prediction: This is a REAL news.')"
],
"execution_count": 47,
"outputs": [
{
"output_type": "stream",
"text": [
"News: Syria, Russia, Mosul: Your Friday Evening Briefing - The New
York Times\n",
"Prediction: This is a REAL news.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "gp4_uen27JS9",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "5727c3bc-5b30-4242-bb17-82a07ca13f07"
},
"source": [
"# Predicting values\n",
"row = randint(0,news_title.shape[0]-1)\n",
"sample_news = news_title[row]\n",
"\n",
"print('News: {}'.format(sample_news))\n",
"if fake_news(sample_news):\n",
" print('Prediction: This is a FAKE news!')\n",
"else:\n",
" print('Prediction: This is a REAL news.')"
],
"execution_count": 48,
"outputs": [
{
"output_type": "stream",
"text": [
"News: Clinton's Blitzkrieg Campaign: the Savage Politics of the
Oligarchs\n",
"Prediction: This is a FAKE news!\n"
],
"name": "stdout"
}
]
}
]
}

You might also like