Fake News Classifier - Ipynb 2
Fake News Classifier - Ipynb 2
"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"
}
]
}
]
}