{"id":7484,"date":"2020-02-04T19:39:25","date_gmt":"2020-02-04T18:39:25","guid":{"rendered":"https:\/\/exmachina.ch\/?p=7484"},"modified":"2023-06-28T19:17:41","modified_gmt":"2023-06-28T18:17:41","slug":"how-ai-can-support-business-intelligence-fraud-detection-example","status":"publish","type":"post","link":"https:\/\/exmachina.ch\/en\/tech\/how-ai-can-support-business-intelligence-fraud-detection-example\/","title":{"rendered":"How AI Can Support Business Intelligence"},"content":{"rendered":"<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Introduction\">Introduction<\/h3>\n<p>Nowadays, AI is rapidly transforming different industries thanks to high data volumes, new advanced algorithms, large data storages, and cloud computing. Business Intelligence is not an exception in this case. BI is one of the top industries where injection an AI solution to a problem can bring immense impact. Small to large companies are using this technology to improve efficiency of business processes and their customer&#8217;s experience. AI-powered BI solutions can pull the insights from large datasets, build recommendations based on this data and therefore shape the Business Intelligence decision-making.<\/p>\n<p>For example, recommender systems can suggest a better product to a customer based on his preferences, regression models can predict prices that will find a trade-off between business profit and customer&#8217;s paying ability. In this article, we will explore a real-life classification problem of fraud detection.<\/p>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Loading-the-dataset\">Loading the dataset<\/h3>\n<p>For this article we will use <a href=\"https:\/\/www.kaggle.com\/mlg-ulb\/creditcardfraud\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Credit Card Fraud Detection Dataset<\/a>.<\/p>\n<p>The goal of this dataset is to predict whether the credit card transaction is fraud. It is important for companies to detect and reject those transactions in real-time. At first, let&#8217;s import some libraries that we will be using and load the dataset.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[1]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"kn\">import<\/span> <span class=\"nn\">numpy<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">np<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">scipy<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">sp<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">pandas<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">pd<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">matplotlib<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">mpl<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">matplotlib.pyplot<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">plt<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">seaborn<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">sns<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.manifold<\/span> <span class=\"k\">import<\/span> <span class=\"n\">TSNE<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.preprocessing<\/span> <span class=\"k\">import<\/span> <span class=\"n\">StandardScaler<\/span>\r\n\r\n<span class=\"c1\"># Plotting options<\/span>\r\n<span class=\"o\">%<\/span><span class=\"k\">matplotlib<\/span> inline\r\n<span class=\"n\">sns<\/span><span class=\"o\">.<\/span><span class=\"n\">set<\/span><span class=\"p\">(<\/span><span class=\"n\">style<\/span><span class=\"o\">=<\/span><span class=\"s1\">'whitegrid'<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"n\">transactions<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pd<\/span><span class=\"o\">.<\/span><span class=\"n\">read_csv<\/span><span class=\"p\">(<\/span><span class=\"s1\">'..\/input\/creditcard.csv'<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>As you can see below, there are only numerical features in the dataset:<\/p>\n<ul>\n<li><em>Time<\/em> is describing the number of seconds since the first transaction in the dataset<\/li>\n<li><em>Amount<\/em> &#8211; the amount of money transferred<\/li>\n<li><em>Class<\/em> &#8211; that&#8217;s our label, &#8216;1&#8217; for fraud transaction other features, &#8216;0&#8217; for normal<\/li>\n<li><em>V_**<\/em> &#8211; those are our main features. They are coded with PCA in order to anonymize sensitive and private data of credit card owners<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[2]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">head<\/span><span class=\"p\">()<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt output_prompt\">Out[2]:<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><a href=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-7489\" src=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM.png\" alt=\"\" width=\"1990\" height=\"326\" title=\"\" srcset=\"https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM.png 1990w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-300x49.png 300w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-1024x168.png 1024w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-768x126.png 768w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-1536x252.png 1536w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-830x136.png 830w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-230x38.png 230w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-350x57.png 350w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.16-PM-480x79.png 480w\" sizes=\"(max-width: 1990px) 100vw, 1990px\" \/><\/a><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><a href=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-7491\" src=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM.png\" alt=\"\" width=\"2000\" height=\"326\" title=\"\" srcset=\"https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM.png 2000w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-300x49.png 300w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-1024x167.png 1024w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-768x125.png 768w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-1536x250.png 1536w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-830x135.png 830w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-230x37.png 230w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-350x57.png 350w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.00.41-PM-480x78.png 480w\" sizes=\"(max-width: 2000px) 100vw, 2000px\" \/><\/a><\/p>\n<p>Let&#8217;s check if there are some Null entries in the dataset.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[3]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">isnull<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">any<\/span><span class=\"p\">()<\/span><span class=\"o\">.<\/span><span class=\"n\">any<\/span><span class=\"p\">()<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt output_prompt\">Out[3]:<\/div>\n<div class=\"output_text output_subarea output_execute_result\">\n<pre>False<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>We can see that all dataset is clean and almost ready to be trained with our model.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Exploratory-data-analysis\">Exploratory data analysis<\/h3>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>For now, let&#8217;s explore and visualize dataset a little. At first, we will answer the question, what is the distribution of <em>Class<\/em> label?<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[4]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">count_classes<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pd<\/span><span class=\"o\">.<\/span><span class=\"n\">value_counts<\/span><span class=\"p\">(<\/span><span class=\"n\">transactions<\/span><span class=\"p\">[<\/span><span class=\"s1\">'Class'<\/span><span class=\"p\">],<\/span> <span class=\"n\">sort<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">True<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">sort_index<\/span><span class=\"p\">()<\/span>\r\n\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"There are\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">count_classes<\/span><span class=\"o\">.<\/span><span class=\"n\">loc<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">],<\/span> <span class=\"s2\">\"entries of type '0' in the dataset\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"There are\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">count_classes<\/span><span class=\"o\">.<\/span><span class=\"n\">loc<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">],<\/span> <span class=\"s2\">\"entries of type '1' in the dataset\"<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt\"><\/div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>There are 284315 entries of type '0' in the dataset\r\nThere are 492 entries of type '1' in the dataset\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>So, the dataset is clearly unbalanced. To get a better understanding of the data, we will do some visualizations. Let&#8217;s plot our features and see if it is even possible to classify those fraud transactions. In order to visualize multidimensional features, we will use the t-SNE algorithm implemented in Scikit-learn library. That will help us to visualize our dataset in 2-dimensional space. Let&#8217;s create a new dataframe that consists of all fraudulent transactions and 10000 normal ones. We suppose that amount will be enough to get some understanding of our features.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[5]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">df2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">transactions<\/span><span class=\"p\">[<\/span><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">Class<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">1<\/span><span class=\"p\">]<\/span>\r\n<span class=\"n\">df2<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pd<\/span><span class=\"o\">.<\/span><span class=\"n\">concat<\/span><span class=\"p\">([<\/span><span class=\"n\">df2<\/span><span class=\"p\">,<\/span> <span class=\"n\">transactions<\/span><span class=\"p\">[<\/span><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">Class<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">sample<\/span><span class=\"p\">(<\/span><span class=\"n\">n<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10000<\/span><span class=\"p\">)],<\/span> <span class=\"n\">axis<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Then, we will scale our features. That will help the t-SNE algorithm to get a better understanding of a data and will improve its training speed.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[6]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">standard_scaler<\/span> <span class=\"o\">=<\/span> <span class=\"n\">StandardScaler<\/span><span class=\"p\">()<\/span>\r\n<span class=\"n\">df2_std<\/span> <span class=\"o\">=<\/span> <span class=\"n\">standard_scaler<\/span><span class=\"o\">.<\/span><span class=\"n\">fit_transform<\/span><span class=\"p\">(<\/span><span class=\"n\">df2<\/span><span class=\"o\">.<\/span><span class=\"n\">astype<\/span><span class=\"p\">(<\/span><span class=\"nb\">float<\/span><span class=\"p\">))<\/span>\r\n\r\n<span class=\"c1\"># Set y equal to the target values<\/span>\r\n<span class=\"n\">y<\/span> <span class=\"o\">=<\/span> <span class=\"n\">df2<\/span><span class=\"o\">.<\/span><span class=\"n\">iloc<\/span><span class=\"p\">[:,<\/span><span class=\"o\">-<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">values<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>After preprocessing for visualization, we will train out the t-SNE algorithm and finally plot our features in 2-dimensional space.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[7]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">tsne<\/span> <span class=\"o\">=<\/span> <span class=\"n\">TSNE<\/span><span class=\"p\">(<\/span><span class=\"n\">n_components<\/span><span class=\"o\">=<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"n\">random_state<\/span><span class=\"o\">=<\/span><span class=\"mi\">0<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">x_test_2d<\/span> <span class=\"o\">=<\/span> <span class=\"n\">tsne<\/span><span class=\"o\">.<\/span><span class=\"n\">fit_transform<\/span><span class=\"p\">(<\/span><span class=\"n\">df2_std<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[8]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">color_map<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><span class=\"mi\">0<\/span><span class=\"p\">:<\/span><span class=\"s1\">'red'<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">:<\/span><span class=\"s1\">'blue'<\/span><span class=\"p\">}<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">figure<\/span><span class=\"p\">()<\/span>\r\n<span class=\"k\">for<\/span> <span class=\"n\">idx<\/span><span class=\"p\">,<\/span> <span class=\"n\">cl<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">enumerate<\/span><span class=\"p\">(<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">unique<\/span><span class=\"p\">(<\/span><span class=\"n\">y<\/span><span class=\"p\">)):<\/span>\r\n    <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">scatter<\/span><span class=\"p\">(<\/span><span class=\"n\">x<\/span> <span class=\"o\">=<\/span> <span class=\"n\">x_test_2d<\/span><span class=\"p\">[<\/span><span class=\"n\">y<\/span><span class=\"o\">==<\/span><span class=\"n\">cl<\/span><span class=\"p\">,<\/span><span class=\"mi\">0<\/span><span class=\"p\">],<\/span> \r\n                <span class=\"n\">y<\/span> <span class=\"o\">=<\/span> <span class=\"n\">x_test_2d<\/span><span class=\"p\">[<\/span><span class=\"n\">y<\/span><span class=\"o\">==<\/span><span class=\"n\">cl<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">],<\/span> \r\n                <span class=\"n\">c<\/span> <span class=\"o\">=<\/span> <span class=\"n\">color_map<\/span><span class=\"p\">[<\/span><span class=\"n\">idx<\/span><span class=\"p\">],<\/span> \r\n                <span class=\"n\">label<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cl<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">xlabel<\/span><span class=\"p\">(<\/span><span class=\"s1\">'X in t-SNE'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">ylabel<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Y in t-SNE'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">legend<\/span><span class=\"p\">(<\/span><span class=\"n\">loc<\/span><span class=\"o\">=<\/span><span class=\"s1\">'upper left'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">title<\/span><span class=\"p\">(<\/span><span class=\"s1\">'t-SNE visualization of test data'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">show<\/span><span class=\"p\">()<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt\"><\/div>\n<div class=\"output_png output_subarea \"><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaAAAAEcCAYAAACBPmBXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+\/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJztvX18HNV18P\/dlSzZsjA2cjCxwTKE6gSbhhQDSRvyKv9KSWl\/aUtIyNq8pTWW0pQ0pW0aGQohJiRpk7gNsnEIr9qmfSBt2pCY9LGbN2hTatEk2E4uIbFlMGBiYWP8JtnSPH\/cGe\/samZ3dnfeVrrfz2c+0s7LnbMzs\/fMPefcczKWZWEwGAwGQ9xkkxbAYDAYDFMTo4AMBoPBkAhGARkMBoMhEYwCMhgMBkMiGAVkMBgMhkQwCshgMBgMiWAUkGHSIiLbROQdEZ\/DEpGz7f\/Xi8hNEZxjo4hcHXa7Ac77SRHZKyIvxn3uSojIThFZlrQchvpoTloAQ+MgIjuBP1RKbSqzzxLg88AF6BecnwM3KaW+aSuDbwPrlFK9rmMeA+5WSt0nItcAXwaOlDTdpZR6vhp5lVJLqtm\/XpRSq+ptQ0RuAc5WSi13tXtpve3WIMdC4M+ATqXUSx7b3wEMKKVOD+Fc37Hburvetnzat4BfUUo9E0X7htoxCsgQNl8H1gGX2Z8vBDKu7YeAFSLyGaXUTp82\/kspdXF0IhoCsBAY9lI+BkNYGAVkCISIPIjulL4uImPAJ5RSnynZZy5wJvAlpdSovfrxkqb2A\/8C\/DVwbZ0yrQMOKaVudK37V+C7SqnPuUdsInIR0A90oUdXeaXUR73e5D2OWwucYx\/3VeCjru\/nluc+4Dml1GoR+TrwTtfmNuA6e5S3Fvh94GTgZ8BHlFLfF5HfAj4OZETkPcDPlVLnuUcIIpK19\/kjYAbwKPBhpdQrIrII2AFcA9xmn\/PzSqk1PtfvZODvgUuBw8CXgNuBd6FfJFpF5CDwsFLqGtdxM4GNru3Y1\/VF4C9s2WYDm4FVSqmXRWQ6cLd9rib7e18G\/AnwVuDNIvIF4D6l1B97yLoC+CTQDnyuZJvvPRKR79m7\/cgeCX0Q+HfgQeBN6D7wcVvO57yukyE6jA\/IEAil1ApgF\/A7Sqn2UuVjMww8AwyIyHtEZJ5Pc2uAPxARqVOsrwDvE5EMgIjMAX4T+EePfdcCa5VSs4DXAf8n4DnGgD8F5gK\/DnQDvWWPAJRSznVqB96L7pw325v\/B3gjcArwD8BDIjJdKfUoWgH8k33seR5NX2Mv7wTOQnfIXyzZ52JAbFlvFpFzfMT8e7QSPAt4O3AVcK1tYr0UeN6W45qS73aoZHu7bR79MPAeu635wD7gTvuwq+1znQF0AKuAI0qpPuD7wB\/b7Xgpn8XoUfUKu90OwG36871HSqm32fucZ7f\/T+h+716gE\/1SdcTjGhpiwIyADKGhlLJE5J3Ax4C\/Bc60\/TsfVEr9zLXfiyKyHvgE8D6Ppt4sIvtdn4eVUq\/z2O\/7gIV+g\/4ecDnafOflKzoGnC0ic5VSe4EfBPxOg66PO0XkLnQH+4Ugx4tIF3A\/8PtKqWftNgdcu\/ytiKxGK4wfBWgyB3xOKfULu\/2\/AraKiHs0eatS6gj6rf9HwHnAT0rkagLeD7xRKfUq8KqI\/C26k\/9ykO\/mwSq0InnOPsctwC579HIMrTjOVkr9GBj0bWUilwOPKKW+Z7d7E3BCUVV7j5RSw+hREnZ7a9C+SUPMGAVkqBlbiTjO8tuVUrfbnc8f29vPADYAD6DfTN18Gvi5iHi95f8giA\/IVnj\/CFyJVkAfAAZ8dv8gWuH9VER2oDvpRyqdw1Ygn0MHVbShfzOBOk\/bxPWvwGql1GOu9Tfa8sxHK9BZ6Lf3IMwHhlyfh2yZ3KNNd9TaYfQoqZS5wDSPthYElMOLTuBfRGTctW7Mlu1B9OjnH0VkNvo+9SmljgVodz7wrPNBKXVIRIadz9XeIxFpQwfK\/BYwx159kog0KaXGAshjCAljgjNUQ1HqdKXUKpcJ5vbSne03\/juBcz22DaPfUG+rU6avAJeLSCfapv9Vr52UUj9TSl0JnIpWfg\/bvoxD6E4LODEyeI3r0HXAT9FRVLOwfTSVhLJ9Nf8AfFsptcG1\/q1oP8kVwByl1GzgFVebldLTP4\/u6B0WAseBPZVkKmEvelRS2tbugMd7yfkscKlSarZrma6U2q2UOqaUulUptRj4DbT\/56oybbl5Aa28gBMKpMO1vdp79GfoEeeb7P0dM13F+2oIF6OADNWwB+0v8ERE5ojIrSJytohk7aCE6\/A3d30O3Rn5+SgqopT6X3RnejfwLaXUfq\/9RGS5iLxGKTWODoQAGAeeBqaLyG+LyDRgNdDqOvQk4ABwUEReD\/QEFG0NMBO4oWT9SWiF8UugWURuRo+AHPYAi2wF5sVXgD8VkTNFpJ2Cz+h4QLkAsN\/0\/w+wRkROshX4R\/EfQZayB+iwR3kO6+32OgFE5DUi8v\/b\/79TRH7VVvAH0Mpv3NWW73MFPAxcJiIXi0gLeiTrvj6V7lFp+yeh\/T77ReQUdECMIQGMAjJUw6eA1SKy3zYjlTIKLAI2oTuErcAI2mk+AaXUAeAzaGe8m18XkYMly4Vl5PoHYJn914\/fArbZUVtrgfcrpY4opV5BO6zvRr\/9HwLc0VA3ok17r6KjxP6pzDncXAm8Gdjn+g454FvoyLWn0Savo7jMS8BD9t9hEXnSo9170Oas76Ej3o6inf+18GH09\/0F8Bj6+t0T5ECl1E\/RyvAX9vMwH31d\/w34dxF5Ff3i8Sb7kNPQiuQA2h\/1Xft7YB93uYjsE5G\/8zjXNuBDtnwvoIMbqrlHtwD323JegR55z0C\/uPwAfT8MCZAxBekMBoPBkARmBGQwGAyGRDAKyGAwGAyJYBSQwWAwGBLBKCCDwWAwJMKUnog6ODjYik6W+QJ6wpzBYDAYKtMEvBb4n6VLl47U2siUVkBo5fP9pIUwGAyGBuWt6BD+mpjqCugFgK6uLlpaWgIdsHXrVs49d8LE\/lSRdhmNfPWTdhmNfPWTZhlHR0d5+umnwe5Da2WqK6AxgJaWFlpbWyvte4Jq9k2KtMto5KuftMto5KufBpCxLteFCUIwGAwGQyIYBWQwGAyGRJjqJjhfDhw4wEsvvcSxY8XZ4pubm\/nJT37ic1SyzJw5k9NPP73yjgaDwZACjALy4MCBA+zZs4cFCxYwY8YMMplClvZDhw4xc+bMBKXzZnx8nN27d7N3796kRTEYDIZAGBOcBy+99BILFiygra2tSPmkmWw2y7x583jllVeSFsUwVentheZmyGQ4\/6KL9GeDoQxGAXlw7NgxZsyYkbQYVTNt2jSOH6+qLIxhspLPw6JFkM3qv\/l8tOfr7YV162BMB0Vlxsf152XL4pXD0FAYE5wPjTLycdOIMhtCYskS2L7de9vQEKxcqf\/P5aI5\/4YN3us3by6W47rropXD0FCYEVCDsGPHDt73vvdxySWX8L73vY+dO3cmLZIhQc654grIZAqLn\/JxOHwYli8PZwTiNboaCzgdZHRUy5HJ6NGRYUpjFFCD8Nd\/\/dd84AMf4Fvf+hYf+MAHuPnmm5MWyRAXy5YVK5tMhhm\/+EVtbdWrhJYs0W0MDYFl6b\/XXqvlqpbNm3V7himLUUBhEpHdfXh4mO3bt3PZZZcBcNlll7F9+3ZefvnlUNo3pJhly4rNWDZ1GVv7+mo7zs\/Md+wYBExlNYHt241faApjFFBY5PPazu5+M1y5MpQf1wsvvMC8efNoamoCoKmpiVNPPZUXXqgrDZOhEfBQPnWza1f1x+Tz5c18IzUnRK5dIRoaHqOAwqKvT9vZ3Rw+bH5chvSxcGH1x9xwQ\/hyOAwNRde2IdUYBRQWfm+VtbxtlvDa176WPXv2MGY7esfGxnjppZd47WtfW3fbhinI0JCer1PN6Hx4ODp5wAQkTFGMAgoLv7fKWt42S+jo6OCcc87hkUceAeCRRx7hnHPO4ZRTTqm7bUOMLFlSHEwQxAHf3R2NLGNjhWg0Z2lvT84fs3mz8QVNQYwCCos1a6CtrXhdW5teHwK33HILAwMDXHLJJQwMDHDrrbeG0q4hJrwc+Nu3V1ZCmzZFp4RKOXQIrr7aWxF0dER\/fr9zGyYtRgGFRS6nJ+N1duq3yc5O\/TmkCXeve93reOihh\/jWt77FQw89xFlnnRVKu4aY8HPgV5q\/A1oJ2QEokTM25u23XLtWm+2iPrczKjNpfKYERgGFSS4HO3fC+Lj+a2Z7G8LCyWQQB15+y1wO7rsvnpEQ6DQ+Zo7QpMcoIIOhEejvh8WL4zlXqd\/Smd+2fHn0wQhutm83I6FJTkPkghORRcDXXKtmA7OUUqeIyE7gqL0A\/KVS6luxCmgwVGLxYm9zWzVKZdu22jIOVMu7313435nfVjrFIC7WrYOnn9ZmSMOkoyEUkFJqJ\/BG57OIfIFi2S9XSm2NWy6DITDbtk0MRFi8WK9PG\/fco0dc4D2\/LW42b9Zh2kYJTToaQgG5EZEWIAdckrQsBkNVhKFsmpqCJ\/6slZERnU5q1apQ5rGFQhQZIQyJk7EsK2kZqkJELgdWK6XeaH\/eCbyCTo\/1GPBxpdT+IG0NDg4uAnaUrm9ububss88OSeJ4eeaZZ0xNoEnC6Xfcwalf\/apO7QSMTZ\/OoTe8gVlPPFGUC86iztxwPlj2OZuPHq24b9RYwJNbtiQthmEiZy5dunRnrQc33AgIuA64x\/X5rUqpZ0WkFfgC8EVgeTUNnnvuubS2tp74\/JOf\/MS37HZaS3I7tLS0cPz4cZYuXZq0KL4MDg6mTz5X0k8LyHR3J2vy8Zg31Hz0KCc\/8QR0d2N9+9u66FtTE5mTToL9gd65qiJjn5O2tsTNcBkI9ZlJ5TNYQpplHBkZYevW+r0eDRUFJyILgLcDJ2arKaWetf+OAP3AW5KRLlo+\/elP8653vQsR4emnn05anMlFScbpDBT8DnGRz8P06cHq+\/zHf\/DkE0\/okdHx47BvX7QRcs78NoMhZBpKAQFXA99QSg0DiMhMETnZ\/j8DvB\/4YVLCRVkFubu7m3w+z4IFC8JrdKrR2zuhrg6trf7+haj8DqUPyoIFOsQ5aEZpL7P5tm16\/cBAmJJq7r23\/oShtZZrcIhrIq4hVhpNAV1DsfltHvAdEfkxsBXoAhKZOBBhNQYALrjgApN8tB56e3VIbymjo+WPmzFjotKqJ2ea14Py\/PO1teXFvfeG15ZDDYq4SEV2durIup6e2mWIcyKuITYaSgEppbqUUo+6Pv9CKfVrSqk3KKWWKKXeq5RKpEiOqcaQcjZsqO04Lwf8oUN6xDJ3bnBF1NurU9ksXx6dP8WneF0SnAiK6OkpZAXp7y+f166nRyvlnp7CiKepSX92wsINk4qGUkBpJsJqDIYwiCJ0eXg42DDXGX2FKMP5F1xQGJGddJI256VE+RSxfn3x502bvBWMZRWUTH+\/9m05Pi6jfCYtRgGFRITVGAy14ow6oswecPgwXH994Tyly4IF3qa\/Oin6RgcPevuF0oBlFd8HJ6GpUTAGjAIKjYirMRiqJYJRhy+HDvmfJ0z\/TqPivg9jY\/pzaY43JzAjTH+bIfUYBRQSEVdj4JOf\/CRve9vbePHFF7n22mv57d\/+7XAanqzU6vMxxMOGDVqxzJ2rfzDLl3tH2jn+NqOEJiWNOBE1teRy0VVgWL16NatXr46m8clIHCOfsJk9O5IJpalkbAyuu65yFKLDDTeY8iaTEDMCMkxO4pg30tmpnf9h8cor4bXVCARVPhBvGQhDbBgFZJicRD1vZP58HV58\/fXhtZnWQAKDISKMAvKh0ZK0QmPKHBn9\/fVNfKyEE1zQ3w8pzg04aYirEqshVowC8mDatGkcOXIkaTGq5tixYzQ3G7feCaLOmefkWzp0KNrzTHUyGVi7NmkpDBFgFJAHp556Krt37+bw4cMNM6oYHx9nz549nHzyyUmLkh6inpjp5FsyRItlweOPJy2FIQLM67IHs2bNAuD555\/n2LFjRdtGR0dpqTexYkTMnDmTuXPn8uyzzyYtSvjk8zqv0a5denbvmjXpiIpKulroVMGZzGsmrU4qjALyYdasWScUkZvBwUHOO++8BCSawuTzcPXVhdDqoSH9GfyVUCPOG8lkTCBCOTZsMApokmFMcIb04kxUXL584ryesTG93j1r3p0ctBGzwFqWDu0OUHtnSqqpRpzbZSiLGQEZ0kk+D9deCyUm0LIMD+vJjdC4WWB37YIHH9TKtQwVy3A3N+s8a5MJUxNo0mFGQIZ0csMN1Skfh9FRPfpp1CywllVe+fT0QGdn5R\/uZFM+YAI+JiFGARnSgbtK6Ny59c1837XLOztsI+Oui9Ooo7t6MDWBJiXGBGdIHqdKqBNRVm\/alZkzi4MWGp2mJrj\/\/kLAxcKF9ZfIbhRMUMakpmEUkIjsBI7aC8BfKqW+JSJvBu4CZgA7geVKqZeSkNFQJfm8NrWFnefr4MFw20saJ+DiqqtgfBw6Oir7gCYrvb06Gm5sTCvmlSvNyKiBaRgFZHO5Umqr80FEssAAcI1S6jERWQ3cAVyXlICGgOTz1WVDTppsVnf+SeKcf3gYK5MhM9VGB06NJwenthAYJdSgNLoPaClwVCn1mP15PXBFgvIYgtLX1zjKB5JXPiVkLWvy56ArTSvlV+PJ1H5qWBpNAeVF5Mci0i8is4GFwAljuFJqL5AVkVMSk9AQjKniw4iSyZ6D7r77ij\/7+fQmi69vCtJIJri3KqWeFZFW4AvAF4F\/CaPhrVu3Vt7JxeDgYBinjZS0yDhn40YW3HknLXv2MDpvHrs\/9CG49FKsbJZMykYVlUij3yWNMtWDBYyedhq7P\/Qh9r3+9Zz+3vdy6j\/\/84kRqNd3tbJZnqzheU\/Lb6QcjSBjPTSMAlJKPWv\/HRGRfuDfgLXAiWnjIjIXGFdKvVxN2+eeey6tra2B9h0cHGTp0qXVNB87qZExn4ebbz4RydT64oucddNN7PnRjxpO+UA6O\/o0ylQPmfZ2Wl94gbNA+3wefrjyMddfX\/XznprfSBnSLOPIyEjVL+5eNIQJTkRmisjJ9v8Z4P3AD4FBYIaIXGzvugp4KBkpDRO4+mrPMNpTH37Y1HcJk7gyBIRZ\/dUPt1mxkm\/HPTfK0JA0yghoHvBVEWkCmoDtQK9SalxEVgB3ich07DDs5MQ0FOFjm59sb+2JE4cPpKNDlwyPeuTqzmBR7nt1dMDevdHKYoichlBASqlfAL\/ms+0\/gV+NVyJD3bz8su5Ewp4DZAgfZ4QVdXqftjadwcJ9Xj8lZJ6bSUFDmOAMk5CFC3WVy2nTkpbEUImxsWg7\/ExGZwDfsKG4vEbSud96e7XZ0Z1xvbc3WZkmGUYBGaJj\/nzP1RYUCsrde2+xP6ijw\/iHphI9Pdqst3PnxNpO\/f0wfbr3cWE9I0uWFCsYt8JZt26iD3PdOj0ycx8zmXIOxoxRQIbo2L17ohJqamLHbbcVOptcTtvyLUsve\/dq85xhcpPJBAsguPtuKK1A3NKiR891MGfjRj3Rdfv24g1BskuU+sGOHDFKqEaMAjJEy+7dBeUyMACnn86ZN9+sM1\/7VS1t1FIKk5WwMi44z4Fl6U68v784C7rfM3HSSYX\/OzrgnnvqK8eez7Po1lvDDd44ciS8tqYQRgEZ4qG3F1asgKEhncNsaEjb+PN5va25Wb8VNzfD2WcnLa3BTRgZF7xCxfP5E88EzjOxfHnBz+JkSXf7n8Lo6G+4gWwUARWOSa652fiKAtIQUXCGBmXZMti82X\/74cNw\/fXFHdzYWPljDI1JqRkN4IMf9DZ5rVtX8LWUjlIOH9Z5BOsZAUUdQWeSpAbGjIAM4ZLP64JymUwwRTLZ85kZNEeOTBwZjIyUP8bPRNYoBfnWrTMjogoYBWSon3y+YEJbvjz8N8yennDbMySDMzJYsKC+dk6pM9dw3FGWzvc2SmgCRgEZ6iOf10onytn4\/f06gCGmlDNTrMpOeATt2J9\/Xptna2V42D+ApRzLlumXpOHhZO6xKRsxAaOADPVx\/fXxnCeX02Wpo6yBYys5kyqoRvbuhdmzg+1br5\/vqquqU0Il\/shE7vHYWH2KdxJiFJChdvL56H043d2F\/x9\/HI4e9d+3XnI5U1umVpzR6b59MH9+9COM8XEdjBCUtAS2bN5sMiq4MArIUBtOCG2YuJWN83nTJv2\/U47ZKIh04k6bc8458ZyzUYIRvDA+IcAoIIMXQXJg9fUFmzVeDZs2FU9WdJQPwF13VT6+vb32gIWWlnjKDUw2nJIIb3lLIRBl8+Z4TFxBJiw7E13TSFg+oSCTeVOK+cVNJYI8qHPm+OfAciukKEpql05I7e0tyFypDEBzM6xfrwMWenqqD1gYHQ1foU52mpp0huy3vCX6QBQv3JmzvXAmsqa1\/HsY16u3V19792TeFSsaRwlZljVlly1btizasmWLdfToUSsoW7ZsCbxvUnjKODBgWW1t7vGFXubPt6zp0yeub7Rl\/vyJ37mzM3m5JvuS5HWuRNrvf1NT9b\/j0t+0X9stLZWvTx0cPXrU2rJli7Vly5ZFllV7H2xGQJOVfF6bpJwRy\/LlehZ5Kc8\/H61jPy6ef37iW19a33wnC52d+m9afTFplcuh2nITpRaCchGoo6P1yRYTRgFNQuZs3KjLYU+1LANOVJTjwzJEi2MCSyJ5bCaAlynNSW1nzgyWpsetdNxBOGNjk+L3bX6lk43eXs686aapGS22a1chWs6ykpYm3XR06HlP7e21HT8wUMjHVskXEwWrVlXe55VXopejFtraAgXVnH7HHfVFfmYy+v6W1jxK0VykhklGKiIdwIPA64BR4GfA9UqpX4qIBTwFOJ7qFUqpp5KRNEHsznfKTqRcuNDMNg\/CzJl60qjDVVcVB3lks\/DAA\/r\/FSuKlXkmAw8+WJwMNJeb2EaUdHcHGz3s3++76disWUw7cCBEocowbRrMmqXrXC1cWCjG6Ec+DzfcwKlhpLQ6dGhizaPNm7USckeZJkTDKCDAAj6jlPoOgIh8FrgD+KC9\/TeUUgcTki0dTPXOd+bMZEZ+mUxjjbgOHdJKxk\/m8XHtM3Rwvl9np3\/nGZfyAXjmmbqbGG9rgzgUUEeHLp4XNHt3Pg\/XXQejo9G+SKZkYm7DmOCUUi87ysfmB0BnQuKkkzA734GB1Haqea5kETvIMsYidpDnSr2h9E0vDjIZbQ7q7NT\/d3ToN940UM5PUs29tSz9ncq9uceUpw8IJbig5cUXQxAkAK++Wt3+fX0NE0AQBg2jgNyISBboAf7Ntfo7IvJDEfmUiLQmJFqyhNUJNDUVOpq4MwdXIM+VrORLDLEIiyxDLGIlXyoooWooLRdeC5alzUE7d+pRwN69cO+96bhubsVYL8eOeae+cRJ8xjnyDBpcEMb9rZfRUbjhhuD7xxm5mYK5QhkrpW+55RCRO4EFwO8rpcZF5Ayl1LMiMgvtJ3pKKbW6UjuDg4OLgB3RShsfp99xB6c+\/HBdQ3cLeOnyy3nuYx8DdETdok98guyxY0X7uKm3e3POGUT2RexgiEUT1neyk52cWdU5R087jdY634QtYMdtt7Hv0ksnbJuzcSOLbrqJDOFcIwK24\/eLrluGTIYn\/+d\/Tnw+u7eXWU88EavPcWz6dIb6+jyvtxfnXnopLb\/85YnPSfhHLeDJLVsq7jdn40bOtJ+XOBjPZNj5iU8EvpY+nLl06dKdNR9dzySiJJaurq6\/6erq+veurq5Wn+2\/09XV9e0gbU3Kiag9PdZ4Nlv7xLienoltDgzoSX2ZjP47MKD3C2tCnnPOAPtmGPPclGGs+vNmMuHIP22avial16mnR28Ls\/2ZM8O77tUunZ3Fz0Xc5585U1+DWkh6UmolBgb07y8J2bx+8xUIayJq2Y1dXV1vKvk8o+Tz79Vz8mqXrq6u27u6ur7d1dXV5lo3x5Grq6uruaur6\/6urq7PB2lvUiogyyVjECXR3l7bj7pWJTdjhnX0tNOKlZlDgM61kx3efSM7qpelo6O+H25pW6WZJsJScKXL7NnWeBIdVelzEvf5K2QOKEtU9yLos1GOxYuTk81ZqlRCcWVC+L8ln3eXfL6\/5qFXlYjIEuCvgPnAf9r+nn8BXg\/8t4j8CPgxcAy4KS65Uk1pXjQncaT70Xv11eAROg75fG1RT7Nnw+HDbH3kEX38zp2Fc+fz2s9QgTV8nDaKJ+C1cYg1fLx6eV59NbwJq8PDEzNNWFawY6v10ezfz+hrXqPnk8SJ+zlJwn9Qj58pyUmpa9f6b1u2LJngmVLWr0\/mvOW0U1dX16sln\/eV295oy6QfAUWBX065Kt6uPOWrYjQywJVWJzusDGNWJzusAa6M\/40x4SXREVB3dzLfu54RULm8aXFcMz9S8CwFltVFXCMgq8rPhslEb68eNTkzqNvbdUSPV065cjiTBu3M1udfeGFxNu58Xo8gApLjK+zkTMZpYidnkuMr1cljqI2VKydUFo0VkdqPzeWSSc9UacJpGWLvXKsp8BcSDRmGbYgBJ6WN29R26FBVigKA6dP133werrkGhobIWJYON73mGr0+rrLehvo4fDjZCYxKea8PWg8nbc9ZhQ4\/9oi9BJK3VsqEMFNE3FKd7PqcAWI2Qhsix1EIYSU6PHpUK7MHH9S1Y9wcP67nqkyCpIpxU7Zzymbhne+sXVksXhyvX6K9XT8DTpoadxYGN14+oNIR2dAQXHut\/r909OGMxNevx7Ks6Dv4xYvLb09btu4E\/GSVRkDvAla4Fvfn5UC3\/6GGhiOfjyaL9oYNcNAnS5Lf+slMGBNDyzE+XpvyyWZ1p+k30gibbFYHxbz6anFQit+E6tL1vb3e3\/PYMf\/Jn\/39MD6u5+U43g+nrETYbNtWfnuasnVnMokklS07AlJKfTcuQQwpoK8vmhntSWXmTluOtmy2YAZaty5ZWUAn9XQnpHTMrnHQ2Qlnn63P55xz8WL98uP3vKxcqV+S+vr06KHcvR0e1ve\/qUkfVy55ablRV9gsWRJ4dGkRoxlu1arqo2FDoKwCEpGbKxxvKaVuC1FrqVpgAAAgAElEQVQeQ1Lk86aAW9RkMrp8dS6ns00nbXrcvBlaW\/WIYeFCePbZeM7b1qYTx5aOXvw6ZkeJPP109QpybKxwjJ8SyuVqV0BNTd4K02sUV4XyAZ0dZN5rXhPtS4GTyzBIdvEIqGSC+5Uyy58At0QpnCFiHOetUzF1spGm0Q\/ojspxPCetfBxGR\/V1GhqKJ6N1Z6c2yVbjY3KUSD0BEOXq7yxYUHu7flVNvdZX+s5NTYUkwJal02H190NLS+3yldLdXcgP2NmpfbMJKR+obIJbUbpORC4DbgN+iU4IamhEnKi00sAAQ7Ts2pWKJJCJ0N0N3\/lOMi87fso1n9fl3P3IZssrZqfzvuuuwn4zZ+qRbrU4LyilprB77qnvmrmLB6aMwGHYIvIuEflPYC3weWCJUuqhyCQzRMuqVUb5JMEppyQy3yJSgryhL16sRzBpq9Rb6V6MjflHsznr3\/KWwnQD0KNbx19VLaWRcY7Pq1Y6O1OrfCCAAhKRN4vIfwAPoDNNv14p9YBSKsYKVAYg+HyHIEzF6LM0MDw8+XxtZ5+t37JdNZHG3GmCOjrgJz9JTr5yBAmF3rZtohJavLgQ5dbXN3Fy9uHDExVHpbBsKIqMm7Nxo1Zk9TwvSZRLr4KyCkhEHgG+DmwEBLgLGBORrLPEIOPUw6mx4ixz5hT8NENDBZv9tdcGU0JhKi6DoZTt23UNJKcm0tq1xWar4eH0+eMcyoVCuxXGtm3FiWvcIdZ+Sqx0vZcic9PUVKQwFtx5Z\/VZRxqMSgrk3UAH8GngADrRp7Mct\/8awsQr1Ylfbfty8x0c8vnCW5SjuPwcp4aGxbdKbFy4n9m+PpqOHo33\/JWYP78QcJPJcP4FF+j\/\/UYXM2ZUnsfj4KfEvNY7iqynpzg10MyZcP\/9Reaylj17gp2\/HMuXQ3OzDrFPIZUU0Jmu5aySxVlnCIPeXv2DqDbSp1JqHD\/zQHt7decxpJa6q8R2dmoTWlhVXNM2w3\/+fF2p1qVsKs6vqUaBrlkzMTN5W1t581d\/v\/YvOSOqgwcn+GpG580LLkM5nChCt1UlLQqplgymXV1dc+rJgJqWJels2LNnO0\/fuAXj1mxeqi2L7ezZ\/jL61UFJsj6KWUJd6qqRlMlMrAVTa30ah6SLv5XKU2vdp2rwKtpYJz+\/7bbqM89Xs9RR4C+WbNgicpWIXOL6fIGIPAvsFRElUk962qnNnDluy5ou2ryfubRwiAxjZBgnwzhZxujl78s3tn+\/nuTmhZ95IJvVb4aG1FCrGW0X3vfYb30RljXx7biWPHDdrqxca9Yw5o4KSwJnImhvb\/UJdGshlyv4wNx1rirh55\/N56P3AdUTrRcSlUxwNwIvuj5vADYBb7D\/fjYiuSY93m6dDMeYgb4tWilZZFnHhyoroe3bvR8kL\/MA6GG5n2\/JEDv1mNEW4m3y8lsfOqUpfXI5hvr6osuxFoSVK+tLLRSHidrPP7tkCSxfTuuLL1Zuo14OH67sR46QSgroDOApABE5A\/hV4M+UUtuAjwFvila8qYiXdTrDBlZVPtRrvkAup2eee6UGmSwRNmH5LhKkj9s5zMyidYeZSR+3Vzw21Cqx1ZLNQlfXhNX7Lr1UjwSSoKdH+1g2bKi9jYMHi0eFUVSf9fPPxl0hdXg4sVFQJQV0HHBmmf0G8FOl1Mv258PAjKgEMxQzhk+GYDd+zt9cLp40K150d0dfCGwSBFTUY0bL8RU28Ed0spMM43Sykw38UTyF+sbH9SjDz6ntl9k6SpzsBDVMevU1gx45Er4SSlOwRkKToyv1DN8F1ojIG4APo+cEObyeYvNcYohIl4j8l4g8bf\/9laRlqsTs2V5rLd\/9mwjwYyo3p8FvW2dntL6gZ57R5oUoSdMPuUbqNaMlXiXWb7SRZMh\/lcqvohn0yJFw5UtTOYaEfkOVFNANwK8Bj6NHPJ92bVsBPBqRXNWyHrhTKdUF3ImeMJtq9u2bqISmTfMLDrVYyXr9b0eHt8KoFPbpFyo6c2b5XFj1smuXPkeURK3gYqBmM1pnpzY5OZ1tEiMO8B9t9Pdr+ZKgSuVXjxm0JtasgWnTomm7Wk45JZnz1hNCl4alq6vr1K6urv1dXV1N9ucm+\/NrKh2bdBi2Fz09xZGSXlGylmWVDfv0lbH0mO7u6EI8T8QCd5qQ74DLAFdaneywMoxZneywBriy\/DHTpukQ49JnoNaw43oXFxOewYEBy2pujl6GmTOLz1vFsRnGPDdlGPP8jqGQ1L2qdN0qEFYYdsayrKoUloj0K6VSMosJRGQp8IBSaolr3XZguVLqyXLHDg4OLgJ2RCth+jj9jjs49eGHgWgLXrmfrCjOY0XUbiPgXFv39x8Hdt6my3MtuuUWsjEm\/rSAAxddxKwnnjix7sBFF\/GMK9X\/nI0bWXDnnbS8+GJkz8OO227TARA25118Mc0BJ5UuYgdDLJqwvpOd7OBMxlpb+dHjj4ckreb8Cy8kU2UfHAUW6Cqx1XPm0qVLd9Z+4io1VldX14F6NF7YS1dX19Kurq5tJeu2d3V1nV\/p2DSOgMKgrIylQyyzTK6lqUnf57S8WXd3T3wGBwbiOdfAgGVNnx74+AGutNo4WLS6jYN6JDptWv0\/zIGB9NwXr6UKYpmI6kPaXjqfBRaISBOA\/Xe+vd5QSj2hqYbEqThZ1Rn1xDH5MgheqaVyuXAjF7NZ7Wdyz0Vy6l1VkVKnbDRhvYE6+bxOHpyW+5ISalFAEXnkakMp9RLwQzjxS7wS+F+l1C+Tk6p6ShNgL1sW0YnSVo\/FEJjAk1WdvIJpwWuOyfr14bTd06Of6dKqnn19NdW78o0mrDdKrK9PJw9OKwk9L4EUkIj8nfO\/UupTrvVfiEKoGlgFfFhEnkaHiweYtZkevBJgb94ckRJKKkrKUDeBo7Q2bNBGlbSwfPnEMiD1FknLZAoTTt04qW3CrrnkFyUWtNRJ2qcKrEqoywxip\/Pz+3R1dQ3XY\/9LekmLDygks+wJjA9oci6BorTSvLS1FSe\/rDU6sqlJ\/y1N+hllpJ3jWyv9LXl9h+nTdVSZ87mjI92+H88w2\/KE5QNqLqecROQ6+99m1\/8OZwF7I9GKhhMsW1Zs2q4b543RnSMrk9GPoiHVLGSXZ5TWhMmqTU3pNLU6VUKd0c+qVd652pyRjVOOetcuPWnz3e\/WNXOc9DXu2la5XLRl5sfGgpupSv1Ow8O6Jk82m1xGEi8GBhIv113JBLfCXlpc\/68AlgOvA66OVDpDNKa4\/v7id6DxcWOaawACT1Z9xzviE6paHNPYsmXllQ9MzDD9zW9650674QZt\/kpzmfnjx3UK\/Dh+Z81lxxWF+k8JKx+g\/AhIKfVOABH5pFJqdTwiTT0WLy6ff7DaGnU1sXJl7ZmDJxkW6Qv1BE44xPu4nV0sZCG7WMPHi9PudHfr9EdppanJ2+kZBD8\/yvBwY0SXOaXJvb6\/e9R33XUwOlr7eSqNfpNKEutFPfa7Rl+S8gENDFhWa2t1ZtrOTm2qDVLzqmYZjX+oYZZxr\/XOPJhGzjzh5WtxCKPQnZ1axPP6Ob6lKJcg2POFTsjo9icFWSpdpxBIch6QoQ7yeR0UNDJS3XFDQ3qA4i4dsmJFyKHbjmluYCCa9POG0CgaoTkmFcdZmKYkl6VUqhHkfntfsqT4AT92rP7n0rIAeOnyy4vz5\/X0aP9S1FSKlgNtGtu7V2cmsCxtWnQX\/CtHe3v5nJBpox7t1ehL3COgqCaAu5fu7pAi9Zy8cUm\/EZul8rJ48cR719KSvFylS9CRWSYTbd64pqby+RLjiFhraZk44irJ5DBBxkq5G5ubC2aR+fODPSs1YkZADYJ7guny5dGfLzR\/keMANkRPvZMAt28vHv7mcnDPPemrk2RZwfeLKpoNYGyMORs3em+zRx+RV3MdHZ3oq6kUcbRpkx7pdnbqZ6ajQy+ZjF53332FwILdu7Vz2c3ixbBtW6hfo14qhEsUEJGTAQGKnmql1H+ELVQj09ur5wGmMQq2Jjo6GsPBGxVxff+envqCQErfPHI5vXiVpW5pqc\/JPQlY9IlPwJln+keCJTVxdPPmE8plzkc+AkuXFm937msQUqZsvAiaCeEa4Hl0Qbovu5a7I5OsAXF+65NG+QCsXZu0BMnS3h596OzChdr\/FkVp8f7+4rfmzs50jo5iJnvsmA7f9iNpP9rwMItuvTWxUtlxEdQEtwa4XCk1Tyl1pms5K0rhGo005PkM6qsMTC6nO7BKZqJMJoKTp4Bdu6Kt6jltWsFpXO9Iy68s9uOPw3PPadPWc8\/pz+vX+88XaW3VI7JK80kaneFh\/w5+zZroS8lXIHv8eGKlsuMi6BVuBv49SkEmA0mPfLq7Q86a4JDLlZ+s2tKit2\/aFMh2fsITEGUp8LA45ZRCVU93hxRWlddZs8JpB+Auj0LApcPysTH9+fHHtc\/A636NjGgFFYYfJk1JUb1Yvrzgd3HndevrS0ckaNpzyNVJUAX0aWC1iJighTIkmUxg\/vyIlI+b+++f+CWbmrRJx8Gr9Pe0aUXO0h233aY79BdeiFjgEHj1Vd0xffObegThhDwfPBiOyWx4WHeCYXTUXmle\/LJOO8N1v1FX0IABHyzQ97jOdmJh82aYPl2XS3DPc0hDZoVsNljodoMSVKH8KbAaeFVEdrmXCGVrCBYsKES5JTkCev55LYOfFaYunDfDFStg9uziyJv77y92iuZyunNz+xzuvVdHFjkpVUB3jI3QOY2OahOcu2NauVJfk7Vr9egvTWQyMHeulq+31\/8aj41pxRdlJ9vf3zgpnkZGUlcuwQJ9n5znzj1amyQENfLGEEDceCxYoDv+NLFuHaxbdz6zZ8O+fSE0mM\/rDtfJwTU8rEc4Dz7oH41TIVJnwZ13NobycfDKP9bXp5Xp44+nL+xxeFi\/LCRNPq9HFocOVd7XMAHPMbETJedViqIByViN1BGEzODg4CJgx7nnnktra2vQY1hqh0am3bwdihLyq63S2VnzPCErmyXT6M9dJqOVsFs5G05gAZm2NnNtoiQyp29lRkZG2Lp1K8CZS5cu3VlrO74jIBHpU0qtsf\/\/hN9+Sqmbaz25IVr27w+hET8naB3O0dF582h98cWaj08Fp5yiRxmNrkijIpMxyidqNm\/Wo8wUZLWulXI+oNNd\/59RZjFMZvzmQ9Q6TyKfJ3vkSO3ypIHm5kJmY4M3k+natLToQJo00uBh2r4jIKVUj+v\/a+MRxxsRuRPoBkaAg8ANSqkt9rbvAAuBA\/bua5VS98Yh1\/z56fMBhc6aNd5mpqGhgg2ys1PvV\/om5pMWIqU\/5WBks9GmiQmTJAqgzZwJd93F6I03JjvKbW+vLcBiYED\/dRfCc+Zp9fWFX+q7Xho8TLtRZpptBD6ilDomIpcB\/4QuiOfwJ0qpR+IWavfudAYiOMyeHUIjuZx2tJdLE1NamRJqr\/mSZpqb4eSTGyc1UdzKx1XkbOzmhC3ztSifjo7C8+tl1nLWpcn5m3TGhjppiHk9SqlHlFJOjOR\/AaenZU7S7t2FVLM9PZX3r5b583W71UWzWuFGwQXJUeZEhuXzMGPG5FM+7e164majKJ+46ekp6rRn\/OIXCQpTA9ls8LRTUScqrYZGKr3gQSo68Sr5Y+AbSin3691nReQpERkQkQVJCeak3QqL+fO1guvv11Yfy\/If1bS363NbFmzZ8mQ4ygeqszE7cxWOHg3p5CniTW9KWoJ04jx4DRYSXOShmj4dHngguDN\/zZp0zP\/q7m7oAASoEIYtIvOUUnuiFkJEnkT7cbyYp5Qas\/d7P3Ar8DZHLhE5Qyn1rIg0AX8F\/JZS6uIg53XCsOuVv5QLLjif2oo6W2zZ8mTY4tTF+RdeGDhk2iK8UtbOGdNi7LCA0dNOS3X0XtzXzAIOXHQRz3gon\/MvuCA1985N6TM6Nn06Q3197Lv00qrambNxI52f+hTZw4djvd4OL11+Oc997GMxnbksdYVhV1JAe4E\/VUo9WOsJwkJEfg\/4G6BbKbXTZ5+TgH1AS8kIyZN65wH5UY+JOIzgoSAyBqa1dcqn7j9BJpPu6K7ubnjmmWQc5SVzUl5505s4+Ykn4pejFuqY03aixHFcpOT5C2seUCUT3B+gc8B9Q0QSyxxpBx58DrjErXxEpFlE5rl2vRJ4KojyiZJak0JPnx6uHKFglE+BNDt8nZLcSZmHSoqpPdPf3zjZ0YeGas9h5WSLj4NJWEKjbBScUuq7IvIG4BbgRyJyK7C9ZJ84CtLdC4wCD4uIs64bOAp8Q0Ra0CPr3cD7Y5CnLJs21RYEdnfaqitNwuSHNdPdrZNVxvm2Ww2l0Vs33BB\/wETpA79pk38mjbThBNrU4svK5eJ5LvwSyzYwFcOwlVIjInIbsBj4FLDXtdkCIq8JpJR6TZnNF0R9\/lpwrBFBzHEdHToAJ3X+xAaf5BYajvK57rqkJQmGk4uvuTn5HHWNNE9lw4bagyk6O6NVtO4Q8UlExSg4EekGnkKPQF5nCtKFhxO+vXdvSp+tRnhzjZLOTn2DnJFPo5kjoyykF5SkzZaLFwfftx5lHbXp8+WXo2s7QcoqIBG5B3gQ+Eul1HuVUi\/FI9bkwS9sOpRJolFizG\/FM+DTjF9xPKeQXlwlEbx8PknPU9m+vfI+DvVcp1xO18WKoqw6JK\/II6LSCGgacK5S6uE4hJmM7Ns3UdmENkk0StLe6UaIBcVzLNJuRjp0qFCUyllaW\/VLhDOJLKqO0cEvM3Mqh\/Y+1DtizOW0OcMxbQwMhFfWPGlFHhFlFZBSaoVSanKO\/WJk377CM2lZDaB8IP2dbtS4O9NGfPscHS1UWm1vhyuuCN9E1NRUqHqaUFmAUIiqvk4up4vcWVb9LwCNpMiroBEzIRjioBE73ZA4cNFFxSsa\/e3z0CHtYP\/gB4sr1VarkNxvUZalR1ZveYuOdPMrG51SU64F2nQ5MKBz5kWdyWHt2sapDhsjRgEZvEmy0+3p0R1D1GYjL7q7i2f25\/Nw\/fXxyxE2Y2PwzW\/qCZdOafR77tHVbYPglejQqZbrVa7cIS2mXHc4aibDS5dfrhOWOiMLp+y8nyKtl1xOl6+vZS5PdhJ305ZlTdlly5Yti7Zs2WIdPXrUCsqWLVsC75sUock48Z03nsXN\/PnRn29gwPv6DQxYVlNTctch7CWTKXzJnp6J362zU39n97amJv3Zi85O7\/N0dhauYSaT\/Pdua\/O\/x859bmureExoDAxYVkdH8fmyWctavNhbfr\/rnyBHjx61tmzZYm3ZsmWRZdXeB9d84GRYjAKqQBKdRWenPndPT\/zntNl\/0UXJfPeol46O8te22o7OT7lkMoVn0E9JRblks5Y1c6aWz1GqJRT9Rsoo0thxKf\/xbDaVyseywlNAk3hsZ0g9pT6ItjZt+luyJFgJiEq0txf8HeVwB1wsW8asRslhVisbNlS33g8\/P2E2y\/kXXqhNWe9+d3AzXz04wRCWpc2NBw8WTI3lHPi9vf7z3YaGojXLeeFKff\/kE080XJbxajEKyOBPlLm8Oju1D8LtFN+wQRe\/q2buRiUymcoTat0d6ebNqcziHArOZEa\/CZfVTsRcs8ZbuYyN6QzqQ0Pa73H11cX3eWCgeH5SU5N+1mrN4tvSUltH3dtb+UWnnH\/LUDdGASVMvvcxTsoeJJOxyGQsspnxmvMihs6mTZEoIQsKJbzdTvFcLpyRj4PzFlyJRo9yC4qjaP2isZqadBJD93wiV4LRCeRy+qWh3Ajz8OGJwQ+5XHGRq+PH9bP2YI1J92vNUFHtiO\/wYZ1jzxAaRgElSL73Ma5Z9yYOWu3oXKoZLLKsW2eRycCcOQHbyWsrgdNnXHDB+YGPrcimTQXTRkglX8dmzEjHvIaWlqIy0pP67dYxb4L\/hMt58yYmFC3Jcj2BXE6b2coRdE5ZLhfOM7ZkSbESXbKkePuyZZx\/wQW1pd4ZHp7cz0nc1ONAavQl6SCEzqZnK\/pTZ88uPmZgQPtGHf9qJV99S0vIwTylETwdHXrdwEBgJ\/HPb7vNv\/24HNWlUU5ekVCNvLS2Fj8opQ+BV6Rbufb8CBKlWK0z3\/2QB4lCdIIrLMs\/kmzxYr29u7v+axtTcEKaA55MFFwIS9IKKMNYoOfdoadnYuBR0CjXqCJKi6gUtmxrw7LXMM5O2t2RJBGtFeRm1dNOJUqVULVtBe3M64nkqvRikM0Gv171Xk9ncYezR8hUUEDGBJcgC5ueD7xvPq\/dI5ZVvL70sx+xzAfM5Qp2fa9lZMTf9JbPw9y5MQjpwm0aSlPqoRtu0A7ysPKIOeTzMGNGwTS1bl3BDFXJHFXqD8rngxe8+uY3a5MXJvqZ3JMyOzrggQcKz1Q5U2GYuINW8vlCtGUmo\/1oqXHiph+jgBJkzcqdQDANUm+9qzT1rxNwZtTHXUDN3ZGkKfXQ8HCxcqiF0iwS+TxcdRUcPVp7m5s367K9vb3V1Uaqt6yHE6xiWfqaOC80V1yhI+wyGa2sq60AWQtuX1o+r89\/6FBh+\/i4vndJVKVtQIwCSpBc\/8XMmHaMckoorLINaepfJ9DXpyOM4iSTKY5+8wspbkSmTdO5x9z09QWLCKzEyIjuYJOojeSMkmsZwTl1gWqJ6uzoKJ4q4K4663feY8cmz\/MUIUYBJczh0RZmz\/ae\/xBm2YZURxrHPTzLZGDVKv3\/okX68\/LlJ5SgBY2bf6uzE+69d6KpM9VD4ADk83rUVesoeds2\/deeWhDI7uBESe7dO3FSa29vZVmOHDERcxUI2cgcPiJyH7CMQinwh5RSa+xt89AF8xYBR4CVSqn\/TkDMuoijPEMaop59WbgwvuqrTv3zxx8vb9cMY7QQNy0tupP0Is5rHAV9fbWPukpHPZs28eTgIEuvusp70rNfbSMHxyEbhL6+lP\/4kqVRXvPuUEq90V7c7\/KfAr6nlOoCPgQMiMikncg+aYnD\/DV9euFtFsp2IA37AN1zj\/+2NWtqzzRQL34VW4PgmN1qVZ6LF0NXl\/YRueYGnX\/RRfD2t3sHy5QqH3em7Llzq3PINvrIM2IaRQH5cQWwHkAp9RgwAlyQqEQRETTarSEJMqO+Vrq79cU7cqTwJpqWEgFh4p5Q60dSZsW77qrtOMfJX09wyvbtngEdGSdYwKkc60dvL6xYUUjJU60sqXa+Jk+jKKCPishTIvI1ETkHQEQ6gIxSaq9rv13AGYlIGAOlL2oDA0lLFCJOpFOY+JlSGtkU5UUQ5bNqVX1RdUlQzskfFqOjcO213oX0ZszwnvsQlGnTUu58TZ7EfUAi8iTg95owD+gDXlBKjYvIVcCjInJWmDJs3bq1qv0HBwfDPH3NLF\/+awR5h8hmLQYHn4xeoCrwu4ZvmDWLaQcO1NzueFMTO2+5hX2XXuqcqGj7OVdcwQwa2MxWggU8+frXT\/iebk6\/4w5OPXgwsu\/sdM9+7Y+vWMHOHTsK9yQg5w8Px3Ofjh1j5MYb2fr61wMwZ+NGFt1yC9kqlZ9bTR2fNYtn\/\/zP2Vfh3lQiLX1NZNQzizWJpaura7irq6vT\/v9QV1fXXNe2rV1dXRcGbSvpTAj1UE25nFiyIFRB2Ws4MGBZ06bVNkPdSQtUjjBmwqdpqZQWpooUSYnKmfS9cmc3qCcrRoj1e9LS13gxZTIhiMgC1\/+XAGPAbnvVQ8Aqe9vFwAxgkr8yaIIk8i3NtdkQ5HI6jLhaf1BHhw4wCOHLWqDNd2HbOENK5nqClpbKJp60+LtqccbHWZLd7aupJ3CgVn\/XFCX1Cgi43\/b\/\/AhYDfyuUuq4ve1jwDtE5GdAP7BCKdWA8bPVU946YDF7dvnMN6nGPfO9tG6MM6HQTUvLxImXtZLN8tLll2vfUVjZmUF3piEWFxtra9NRb5VucFqisGpxxod1T4PgVuT1BA40Yvh+ktQzfGr0pZFNcOVzR44lLV5Z6r6GpSnBq7ExVsqW7CWfc75azTItLf7nrcWUVSmhq5u0JFmtdI8GBvR1Kr1uccjmzqbtyFJPeyGRlr7GiyljgjN441fSJZuFLVv+N15h4sarkF1Qtm2bOIpavLgwU77c+Syr+hFRczOcfXZ9VV6bmgolp6v9vmvWRB9+3dmp51mVo5zM+bwOdS6daBpHuh+v0XMup8Oza6GeOU9TEKOAGpT+\/onWqZ6exou0TYRt24rfWR3lk89Da6suVuYuaOZeqqnY2tSkc4LVonzcSuf48drNd7mczhhdqiCc+VGlD1G1OMk5777bf6JrpfxrfX1alhixQL8c+Jkxv\/zl6q9HNmt8QFViFFADU1rVOEQXw9Qjn9cz3EdHwwv9vf\/+yvt4vUWEfUNzOT0R1610nflRpQ9RNSM8d3LOXE6X1LZHDifUSaW0NpCInyoDsGCB\/8gsl9P3r7NTK9aOjvJBEZ2dxaUhDIFIfB6QwZAKwowWy2R0ZxykM+rvT9ebgyPLhg16OJ3JaDPVyIhe7+TS8\/pujiICnWtt6dJg50wqT10lxef6PoZoMCMggwHCewsfGNC+KXfH5WeCqqU0QBy4R0Xj47qGkDNyCinUvYik8tSZNDmJYxSQoWFw54RctCjkTPdhdEbd3d6ds10CYMK+lUxTUwXHfBdjEbex6dNNmpwUYBSQoSFwiqY6OSGHhvTn0JRQvZ3R4sXlFcqmTd4+GIMml9NmPuf6DAxENxG1s5MhUyYhFRgFZEgF+bwe2bgDzhYsKGz3Kpp6+LCOG8hkKic1rkgupzu9lpaARdJtnMCBcmHchuqIukT7mjVV56UzRINRQIbEcQLQSiNxn39eK5f29so+6tHRgjJatqxGQey38Ce3bNHKqFKNou5uE34YBVGXaE9LeiKDUUCG5KnUHxw6VF17mzdrRVSXn6hSjaK0+nDCdpT19haKuTU3689RE3VYdlrSExmMAjIkT1T9Qd1+IncGhNIlrcqn1FHmDAsdJdLUVNeCG34AABBuSURBVLBxzp1b\/uLMmVNczG1sTH+OWglFHZ1mot9Sg1FAhsSJsj84fHgKWVzKma4cJeJOljk8PLEYWz6vbZ6ZDOzf791WkFTs9RBlifZMxkS\/pQijgAyJE3V\/kIjFJZ+Hk07yTudTaeRRqd1Fizj\/wgt1O3PnanPb3Lm1TeY8dqygofN5uOqqyjbPqPM9uc2fmYz+G8acqdbW4BOEDbFgFJAhcXK5aEu\/xGFxKXKVNI3Tu3w\/HDzovfPwsE6+Wa0ScpnYMpal2xke1ua2eiLGhoZ02319wcoJ1JIzrlpKE85u2lT9ZNVstpDayLL0hFqjfFKFUUCGVLB2LUybFn67Tq7MKOntLXGVjGdZRy+9\/L3\/QZYF119f3YmijA5bvjz4CMovFXvUrFpVeZ+mJh3BaFn6hpgIxVRjFJAhFTiFUMOkqamQKzNKvF0iGTboYr3kuZJF7CDLGIvYQZ4r9S6HDlVnjktD9Nbs2cl16n4p4N3BIcePm1FOA2EUkCE1OHNBw6CtTSczjqMv8nOJjNFEnitZyZcYYhEWWYZYxEq+VFBCw8Nw3XXBlNApp4QndC0sXgz79iUrg0kBP6kwCsiQKnK52v3Nzouxu0pAHPi5RJoYo4\/bOUxxkbLDzKSP2wsrRkcnhuolMf+mHN3dJtuDIXRSX45BRDYBc+2PzcAS4Dyl1I9F5D5gGbDX3v6QUsrEWDY4mzYV\/CqVaGqKb6Tjx8qVXrJarGQ96\/FWHLsoiYwYGtLhz14RaM78myTp6kr2\/IZJSepHQEqpZUqpNyql3gisBrYppX7s2uUOZ7tRPpOH\/n5tZSk3GmppSV75QKlrwqKJ4\/RwJ\/18mIV4+20811eb8iFOop77Y5iSpF4BlXAdcE\/SQhjiw0kiXZocuaPDv5pyEpxwTXT\/fxxnGv18GIA1fJw2ihVLG4dYw8eTELN2TK13QwRkrJhrsdeKiJwG\/ALoVEr90l53H\/A24BDwc+CvlFI\/Cdrm4ODgImBH6MIapjRn9\/Yy64knTnz+8lmruenwavbsaeG1s17hUyN\/xoqj+j3q+Mkn0\/zKK+GVAY8IK5vlSdd3Mhhszly6dOnOWg9O3AckIk9CqUH8BPOUUs6r11XAo47ysekDXlBKjYvIVcCjInKW65hAnHvuubTatewrMVhNqeGESLuMk16+\/\/7voo9\/aC+a2cCX7QWmQTLVQKskc\/31VV2TSX+PYyDNMo6MjLB169a620lcASmlzg+467XAn5ccu9v1\/wMi8nngdCCBAvMGQ410dERX+yYMenqKw517e7VPaGxMO75WrjTh0IaaaAgfkIj8BnAysLFk\/QLX\/5cAY8BuDIZGYu3apCUoT3+\/nqc0d64erSWRIdswKWkIBYQe\/TzgYVq7X0SeEpEfoSPkflcpdTx+8QyGCpSb15PL6UmeaaW3V6fqKTdKW7cOliyJTybDpCBxE1wQlFJ\/5LO+1tqXBkN8lE5qcs\/rcUxXb387bN8ev2xBWL8+2H7bt2slZCasGgLSKCMgg6Fx8ZtD46xftiz5iablqCZSNq1K1JBKjAIyGKLGN1ncmFY+mzfHK4\/BkBKMAjIYosYvWVwmY5SPYUpjFJDBEDV+9XMaZBJ4VfOU0hxMYUgdRgEZDFHjV8emEWhr04Xg2tuD7W8CEAxVYBSQwRAHpXVsGgGnrgX4lxcvpdoy44YpjVFABkMSpDm7dEuLzv66c6eeo1SNrKV1jQyGMhgFZDAkQVqzS3ulGa9G1iGTBcsQnIaYiGowTDqamtKnhBYv9vbhVCOrX8SfweCBGQEZDEkgkrQEE\/ELIPCL4vMibUrVkGqMAjIYkuCnP01aguBUk+m6szM6OQyTDqOADIYkGB9PWoLqCDIXqK0N1qyJXhbDpMEoIIPBUHkC6YMPeq9vb9fKyQnZTkuNdENDYBSQwTDV8Qs+cJPL6dDszs6CwhkYgFdf1aM5J2TbYKgCEwVnMEw1Ojpg797qj8vljJIxhIoZARkMSZBUzrRsNv0VWA1TBqOADIYk2LYN5s+P95zt7fDAA2YUY0gNqTDBichy4C+AxcBHlFJfdG1rA+4FlgLHgRuVUo9U2mYwpJ7du3XutL4+2LULFi7UUWSPPx5ugbogPh6DIQHSMgL6IfB+4B88tt0IHFBKnQ38DnC3iLQH2GYwpJ9cTjvw3Y78\/v7wTHRG+RhSTCoUkFJqq1JqO+A1OeJ9wF32fj8DtgCXBthmMDQu27ZNVEIzZgQ\/vq1NR6kZ5WNIMalQQBVYCLgzHO4CzgiwzWBobLZt0+UbnOXwYejuBuBEKbv58yfmXzNzcgwNQiw+IBF5Eq0svJinlEo0gdTWrVur2n9wcDAiScIj7TIa+Wrk058Ovm\/C3yG119Am7fJBY8hYD7EoIKXU+XUcvgvoBH5pf14IfDvAtsCce+65tLa2Btp3cHCQpUuXVnuKWEm7jEa++km7jEa++kmzjCMjI1W\/uHvRCCa4h4DrAUTkV4ALgUcDbDMYDAZDikmFAhKRK0XkOeC9wG0i8pyIOB7YzwKzReQZ4BFgpVLq1QDbDAaDwZBiUjEPSCn1FeArPtsOoRVTVdsMBoPBkG5SoYASpAlgdHS0qoNGRkYiESZM0i6jka9+0i6jka9+0iqjq8+sqwRuxrKsyntNUgYHBy8Gvp+0HAaDwdCgvHXp0qWP1XrwVB8B\/Q\/wVuAFwNQSNhgMhmA0Aa9F96E1M6VHQAaDwWBIjlREwRkMBoNh6mEUkMFgMBgSwSggg8FgMCSCUUAGg8FgSASjgAwGg8GQCEYBGQwGgyERjAIyGAwGQyJM9YmovojIcuAvgMXAR5RSX3RtawPuBZYCx4EblVKPVNoWsbybgLn2x2ZgCXCeUurHInIfsAzYa29\/SCm1JmqZPGT0lUNE5gEPAouAI+jEsv8ds3x3At3ACHAQuEEptcXe9h10uY8D9u5rlVL3ximfLUcXcD\/QAQwDV9nVgBNBRDrQ9+11wCjwM+B6pdQvRcQCnqJQ6XiFUuqpBGTcCRy1F4C\/VEp9S0TejK6oPAPYCSxXSr2UgHyLgK+5Vs0GZimlTvGTPQaZ\/gb4A\/Tv8VeVUlvt9b7PXy3PplFA\/vwQeD\/wMY9tNwIHlFJn22Ugvi8iZyulDlbYFhlKqWXO\/yLyHuCTSqkfu3a5w61EE8RPjk8B31NK\/aaIXAwMiEiXUirOmdIb0S8bx0TkMuCf0B2rw5\/E8TJRgfXAnUqpAfsl6S7gXQnKYwGfUUp9B0BEPgvcAXzQ3v4bUT\/7Abnc6UQBRCQLDADXKKUeE5HVaLmvi1swpdRO4I0u2b5Acd9cJHtMfA1Yy8RUZeWev6qfTWOC80EptVUptZ3C25ub96EvLraG3wJcGmBbXFwH3BPzOevlCvQDjFLqMfQo5II4BVBKPaKUOmZ\/\/C\/gdLujSgUicipwPoXM8V8BzheR1yQlk1LqZUf52PwAXSQy7SwFjtrPGuhn74oE5QFARFqAHAn\/fpVSjymlnnWvK\/f81fpspubH1WAsBIZcn3cBZwTYFjkichrazPVgyaaPishTIvI1ETknLnk8mCCHbcbJKKX2uvaL9bp58MfAN5RS7heQz9qyD4jIggRkOgPY7ZSwt\/8+T7LX6QS2su4B\/s21+jsi8kMR+ZSIBCs7HA15EfmxiPSLyGxKfqf2s5cVkVMSk1Dzu+h7\/KRrXansSVHu+avp2ZyyJjgReRL9EHoxz7mQaaEKea8CHlVK\/dK1vQ94QSk1LiJXAY+KyFlhf8dKMvrJEaYM9cjnXA8ReT\/wAeBtru0rlFLPikgT8Fdo89zFUcrbgPw92nfmmFgX2tdsFvqF6CZgdQJyvdWWoxX4gi3fvyQgRxBKrRdesi9PRLIImLIKSCl1fh2H70KbGZxOfiHw7QDbaqYKea8F\/rzk2N2u\/x8Qkc8Dp1M8UqubADJ6yqGUGhIRRGSuaxS0EHjWs5Xo5ENEfg9YA3Qrpfa4jn3W\/jsmImuBW0QkWzJCippngQUi0mTL0QTMJ+TrVAu20\/pXgN9xronrmh0QkbuBjyYhm0uOERHpR4\/Q1uIyFYrIXGBcKfVyEjLaMiwA3g6scNb5yJ4U5Z6\/TJltvhgTXG08BFwPYAcaXAg8GmBbpIjIbwAno53p7vULXP9fgi49sZuYqSDHQ8Aqe9vF6MikwZjluwz4HHCJ7Rh21jfbUXoOVwJPxax8sCO0fmif35Hjf0tGu7EjIrejfSrvUUqN2OvmiMgM+\/9m4HK07HHLNlNETrb\/z6ADi36IfrZm2M8a6GfvobjlK+FqtNl3GMrKngjlnr9an01TjsEHEbkS+CwwBx1eegj4TaXUdhGZCdwH\/Bq6E\/0LpdS\/2sf5botB5i8Bw0qpj5Ws34Q2gY2jw4j\/XCn1gzhkCiqH7bsaQL+VHgFWKaX+M2b5fom+1+4fTTc6BPa7QAv6TW83OkRbxSmfLePr0aGuc4B96FDX2OVwybME2Ao8jb5vADuAz6CDcSxgGvCf6AjDWCPibBPvV9H1a5qA7ehoxhfsF7a7gOkUwrD3+LUVg6xP27I9an\/2lT0GWf4O+H3gNPS0iWGl1JJyz18tz6ZRQAaDwWBIBGOCMxgMBkMiGAVkMBgMhkQwCshgMBgMiWAUkMFgMBgSwSggg8FgMCSCUUAGQwSIyEYRuTppOQyGNGPCsA2GCohIO3quS59SKm+vOwnYBnxUKfVwyOfbCfyhUmpTmX2WAJ9HJ2zNAj8HblJKfVNE3oHOvrFOKdXrOuYx4G6l1H0icg3wZQpzdxy6lFLPh\/dtDAZ\/zAjIYKiAPXnyeuALruy+nwG2hK18quDrwP9FTxQ8FfgTCrWKQE+cXiG61owf\/6WUai9ZjPIxxMaUzQVnMFSD0gXMvgH8nYjchU7dv8Rvf9EF7AaUUnfbo40\/RJcq+CCwH+hVSm30OO5BdB68r4vIGPAJpdRnSvaZC5wJfEkpNWqvfrykqf3ohJt\/jc4PaDCkDjMCMhiC86fAO4CH0ZVuX6zi2DcBCl219jPAl+38XkUopVagE9r+jj0i+UzpPuhqk8+gi\/a9pyRPnZs1wB+IiFQhp8EQG0YBGQwBUUrtQ\/t92oB\/rvLwIaXUl+ySD\/cDr0XnxatFDgt4Jzp\/2d8CL4jI9+zkt+79XkQXWvuET1NvFpH9ruXntchjMNSKMcEZDAERXWZ4EbAJ+DR29u6AnBgtKaUO24OS9oDnXU+hBsztSqnblVLPoYvmISJnABuAB4BfLzn808DPReQ8j6Z\/oJQyNY0MiWEUkMEQANElhz+P9v38FNgmInml1PcjOF1RaKpSahVllJ1dsOxOCuWQ3duGReQLwG2hS2kw1IlRQAZDML4IfE0p9W0AEfkL4Esicp5TAydE9gC+lWJFZA7wEXSV0V8Ap6ArafqV2Picvd8En5PBkCTGB2QwVEBE3oMuv32i0qxS6m50zfubIzjlp4DVtl\/mRo\/toxRMgQfQc5RGgGu8GlNKHUAHPpxSsunXReRgyXJhSN\/BYKiImYhqMBgMhkQwIyCDwWAwJIJRQAaDwWBIBKOADAaDwZAIRgEZDAaDIRGMAjIYDAZDIhgFZDAYDIZEMArIYDAYDIlgFJDBYDAYEsEoIIPBYDAkwv8Db+OlJrSJVCQAAAAASUVORK5CYII=\" alt=\"\" title=\"\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>In the plot above we can see that almost all of the fraud labels can be separated from normal ones. Also after this visualization, we can already come up with some ideas of models that probably will and won&#8217;t work on this dataset. For example, Linear models such as SVM or Logistic Regression won&#8217;t work well on this dataset, because it cannot be split by a simple line. Instead, we can use an ensemble model called Random Forest Classifier. This model will work much better on this problem.<\/p>\n<p>Now, after we understood how all of our data looks like, we will examine separate features. Let&#8217;s take a look at the distribution of <em>Time<\/em> and <em>Amount<\/em> feature.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[9]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">f<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">ax1<\/span><span class=\"p\">,<\/span> <span class=\"n\">ax2<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">subplots<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">sharex<\/span><span class=\"o\">=<\/span><span class=\"kc\">True<\/span><span class=\"p\">,<\/span> <span class=\"n\">figsize<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"mi\">12<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">))<\/span>\r\n\r\n<span class=\"n\">bins<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">50<\/span>\r\n\r\n<span class=\"n\">ax1<\/span><span class=\"o\">.<\/span><span class=\"n\">hist<\/span><span class=\"p\">(<\/span><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">Time<\/span><span class=\"p\">[<\/span><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">Class<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">1<\/span><span class=\"p\">],<\/span> <span class=\"n\">bins<\/span> <span class=\"o\">=<\/span> <span class=\"n\">bins<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">ax1<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Fraud'<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"n\">ax2<\/span><span class=\"o\">.<\/span><span class=\"n\">hist<\/span><span class=\"p\">(<\/span><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">Time<\/span><span class=\"p\">[<\/span><span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">Class<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">],<\/span> <span class=\"n\">bins<\/span> <span class=\"o\">=<\/span> <span class=\"n\">bins<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">ax2<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Normal'<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">xlabel<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Time (in Seconds)'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">ylabel<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Number of Transactions'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">show<\/span><span class=\"p\">()<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt\"><\/div>\n<div class=\"output_png output_subarea \"><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu8AAAEcCAYAAAB3bVp7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+\/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XuUZFV96PHv0DLDU5GXCoIYZH4YhqC0RDSgXh\/xcSUa3xjAF8oYlRgx0euN+IpIFIiouCAqCQ8lSlCIopKwrkRHQ8QGjAPyA4kDIyBvVF49Q0\/fP85pqGn6caq7TlWdqu9nrV5ddfY+dX61u2rXr3fts8+SyclJJEmSJPW\/TXodgCRJkqRqTN4lSZKkhjB5lyRJkhrC5F2SJElqCJN3SZIkqSFM3iVJkqSGMHmXJPVMRFwUEYf3Og5JaopH9DoASVLvRcQa4DHARMvm5Zl5Y08CkiTNyORdkjTloMy8cLbCiHhEZj7QzYAkSRszeZckzSgidgN+CRwOfAhYAzwrIs4GDgQ2B34KvD0zryj3uQg4MzO\/WN5\/I3B4Zh5Q3n8B8FngccAZwJKuPSFJGgDOeZckzefZwJOBF5b3vwPsAewIXAp8ucqDRMT2wNeBvwG2B64F\/qjTwUrSIHPkXZI05dyImJoWcxHw7vL2hzPznqlKmXnq1O2I+DBwZ0Q8KjN\/M8\/jvwS4IjP\/pdz308BRHYpdkoaCybskacrLW+e8l9NmANa2bBsBPg68GtgB2FAWbQ\/Ml7zv1PpYmTkZEWvnqC9JmsZpM5Kk+Uy23H498DLg+cCjgN3K7VNz1+8Btmip\/9iW2zcBu0zdiYglrfclSfMzeZcktWNrYBy4nSJJP2Za+eXAKyJii4h4EvCWlrLzgb0i4hUR8QjgSDZO7iVJ8zB5lyS143TgOuAG4Erg4mnlfw+sA24GTqPlZNbMvI1ius2xFMn\/HsAP6w9ZkgbHksnJyflrSZIkSeo5R94lSZKkhjB5lyRJkhrC5F2SJElqCJN3SZIkqSG8SNM0Y2Njy4D9KNYjnuhxOJIkSRpMI8DjgEtGR0fHq+5k8v5w+wE\/6HUQkiRJGgoHAquqVjZ5f7ibAJYvX87SpUu7euDVq1ezYsWKrh5zmNi+9bJ962X71sv2rZftWz\/buF51tO+6deu4+uqrocw9qzJ5f7gJgKVLl7Js2bKuH7wXxxwmtm+9bN962b71sn3rZfvWzzauV43t29Y0bU9YlSRJkhrC5F2SJElqCJN3aYCsW9\/eAknt1pckSb3lnHdpgCzddISDjjqvcv1vHv+yGqORJEmd5si7JEmS1BAm75IkSVJDNHraTEScCzwR2ADcDbwrMy+PiOXAacB2wO3AYZl5Te8ilSRJkhav6SPvb8jMfTLzqcBxwKnl9pOBkzJzOXAScEqvApQkLYwnYEvSwzV65D0zf9Ny91HAhojYEdgXeEG5\/SzgcxGxQ2be2u0YJUkL4wnYkvRwjU7eASLii8AfA0uAFwG7ADdk5gRAZk5ExI3ldpN3SZIkNVbjk\/fMPBwgIg4FPgV8sBOPu3r16k48TNvGxsZ6ctxhMejtOzo62vY+nWyTQW\/fXhu29u3263nY2rfbbN\/62cb16pf2bXzyPiUzz4iIfwB+BewcESPlqPsIsBOwtp3HW7FiBcuWLasj1FmNjY0t6MNK1di+M+tUm9i+9bJ9q1loG9m+9bJ962cb16uO9h0fH1\/QYHFjT1iNiK0iYpeW+wcBdwC3AJcDB5dFBwOXOd9dkiRJTdfkkfctgbMjYktggiJxPygzJyNiJXBaRBwN3Akc1sM4JUmSpI5obPKemTcD+89SdhXw9O5GJEmSJNWrsdNmJEmSpGFj8i5JkiQ1hMm7JEmS1BAm75IkSVJDmLxLkiRJDWHyLkmSJDWEybskSZLUECbvkiRJUkOYvEuSJEkNYfIuSZIkNYTJuyRJktQQJu+SJElSQ5i8S5IkSQ1h8i5JkiQ1hMm7JEmS1BAm75IkSVJDmLxLkiRJDWHyLkmSJDWEybskSZLUECbvkiRJUkM8otcBLFREbAecAewOrAOuAY7IzFsjYn\/gFGBzYA1wSGbe0qtYJUmSpE5o8sj7JPDJzIzM3Bu4Fjg2IjYBzgTekZnLge8Dx\/Ywzr6zbv1ELXUlSZJUr8aOvGfmHcBFLZsuBt4OjAL3Z+aqcvvJFKPvb+5mfP1s6aYjHHTUeZXqfvP4l9UcjSRJkqpq8sj7g8rR9rcD\/wrsClw3VZaZtwGbRMS2PQpPkiRJ6ojGjrxP81ngbuBzwJ924gFXr17diYdp29jYWO3HGB0dbat+N2LqlkF6LjNp928LnW2TQW\/fXhu29u3263nY2rfbbN\/62cb16pf2bXzyHhHHAXsAB2Xmhoi4HnhCS\/n2wIZymk1lK1asYNmyZZ0Ndh5jY2ML+rCqWz\/GtBD92r691qk2sX3rZftWs9A2sn3rZfvWzzauVx3tOz4+vqDB4kZPm4mIYyjmuL88M8fLzWPA5hFxQHl\/JXB2L+KTJEmSOqmxI+8RsRfwf4CrgR9FBMAvM\/NPI+JQ4JSI2IxyqcieBSpJktRH1q2fYOmmI7XVV70am7xn5hXAklnKfgTs3d2IJEmS+l87q86BK8\/1m0ZPm5EkSZKGicm7JEmS1BAm75IkSVJDmLxroK1bP\/Hg7SpLPLXWlyRJ6jeNPWFVqsKTciRJ0iBx5F2SJElqCJN3SX2j3WlLTnOSJA0bp81I6htOc5IkaW6OvEuSJEkNYfIuSbPot2k8\/RaPJKn7nDYjSbPot2k8\/RaPJKn7HHmXJEmSGsLkXeqidqcxjDvtQZKGzkI+K6pciFCDwWkzUhctZNqD0yQkabj4WaG5OPIuSZIkNYTJu9TC1Tw0zHz9S9X4XlEvOW1GauFqHhpmvv6lanyvqJcceZfUWJ4ALEkaNo68S2osT+qSJA0bR94lSZKkhmjsyHtEHAe8EtgN2DszV5fblwOnAdsBtwOHZeY1vYqz6datn2DppiO11ZekprA\/lNQPGpu8A+cCJwI\/mLb9ZOCkzDwzIg4BTgGe2+3gBoUn5UhSwf5QUj9o7LSZzFyVmWtbt0XEjsC+wFnlprOAfSNih27HJ0mSJHVak0feZ7ILcENmTgBk5kRE3Fhuv7WdB1q9enUN4c1vbGys9mPUfQnldp7Dnk\/eiy232Kxy\/XvuvZ+rfn5F5frduFx0O8+33y5f3e7X+vO1\/2Jfv\/3WPgvRjfdwO+p+fdb5fLsdz3z79lv7NM30tqi7\/69Tu6+FQZhC5Wu5f9pg0JL3jlmxYgXLli3r6jHHxsYGInlp9zm0+zV0v7VRv8XTjoVMA5jt+Q7K63ex6mqDhX5o1P036be\/+ULjqev122\/t0yuztW\/T+\/+qBmHKVVPbvlPq6CPGx8cXNFjc2Gkzs1gL7BwRIwDl753K7ZIkSVKjDVTynpm3AJcDB5ebDgYuy8y2psxImtlcF0WaaUTCS4IPtqZfIr41nmEfVRxETX99SrNp7LSZiPgM8ArgscCFEXF7Zu4FrAROi4ijgTuBw3oYpjRQBuGrX3VO018PTY9fc\/Pvq0HV2OQ9M48Ejpxh+1XA07sfkSRJklSvgZo2I6m\/+DW0Wvl6kIaDU5bq1diRd0n9z6+t1crXgzQcfK\/Xy5F3SZIkqSFM3iWpQ\/yqWKqP7xep4LQZSeoQvyqW6uP7Syo48i5JkiQ1hMm7OsqvNaXq2nm\/eBGh+TW9\/3HalVTNsL9XnDajjvJrTak63y+d1fT2bHr8UrcM+3vFkXdJkrRoc41uNuGbo0Ebne2kutvGtm+PI++SJGnRmj4a2k78\/RZ73er+2zb9tdNtjrxLkiRJDWHyrkbxqzVJkjTMnDajRvGrNUmSNMwceZckSZIawuRdWgSn8aif+fpUq2FfG1saFE6bkRbBaTzqZ74+1crXgzQYHHmXJEmSGsLkvQ+1+1XluF9tSpI6zGkzUn9y2kwfWshXm34VKknqJKfZSP1pYJP3iFgOnAZsB9wOHJaZ1\/Q2KkmSJGnhBnnazMnASZm5HDgJOKXH8UiS1DFOa5GG04JG3iNiKbAhMx\/ocDwdERE7AvsCLyg3nQV8LiJ2yMxbexeZJEmd4bQWaThVSt4j4u+Af8nMSyLixcA5wIaIeE1mfrvWCBdmF+CGzJwAyMyJiLix3D5f8j4CsG7dunojnMX4+DgA22w50tY+ddWv87Gtb33rW3\/Q67er3+K3fv\/HYv1q9TuhU48zpSXXrP5kgCWTk5PzVoqIm4AnZeY9EXExcALwW+CTmfkHbcZau4gYBU7PzL1atl0JHJKZl86179jY2AHAD2oOUZIkSQI4cHR0dFXVylWnzWxRJu7bArtn5tcAIuKrC4mwC9YCO0fESDnqPgLsVG6fzyXAgcBNgBMKJUmSVIcR4HEUuWdlVZP3X0TEa4E9gAsBImI7oLPfH3RIZt4SEZcDBwNnlr8vqzLffXR0dByo\/N+PJEmStEDXtrtD1eT9z4HPAuuAN5XbXkyZyPeplcBpEXE0cCdwWI\/jkSRJkhal0px3SZK6JSI+THGe1SG9jkWS+k3lpSIjYndgH2Cr1u2ZeXqng5Ik1Ssi1gBbAE\/MzHvKbYdTnNj\/nN5FJkmaS9WlIt8HfAS4Ari3pWgSMHmXpGYaAf4COGahDxARS4AlmbmhY1FJkmZVdeT9PcAzMvOyOoORJHXVp4C\/jojPZ+ZdrQUR8UzgRGA5cDXwF5n5o7LsIuCHwHMoLoi3d0R8keJk\/+cCfwB8D3gj8BngICCBV2fmmvIxTgReATwKuAZ4d2a6TK8kzWOTivXWAavrDESS1HU\/AS4C3tu6sVwW+HyKxHs7imt7nF+uMjblUOBtwNbAdeW215XbdwZ2B\/4T+EdgW+DnwIda9r8EeEpZ9hXg7IjYrHNPTZIGU9Xk\/QPAiRGxQ53BSJK67mjgXdP69\/8NXJOZZ2TmA5l5FnAVxQj6lH\/KzCvK8vXltn\/MzGsz8zfAd4BrM\/PCzHwAOBt46tTOmXlmZt5e7n88sAyIGp+nJA2EqtNmTit\/HxHxYN+6BJjMzLYu6SpJ6h+ZuToivgW8n2J0HIqL2l03rep1FCPqU2a66N3NLbfvm+H+gwseRMR7gbeUx5oEHglsv4CnIElDpWryvketUUiSeulDwKXA8eX9G4EnTKuzK\/DdlvsLXmc4Ig4E\/hp4HnBFZm6IiDspBoUkSXOolLxn5oNXf4qIHapcqVSS1AyZ+YuI+CpwJPAz4NvAZyPi9cDXgFcCvw98q0OH3Bp4ALgVeEREvJ9i5F2SNI9Kc94jYquIODUi7gdujoj7IuJLEbF1zfFJkrrjo8CWAJl5O\/BS4CjgdopR8pdm5m0dOtYFFKP4V1NMx7mfmafhSJKmqXSF1Yg4lWJFgA9QdLRPAP4W+E1mvqnWCCVJkiQB1ee8vwTYfeoqfMCVEfEG4Bf1hCVJkiRpuqpLRd5PsdZvq22B8c6GI0mSJGk2VUfeTwX+LSKO46FpM+8BvlRXYJIkSZI2VjV5\/xjwa+AQijV5b6S4bPYXaoqrZ8bGxpYB+wE3ARM9DkeSJEmDaQR4HHDJ6Oho5dkslU5YHSZjY2MHAD\/odRySJEkaCgeOjo6uqlp51pH3iDi4vCQ2EXHYbPUy8\/T24ut7NwEsX76cpUuXdvXAq1evZsWKFV095jCxfetl+9bL9q2X7Vsv27d+tnG96mjfdevWcfXVV0OZe1Y117SZNwJnlbffOkudSWDe5L2cK\/9KYDdg78xcXW5fDpxGcTLs7cBhmXlNXWUVTQAsXbqUZcuWtbFbZ\/TimMPE9q2X7Vsv27detm+9bN\/62cb1qrF925qmPWvynpkvbLl94GIiAs6lmCM\/fTrKycBJmXlmRBwCnAI8t8YySZIkqbGqXmH1klm2X1xl\/8xclZkbXT0vInYE9uWh0f2zgH0jYoc6yqrEKUmSJPWzquu87znL9uWLOPYuwA2ZOQFQ\/r6x3F5HmSQNjHXr21sMq936kqT+NOdSkRFxanlzacvtKbsBP68jqH6wevXqnhx3bGysJ8cdFrZvvWzferW27+joKAcddV7lfb95\/Mv8+8zD9qmX7Vs\/27he\/dK+863zfsMstyeBMeCrizj2WmDniBjJzImIGKFYQ34tsKSGsrasWLGi6yd+jI2NMTo62tVjDhPbt162b7060b7+fWbn67detm\/9bON61dG+4+PjCxosnjN5z8wPQjG3PTPPX2Bssz32LRFxOXAwcGb5+7LMvLU8ZsfLJEmSpCarOuf9yRHxtNYNEbFfRBxVZeeI+ExE\/Ap4PHBhRFxRFq0E3hURVwPvKu9TY5kkSZLUWPNNm5nyHoolGFtdBZwHHD\/fzpl5JHDkDNuvAp4+yz4dL5MkSZKarOrI+zJgfNq2cWDzzoYjSZIkaTZVk\/dLgSOmbTscuKyz4UiSJEmaTTvTZv49Ig4FrgWeRLF2+gvqCkySJEnSxiqNvGfmzyguyPRZ4GfAZ4DIzN4shi5JkiQNoaoj72TmbymWX5QkSZLUA5WS9\/JiR0cAzwa2p7gYEgCZ+dx6QpMkSZLUquoJqydQLPX4Y4plGM+nWLN9VU1xSZIkSZqmavL+KuBFmXk8MFH+fhnwrNoik6Qhsm79xJzlXvZckgTV57xvAVxX3r43IjbPzJ9HxL41xSVJQ2XppiMcdNR5let\/8\/iX1RiNJKlfVU3erwKeBlwCjAFHR8RvgBvrCkySJEnSxqpOm\/lLYLK8fRTwDODVwMo6gpKkfjLflJZO7SNJ0nwqjbxn5sUttxN4Tl0BSVK\/aXdKCzitRRoU69ZPsHTTkcr1x9dPsKzG+guJSYOl6lKRzwKuz8w1EfEY4BhgAvibzLylzgClYdduJ22nLkmds5DzUeqsP7WPhlfVOe8nAy8ub59Q7ncf8A\/Ay2uIS1Kp3Q+Oc459aVuPb7IvqaqFjkK3s1qSfVLnOQg0WKom7ztn5nXlxZpeCDwRGMcTVqW+46olmokf3uqEukehp\/ZRZ\/m5MFiqJu93R8QOwN7AVZn5u4hYCmxaX2iSBoWJY+\/54a2msL+Y30zP2WtBDI+qyftJFMtELqNYbQbgmUDWEZQ0yIbxg2YYE8dh\/DtLnVB3fzEI781h7FP1kKqrzRwTEecCD2Tm1eXmXwNvrS0yaUANQqfbb6M+da8GsRCD8HeWBpHvTTVd1ZF3MvPKafev6nw4kpqg3z78urEahCRpZt0YQBmEb0w6pepSkU8BPgvsA2xZbl4CTGamLSlJkjSkPJG5u6qOvJ8OfBf4c+De+sKRJEmqzhHZzrNN+1vV5H034H2ZOVljLJIE+MEhqbp+m8Y3CGzT\/lY1eT8PeB5wYY2xSBLgB4ckSbOpmryPAOdFxH9QrDLzoMx8c8ejkhqk6aPETY9fkqRhUjV5vxY4oc5ApKZq+ihxu\/FD\/z0HSZKGRdV13j9YdyCSJEmS5lZ5nfeI2BR4ErA9xTKRAGTm92uIS5IkSdI0Vdd5fwZwNvBIYAvgnvL3TcCutUUnSZJq4zkvUvNUHXn\/NHAicBxwR2Y+OiI+AtxVW2SSJKlWTT9nRxpGm1SsF8Dx09Z5\/zhwVOdDkiRJkjSTqsn774Cty9u\/jog9gW1atkmSJEmqWdXk\/VzgpeXtfwS+B\/wE+HodQUmSJEl6uKpLRb6r5fYnI+LHFKPu364rMEmSJAnaP7l6kE\/Gnjd5j4gR4OfA3pk5DpCZF9UclyRJkgR4cnWreafNZOYExbrum9UfjiSpH6xbP1FrfUnSwlRdKvIE4KyI+DjwK+DBVWcy8\/o6ApMk9Y6jXJLUn6om7yeVv180bfskMJgTiiRJkqQ+UzV537TWKCRJkiTNa87kPSJ+lpl7l\/PeaxMRa4D7yx+A92XmBRGxP3AKsDmwBjgkM28p91lQmSRJktRU852wuls3gii9KjOfUv5cEBGbAGcC78jM5cD3gWMBFlomSZIkNdl8yfvkPOV1GgXuz8xV5f2TgdcsskySJElqrPnmvG8REd+fq0JmPqtDsXw5IpYAq4APALsC17Uc57aI2CQitl1oWWbeUTWY1atXL\/4ZLcDY2FhPjjss6mjf0dHRjj+m1ERN77+aHv9C2H9pkHX6Pd0vfcR8yft64EtdiOPAzFwbEcuATwOfA77RhePOasWKFSxbtqyrxxwbG7MjrZHtK9Wrye8v+wdp8HTyPV1HHzE+Pr6gweJ5k\/fMPG1hIVWXmWvL3+MR8XngX4ETgSdM1YmI7YENmXlHRFy\/kLK6n4ckSZJUp\/nmvC+pO4CI2DIiHlXeXgK8DrgcGAM2j4gDyqorgbPL2wstkyRJ0oAb5KtEzzfyfkwXYngMcE5EjFBc8OlK4M8zc0NEHAqcEhGbUS75CLDQMkmSJA2+Qb5K9JzJe2Z+ou4AMvN\/gKfOUvYjYO9OlkmSJElNNd+0GUmSJEl9wuRdmqZJ894kqZX9lzT4Zp02ExEXZ+b+5e0PZeZHuheW1DuDPE9O0mCz\/5IG31wj78vLEz4BjupGMJIkSZJmN9cJq+cBV0fEGoqlF2e80moHr7AqSZIkaQ6zJu+Z+aZyrfTdgP3ozpVWh9qeT96rrfrr1k+wdNORmqKRJElSv5lvqchVwKqIWNqNK60Ouy232My5ipIkSZrVfBdpAiAzT42I5wCHATsDNwBnZOb3aoxNktQQC\/km0G8PJal9lZL3iDic4mqrXwT+C9gVOCsiPpiZX6gxPklSA7S7ygn47aEkLUSl5B34a+AFmfnTqQ0R8VXgHMDkXZIkSeqCqhdp2g64ctq2BLbtbDiSJGmKF12SNF3VkfdVwAkR8b7MvDcitgQ+AfyovtAkSRpuXnRJ0nRVR95XAvsAv4mIm4G7yvtH1BWYJEmSpI1VXW3mJuBZEfF4YCfgxsz8Va2RSZIkSdpI1WkzAJQJu0m7JEmS1ANVp81IkiRJ6jGTd0mSJKkh5p02ExGbAM8BVmXmutojkjqo9QqOo6OjPY5GkiRpceZN3jNzQ0Scl5lbdyMgqZO86qMkSRokVafNfD8i9q81EkmSJElzqrrazHXAdyLiPGAtMDlVkJlH1xGYJEmSpI1VTd43B84tbz++pljUptb53HXUlyRJUn+pepGmN9UdiNrnZbMlSZKGS+WLNEXEnsCrgcdk5jsjIoBlmfnftUUnSRpYfnsoSe2rlLxHxKuBzwPnAK8H3glsDRwLPL+26NRzfrhKqsswfntoHylpsaqOvH8UeH5m\/jQiXltu+ymwTz1hqV8M44erpMHQTqI8OjralcTaPlXSYlVN3ncEpqbHTLb8npy5ulQPR62k4dXu+99EWdIgqpq8jwGHAqe3bHsd8OOOR6Sh4oexpKp8\/0tS9eT9SODfIuItwJYRcQGwHPjj2iJTx\/XjqLUfxpIkSdVVXSryqnK1mZcC36K4UNO3MvPuOoNTZ7WbKIPJsiRJUj\/ZpGrFzLwX+CFwEfADE3dJkiSpu6ouFbkr8GVgf+BO4NERcTFwSGZeV2N8aph+nJojSVW023+Nr59gmf2dpC6rOuf9NIqTVl+UmfdExFbAx8rtz6kpNjWQc9glNdVC+i+nIkrqtqrTZkaBv8rMewDKKTPvK7dLkiRJ6oKqyfvFwB9O2\/Y04D87G44kSZKk2cw6bSYiPtpy91rg2xFxPsVKM7sALwG+Um94kiRJkqbMNed9l2n3v17+3hEYB74BbFZHUJIkSZIebtbkPTPf1M1AJEmSJM2t6mozRMQWwJOArVq3Z+aPOh1UJ0TEcorVcLYDbgcOy8xrehuVJEmStHBV13k\/DPgcsA64r6VoEti1hrg64WTgpMw8MyIOAU4BntvjmCRJkqQFqzry\/knglZn573UG0ykRsSOwL\/CCctNZwOciYofMvHWe3UcA1q1bV2OEs9tmyzYuEDI+Xmv9bhyj3+r3Y0z9Vr8fY+q3+v0YU7\/V78eYfM69r9+PMfVb\/X6MaVCecyfqtKMl12yrMZZMTk7OWykirgd2z8z17YfWfRExCpyemXu1bLuS4oqwl86179jY2AHAD2oOUZIkSQI4cHR0dFXVylVH3j8InBARH8nM2xYWV2NcAhwI3ARM9DgWSZIkDaYR4HEUuWdlVUfenwH8M\/D41n2Bycxs73uPLiinzVwNbJeZExExQnHS6h4Vps1IkiRJfanqFVbPAE4H9gGWlz97lL\/7TmbeAlwOHFxuOhi4zMRdkiRJTVZ15P1OYNvMnL9yn4iIPSmWinw0cCfFUpHZ26gkSZKkhauavJ8AXJ6Zp9cfkiRJkqSZVE3eVwF\/CPwSuLm1LDOfVU9okiRJklpVXW3mC+WPJEmSpB6pNPIuSZIkqfcqjbxHxJtnK8vMUzsXjiRJkqTZVJ02c+i0+48Fdgd+CJi8L1JELKdYGWc7ivXoD8vMa3obVf+JiO0oli3dHVgHXAMckZm3RsQk8DNgQ1n90Mz8WbnfQcCnKF7vY8CbMvPexZQNqohYA9xf\/gC8LzMviIj9gVOAzYE1FFcrvqXcp+NlgygidgPObdm0DfDIzNx2tnYv97N9ZxERxwGvBHYD9s7M1eX2WfvUbpc12UztO1c\/XO5jX1zRHK\/fNXSxPxjUvmKW1+9uzNIPl\/usoQF9caV13jPzf037eTKwEvjJYg6uB50MnJSZy4GTKP7IerhJ4JOZGZm5N3AtcGxL+TMz8ynlz9SHxVYU52sclJlPAn4HvHcxZUPgVS3teEFEbAKcCbyjfI1+n7Ld6ygbVJm5pqVdn0LxAfKVliobtTvYvhWcCzwLuG7a9rn61G6XNdlM7TtfPwz2xVXN9vqFLvUHA95XPKx9K\/TD0IC+uOpFmmbyT8BbFhvAsCuvBrsvcFa56Sxg34jYoXdR9afMvCMzL2rZdDHwhHl2ezHwk5ZRsJOB1y6ybNiMAvdn5qry\/snAa2osG3gRsRT4M+b\/5tL2nUNmrsrMta3b5upTu13W6efbbTO17wL7YbAvfpiZ2nce9sVtmK992+iHoc\/at1LyHhGbTPvZCngbcNdiAxC7ADdk5gRA+fvGcrtmUf43+3bgX1s2XxQRl0fEJyJiWbltVzYe1bieh9p2oWWD7ssR8d8R8fmI2IZpbZGZtwGbRMS2NZUNgz+heN9f2rICtQ0MAAAHz0lEQVRteruD7bsQc\/Wp3S4baLP0w2Bf3And6g+Gua+YqR+GBvTFVUfeHwDWt\/z8BvgAxZtW6oXPAncDnyvv75qZT6P4iuz3gQ\/2KrCGOzAz9wH2A5bwUPuqs97MxqM9truaaHo\/DPbFnWB\/0B3T+2FoSNtXTd6fCPxey89jMnPXqblAWpS1wM4RMQJQ\/t6p3K4ZlCeh7AG8NjM3AEx9NZaZvwW+CPxRWf16Nv5Kd1ceatuFlg2slnYcBz5P0Y4btUVEbA9syMw7aiobaBGxM\/Bs4MtT22Zpd7B9F2KuPrXbZQNrpn4Y7Is7ocv9wVD2FTP1w9CcvrjqCavXTfu5bTEH1UOyOOP4cuDgctPBwGVZnrmvjUXEMRRzyF5evrmIiEdHxObl7UcAr6JoU4DvAvtFxB7l\/ZXA1xZZNpAiYsuIeFR5ewnwOop2HAM2j4gDyqorgbPL23WUDbo3AOdn5u0wZ7uD7du2ufrUbpfV9yx7a6Z+uNxuX7xIPegPhrWv2Kgfhmb1xXNepCkivkdxZvlsJjPzeYsNYthFxJ4Uy4w9GriTYpmx7G1U\/Sci9gJWA1cD95Wbfwl8kmJ1h0lgU+BHwLsz8+5yv5eVdUaAy4A3ZuY9iykbRBHxe8A5FM93BLgSODIzb4qIZ1K08WY8tNTVzeV+HS8bZBFxNUW7fre8P2u7l+W27ywi4jPAKyiWL74NuD0z95qrT+12WZPN1L4UJ9s9rB\/OzD+NiGdgX1zZLO17EF3uDwa1r5itfyjLNuqHy22N6YvnS95nW01mZ+BIYIvM3GIxAUiSJEmqZs7kfbooLs7wf4C3Al8FPpqZv6opNkmSJEktKl1hNSIeCfwV8E7gW8C+mXltnYFJkiRJ2ticyXt54sm7gaOAi4ADMvOKLsQlSZIkaZr55rzfTLEizaeAn8xUJzP\/Xz2hSZIkSWo137SZ+yjOGp\/tYkyTFOu+S5IkSapZWyesSpLqFREfAH4vMw\/v0vF+CLwzMy\/r9rG7KSJ2o1hadtPMfGCOegdRLOX22m7FJkntMHmXpC6KiLtb7m4BjAMT5f0jMvPLD9+rtlgOAt6RmS\/qwGM9HjiR4qqFm1JcBfO4zPynxT52J1RN3su6q4HXZ+Z\/dyM2SWpHpdVmJEmdkZlbTd2OiDXA4Zl5YY\/CWQmc0aHHOgP4KcWlwMeBvSkujtJEZwFvo1hhTZL6ism7JPWRiPgw8KTMPKRltPjNwEeBrSiutTEGfAnYFTgzM9\/Zsv+bKZb2fSzwY+BtmXndDMdZCjwXOGKeY78R+BjFtwR\/n5kfnyX0\/YC\/bLny5WXTjrc\/cALw+8B1wF9k5kVl2bbA8cALgc2B\/8jMl5dlbwXeB2wLrAJWZuaNZdnUOVlHATsAX6aYAjQZESPA35Xx\/7Z8\/NZ43ggcXe53G\/A3Ld96XAScicm7pD60Sa8DkCTN6+nAHsBrgU8D\/xd4PrAX8JqIeDY8eBn5D1BcEnwH4AcUo8gz2QPYUOFCewcAATwPODoinjxLvYuBkyLidRGxa2tBROwMnA\/8LUUS\/l7gnIjYoaxyBsU\/B3sBOwJ\/X+73XOATwGuAx1Ek\/f887bgvpfjH4Q\/Kei8st7+1LHsq8DTgVS3xbAl8BnhxZm4NPBO4vOUxfw7sVl7jRJL6ism7JPW\/j2Xm\/Zn5b8A9wFmZeUtm3kCRoD+1rLcS+ERm\/ryc130M8JSIeMIMj7kN8LsKx\/5IZt6XmT+lmBazzyz1Xl3G8kHglxFxeUTsV5YdAnw7M7+dmRsy898plh9+SUQ8DngxxYj6nZm5PjP\/o9zvz4BTM\/PSzByn+NbhGeW3AlOOzcy7MvN64HvAU8rtrwE+nZlrM\/MOin8CWm0AVkTE5pl507RrmEy1yzYV2keSusrkXZL6380tt++b4f7UPPonACdGxF0RcRdwB7AE2HmGx7wT2LrCsX\/dcvvelmNtpEy835+ZewGPoRjJPjcilpRxvXoqrjK2AyhG03cB7sjMO2d42J0oRtunjnE3cPu05zNbfDtRnDQ7pfVx7qH4FmMlcFNEnB8Re7bUnWqXu2Z6rpLUS855l6TBsRb4eMUVa34BLImIncsR\/I7JzNsi4jjgDRTTZNYCZ2TmW6fXLUfet42IbTJzerJ8I0XiP1V3S2A7oEq8N1H8YzBlo6k8mXkBcEF5JfG\/Bb4AHFgWPxlYk5m\/rXAcSeoqk3dJGhwnAx+LiMsz84qIeBTwx5l59vSKmbkuIi6kWNrxK4s9cET8HcXc9asoTjp9O\/CLzLw9Is4ELomIFwIXUiwluX9Z\/quI+A7w+Yh4B3A38IzM\/D7FfP2zIuIrFPPQjwH+KzPXVAjpa8CREfEtiqlG72+J9THl8S+k+ObiboppNFOeDXxnYS0hSfVy2owkDYjM\/AbFCiv\/HBG\/BVZTzCefzSnAoR06\/BbANyimmvwPxYj5n5RxrQWmTqa9lWIk\/q946DPoUGA9ReJ\/C\/Ducr8LKebQn0Mxkr478LqK8XwBuIBinv6lwNdbyjYB3kMxsn8HRbLeeiXxgynaRpL6jhdpkqQh1nqF1V7H0g\/KC1cdmpmv6XUskjQTk3dJkiSpIZw2I0mSJDWEybskSZLUECbvkiRJUkOYvEuSJEkNYfIuSZIkNYTJuyRJktQQJu+SJElSQ5i8S5IkSQ3x\/wF6UaKw2kwwpAAAAABJRU5ErkJggg==\" alt=\"\" title=\"\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[10]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">figure<\/span><span class=\"p\">(<\/span><span class=\"n\">figsize<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"mi\">12<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">),<\/span> <span class=\"n\">dpi<\/span><span class=\"o\">=<\/span><span class=\"mi\">80<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">sns<\/span><span class=\"o\">.<\/span><span class=\"n\">boxplot<\/span><span class=\"p\">(<\/span><span class=\"n\">transactions<\/span><span class=\"p\">[<\/span><span class=\"s1\">'Amount'<\/span><span class=\"p\">])<\/span>\r\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">title<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Transaction Amounts'<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt output_prompt\">Out[10]:<\/div>\n<div class=\"output_text output_subarea output_execute_result\">\n<pre>Text(0.5, 1.0, 'Transaction Amounts')<\/pre>\n<\/div>\n<\/div>\n<div class=\"output_area\">\n<div class=\"prompt\"><\/div>\n<div class=\"output_png output_subarea \"><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwQAAAE7CAYAAABjSEazAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMTQAADE0B0s6tTgAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAHsNJREFUeJzt3XmUXWWdr\/GnKpVQYDBgBJIQMTjkVRs1F9q+tyEJdmO3jTQONCIWcBXEIZEs6cZWIKDIoDjfhRrCYAsOCV7FsWnaAZEkXFdrA0GI9A8Q09Am6UQgJIEwpKruH3ufcufkVJJTqXDq1Pt81sqqs6d3v3vvN2\/t79lDdfT39yNJkiQpT52troAkSZKk1jEQSJIkSRkzEEiSJEkZMxBIkiRJGTMQSJIkSRkzEEiSJEkZMxBIkiRJGTMQSNIok1J6XUppfavrIUlqDx3+YTJJOUgpbaoMjgPGAJsr446OiKXPbq12XUrpOmBTRJzeovW\/HPgNcEtEvLYVdWhWSqmb4tjPiohlra6PJLVaV6srIEnPhogYX\/ucUroYmLmjE9iU0riIeHp3163NzQUeBo5MKb0iIn7T6gpJkppjIJCkUkrpUuA1wK+AdwCrgUPL8ccDk4BHgOuBcyLiyXK564CnKb51fmv5+UsRcVE5fSJwBfAXwNiy3H+MiB+klA4CFgJ\/CnQDDwAXRMT3KvWaBlwKzAL2Bu4H\/ne5rr8r5zmxnP1FwKHAP0dEVzmtC\/gQcCqwPxDAuRHx03L63wD\/DLwd+ARwALAMeGdE\/Pd29tdzynrMB+ZQhIMzKtPfB3wQ+CJwFrAvsKj8\/Lmy7puB+RFxTWW5NwMfLbdlDbAAuCwi+lNKLwPuAV4QEf9VrX9le2vH8RfA6eU+vw6YFxF9wIpyVT9OKfUBP4mIt6SUTgLOA6YCTwK\/jIhjBtt+SRotfIZAkrZ2JPAoMA2YWY67B3gtxcn43wLHAR+uW+4E4EfAfsDbgAtSSn9eTjuX4halg4AJwN8A95bTOinCwouAicCVwDdTSi8FSCmNB24GHgNeBexDEVbWR8RHKcLJtRExvvy3tsE2fRh4D0WomQh8CfiXlNIhlXnGAMdQhImDgOcDF+5gX51McbL9deAq4JSyvlUvLPfJS8qyT6Q4Uf9euY4PAQtTSpPK7Z0JfLNc9\/P4Y+B47w7qUm82RZh4AUWQOoXiuAD8Sfnzr8t99paU0j7AtcDpEbF3uQ8+0+Q6JakteYVAkrb2YER8sjoiIq6tDP46pbSQIhh8rDL+ZxHxnfLzLSml3wB\/RnHy+zTFyW8ClkfE7yplrwRWVspZkFL6AEUAuQ94M8WVg\/dHxJZynrua3Kb3AB+PiDvL4WtTSj0U356fWZnvQxGxAQauepy8g3LnAN+KiPUppa9SXMU4iSLg1GwGPhIRvcC9KaVbgacj4oZyPYuAfwJeTXEC\/27gOxHx3XL5f0spfR54H8WVlJ11X0R8sfz8m5TSLRTHY\/Eg8\/cDzwCvSCndExGPUAQxSRr1DASStLWV9SNSSmdQnDwfRPFN+ljg93WzraobfpziigLAJRRXCa4FDkwp\/ZjilqPfpZSeD3yaIgBMBPqA8RS39gAcDDxQCQNNSSl1AAcCv62bdH+5PTW9dVcXqvVvVO7hFCfxZwBExCMppespQkI1EKwtw0C13D\/UBsrbgDZX1vUC4P\/toK47Y3vHYxsR8VhK6Q3A3wOfTCk9BCyMiMubXK8ktR1vGZKkrfVVB1JKf0Fxwj4POCAiJgAXAR07W2BEbIqIcyPilcB0irccXV1O\/izFye4sYEJE7ENx8l4rfyXwovI5gB3Wt8G6+ynCy4vrJr0YeHBnt6GBueXPb6eU1qSU1gDHAq9OKR2xC+U+xPbrurH8+ZzK9ClNrqPhPouImyPijRRXc84CLkspzWqybElqO14hkKTtmwD0AuuALSml11B8C77Tbx8qH5INiucGnqC4jaZ2QjuhHPcwMC6lNI+tT4i\/C1xMcXJ6HrAeeAXFMwT\/RXGbzaEppc7ygdlGrgbOLm\/X+Q+K+\/j\/kuL+\/aallPajeB7hg8A36ibfSBEWbh1K2WVdf5pSeiNwA8VzB2fyx+cZVlN8+\/\/ulNKHKZ69+PtmVhART6eUHqW4hWsZQEppKsUtRTeVVwvWU9xGNKQrM5LUTrxCIEnb90OKW31upTgZ\/yhwTZNlvLQsZwPFN91788eHZM+meHh2HcUbhvYC\/r22YERsong70f4U7\/t\/tKzPhHKWy8tlHk4prU8p1W41qvoExX3636cIHh8Ajo2IXze5HTWnlduyICLWVP8BnwSOL0ND08q\/BdFDEQAepQgcn6J8fqAMPScDR1M8aP1PFA80N+vDFA9+r08pfZvi9+E8YGVKaSPF25D+ISJ+MZTtkKR24h8mkyRJkjLmFQJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpY0N67ehtt902EXg9xfuxnxzOCkmSJElqWjcwDfjRYYcd9nAzCw717xC8nm3fPS1JkiSptU6ieHXyThtqIFgJMG3aNPbcc88hFrHrent7uffee5k+fTpjxoxpWT3UerYFVdkeVGV7UI1tQVWjrT1s3ryZlStXQnme3oyhBoInAfbcc0\/22muvIRax63p7ewHYa6+9RsWB1NDZFlRle1CV7UE1tgVVjeL20PTt\/D5ULEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZayr1RXYFXPnzmX9+vVMnDiRyZMnc\/7557e6SpIkSVJbaetAsHbtWrZs2cITm59sdVUkSZKkttT+twx1dNI5dnyrayFJkiS1pfYPBJIkSZKGzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGWsrQNBX18f9PdvNW7x4sUsXry4RTWSJEmS2kv7BwK2DgRLly5l6dKlramQJEmS1GbaOhBIkiRJ2jUGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWNdra7AcHvooYcAOPbYY1tcEw2mu7ub3t5exo4dyxNPPDEwvrOzkwkTJvDoo48CMGnSJE488UQuu+wy+vr66OzsZL\/99mPs2LEAbNmyhXXr1tHb20tXVxfHHHMMixYt4pRTTuHLX\/4yHR0dnH322axdu5YLL7yQ\/v7+gXKPP\/54Fi5cyPz585kxYwYAq1at4qMf\/Shr1qwB4Mwzz+Soo44aqN\/y5cu56KKLeN7znkd3dzfnnHMOAJ\/97Gc566yztvo8ZcqUgeVWrVrFpZdeSn9\/P+eccw5Tpkxh+fLlXHLJJdus\/xOf+AQdHR2cdtppLFy4kHXr1nH++ecPzNNIffnAwPC73vUuvva1rzXcJ\/Xrry+zflsajRtMo+17Nq1evZqrrrqK8847j6lTpwLN1b+VqvWExm1qd693JO8fjS7D2e5sw2qV0dD2xlxwwQVNL7R69erJwHurJ2etsHjxYgA6xuzBc8d3c8wxxwyM08i1ZcsW+vr6eOaZZ7Ya39\/fz5NPPjkwvGnTJu644w62bNkyMP3xxx9nw4YNbNiwgU2bNg2c5Pf19fHAAw+wbt06VqxYwe9\/\/3vWr1\/Pxo0bueGGG9i4cSN9fX309fWxYcMG7rjjDp566ilWrFjBm970JgCuuOIKVqxYMbD+O+64gxNOOGFgeP78+QPrrZV91113cfvtt2\/z+fDDDx9Y7oorrmD58uUDyxx++OHMnz+fxx57bJv133nnnaxfv54VK1awZs0aent7t5qnkfry77rrroHhFStW8OCDDzbcJ\/Xrry+zflsajRtMo+17Ni1cuJC7776bDRs2cMQRRwDN1b+VqvUcrE3t7vWO5P0zFP39\/axZs4ZJkybR2emF8ZFkONvdzpRlW1DVcLWHkdJ\/PvPMM\/zhD38AuHLKlCmrm1l2VP1v8KrA6PPUU0\/t9Ly1gLF27dqBcUuWLNlquL7ctWvXsnz5clatWsWSJUu2meemm24Cim+868tZsmTJwDJLlixh6dKlACxdupRVq1YBxbcGtfG1+W666aaBsgZbf3VdtXkaqS\/\/lltu2Wq4up5G+6RR2dUya9vSaNxgqvtqe3XfXVatWsWtt94KwK233tp0\/Vupvp61NrG769wu+0ejy3C2O9uwWmW0tL1REQj6e59i9eqmgpAyUbuCsD1f+MIXWLRoUcN5L7\/88oF5dlR2bbizs5NFixYBNCy3Vmb9+ndUx0Yald\/X17fdsurnry970aJFA9+U1Lal0bidretgdd9dFi1aREdHBwAdHR1N17+VqvWsHqfdXed22T8aXYaz3dmG1Sqjpe2NikAg7Yq1a9eybNmyhtOqVxIaqZ209ff3D3zesmXLQHnLli3b6sSuv79\/m6setfVvL7wMtv4dLbcz6stetmzZwG1atW1pNG5nyxus7rvLsmXL6O3tBaC3t7fp+rdStZ6Dtandvd6RvH80ugxnu7MNq1VGS9sbFYGgY8weTJ48udXVUJvaf\/\/9mTlzZsNpe+yxx8A8jVS\/ia597urqGihv5syZA+Nr89XKrF9\/db5GdWxkR8vtjPqyZ86cSVdX8b6B2rY0Grez5Q1W991l5syZjBkzBoAxY8Y0Xf9WqtZzsDa1u9c7kvePRpfhbHe2YbXKaGl7oyIQSIPZmZPlefPm0dPT03DeOXPmDMyzo7Jrw319ffT09AA0LLdWZv36d1THRhqVv6MHo+rnry+7p6dn4Laj2rY0GrezdR2s7rtLT0\/PVldumq1\/K1XrWT1Ou7vO7bJ\/NLoMZ7uzDatVRkvbG1WB4Ic\/\/GGrq6BhVv9t+vbU3nhV\/UZ69uzZDb+hrn7zP2PGDKZMmcLs2bO3maf22tEZM2ZsU87s2bMHlpk9ezazZs0CYNasWQOvHZsyZcrA+Np8Rx111EBZg62\/uq7aPI3Ul3\/kkUduNVxdT6N90qjsapm1bWk0bjDVfbW9uu8uU6ZMGXiz0BFHHNF0\/Vupvp61NrG769wu+0ejy3C2O9uwWmW0tL1RFQjUHrq7uxk7dix77bXXVuM7OzvZd999B4YnTZrEnDlztnpY54ADDmDq1KlMnTqVSZMmDdwa0tXVxRve8AamT5\/OvHnzmDZtGgcffDA9PT3MmzePsWPH0tXVRVdXF1OnTmXOnDl0d3dv9e11T08PkyZNGhhu9E3+uHHjmDRpEtOmTRv45nn69OnbfK7q6enh4IMPHlimVlaj9dfqPW\/ePA488EDGjRu3w2\/Y68uvDs+bN2\/QfVK\/\/voy67dlsO1rZEfl7249PT0ceOCBQ65\/K+1Mm9rd65WeLcPZ7mzDapXR0PY6hvJA4m233XYocNvLX\/7ybU7qnk2114x2jnsuBx4wgQULFjB37lwAFixY0LJ66dnX29vL8uXLmTFjxkBIUL5sD6qyPajGtqCq0dYennjiCe655x6Aww477LDbm1nWKwSSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxgwEkiRJUsYMBJIkSVLGDASSJElSxrpaXYFd0dnZSV9f\/1bjZs2a1aLaSJIkSe2n\/QNBf99W497+9re3qDaSJElS+\/GWIUmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWMGAkmSJCljBgJJkiQpYwYCSZIkKWPtHwj6++h7ZlOrayFJkiS1pa5WV2BX7L\/\/\/qxfv56JEycyefLkVldHkiRJajttHQgWLFjA8uXLmTFjBmPGjGl1dSRJkqS20\/63DEmSJEkaMgOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpSxriEu1w2wefPmYaxK83p7ewF44oknGDNmTEvrotayLajK9qAq24NqbAuqGm3toXJe3t3ssh39\/f1Nr\/C2227rAb7R9IKSJEmSdqeTDjvssEXNLDDUKwQ\/Ak4CVgJPDrEMSZIkScOjG5hGcZ7elCFdIZAkSZI0OvhQsSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlDEDgSRJkpQxA4EkSZKUMQOBJEmSlLGuVldgqFJK+wBXAkcDG4FPRcT\/aW2tNBxSStcAPcDTldGviIgHy+kvAL4MHAGsBc6JiOsqyx8JfAl4EbACOD0i7qxMPwM4B5hA8ee9T4+IR3fnNmnnlcfnncArge9GxImVaYcAVwOvAlYCZ0TEzyrTjwc+CUwGfgGcFhH\/WZl+EfA+YBzwLeD9EfFUOc0+ZQTaQXtYCRwA9Jaj\/jMi\/qQyfch9QUppHHAZcCKwBbgKODci+nfHdmrHUkp7UBzPo4DnAw8Cl0TEonK6\/UMmdqItrMS+oSntfIXgi8AewIHA64FzU0pHt7ZKGkafi4jxlX8PVqYtBu6n6AROBa4qfxGQUpoIfB\/4FLBvOe8Pys6DlNJfAR8DjqX4pdALLHyWtkk7ZxVwMUUnOyClNBb4IfADimP7MeC7KaX9y+kvB64B5gATgV8D\/7ey\/OnAScD\/pPgl8DLgwsoq7FNGpobtoeItlX6i+gt\/V\/uCjwCHAtPLn8dRnCyqdboo2sNRwHOB9wKXp5T+3P4hO4O2hco89g1NaMtAkFJ6DvBWYH5EbIiIuyh+WZzW2pppd0spvZSiw54fEZsj4ucUvwDeUc5yHHB\/RHy1\/Gbn8xTt\/HXl9HcCX4mI2yNiIzAfOC6lNOFZ3AxtR0R8JyK+B\/yhbtJrgb2ASyPiqYj4JnA3RV8AcDLwrxHx44jYTNFpvzqlVPtFcCpF0HwgIh6m6PBPBfuUkWw77WFHdrUvOBW4MCLWll9IfAbbQ0tFxOMR8ZHy\/3B\/RCwDbgUOx\/4hKztoCzti39BAWwYCilTWGRF3V8YtBw5pUX00\/N6TUnokpXRnSqn6H+0Qikt\/1Vt8qsf+kHIYgPIS3q+3M\/0+iluTXjb8m6BhdghwV0T0VcZt79hvBH472PTy834ppQOwT2ln16aU1qWUfp5SOqIyfsh9QUppX2AK27YX28MIUp6o\/ynFib\/9Q8bq2kKNfUMT2jUQjAceqxu3Hti7BXXR8LuMogPeHzgT+FRK6e\/KaeMpjnVV9djv6nSNXMN97Guf98Y+pV2dDEwDDgK+CdyYUnphOW1X2sv4ynB1WndKqW2fvRtNUkqdFLcA\/Qr4MfYP2WrQFsC+oWntWvlNFPeMVU2geNBHbS4ibq8M3pxS+hLF5drrKY59\/e091WO\/q9M1cg33sa993kjR0duntJnyNoGay1NKJ1I89LmQXWsvmyrD1c9PRsSW4am9hiql1EFxjKcAr4+I\/pSS\/UOGGrUFsG8Yina9QnAv0F+59w9gBltfKtLo0Qd0lJ\/vBl5YvvGhpnrs7y6HgYHO4lXbmf4SigfF\/mO31FzD6W7gleW3QTXbO\/bjgRcPNr38vC4i\/hv7lNGivq8YUl9Q3pK4im3bi+2hxcrj+CWK43F0RNROyuwfMrOdttCIfcMOtOUVgoh4PKX0beCSlNIpwAuB0ykfAFJ7SymdANwIPE7xgNAZwDwo7uVLKf0KuDil9I\/Aa4A38scHib4DfDqldDLFGyTmluN\/Wv68BlicUloE3Efx9pLvRET95WC1SHnZtfavM6XUTfGWh58Dm4EPpZQ+T3HcX0nxgBjA14FfpZReByyjeCjw1xGxopx+DfDhlNK\/UFz+\/wjwFbBPGcm20x4mUxynfytnfQdFf3B6ObyrfcE1wPkppV8C3cBZFLczqrW+CPwv4KiI2FAZ\/3PsH3LTsC2klA7CvqFp7XqFAOD9wDPAauAnFG8WuLG1VdIwOQN4iKJTvgI4r\/p3Bije\/ZuAh4GvAu+tPexVvh3izcDZ5fInAW+svUs6In4CXADcAKyheN90278ubJQ5j+IX+3yKW8U2A1dFxDMUv+TfQnHP5oXAcRGxFiAi7qH4BX0l8AjwP4ATKuVeDVxHcZ\/p7yg6+o9UptunjEwN2wPFvbxfoDjWayh+6f9tRPwWhqUv+BhwJ0U7WU7xmkJfUdxC5T3gc4FXAA+llDaV\/861f8jL9toC9g1D0tHf39Z\/R0GSJEnSLmjnKwSSJEmSdpGBQJIkScqYgUCSJEnKmIFAkiRJypiBQJIkScqYgUCSJEnKmIFAkiRJypiBQJLaQErp1JRSf0rp0lbXZWeklF5b1rer1XWRJG2fgUCS2sNcir\/OfVpKaY9WV0aSNHr4l4olaYRLKb0G+CVwNPB94F0R8fVy2jXAnsAjwAlAP3AxcD1wNXA48FC5zC\/KZcYA\/wC8GzgAuA84PyJuLKe\/E7g4IqZW6nAB8LqImFkO\/xy4E9gPOAbYAHw8Ii5PKR0EBNANPF4W8fGI+Pjw7hlJ0nDwCoEkjXxzgeUR8a\/Ad8vhqjcDNwH7A6cDnwO+CnwQ2Af4CXBNZf4zgQ8AJwITgc8A308pHdpkvd5JETr2Lcv8YkrpJRHxIEV4AdgnIsYbBiRp5DIQSNIIllLaF3gbcGU56krgz1NKr67Mtiwivh0RvRHxPeAx4McRcVdE9FKEg+kppQnl\/O8BPh0Rt0fEloi4DrixHN+M6yPiZxHRFxHXU1ylOGxoWypJahUDgSSNbKdS3Ab0jXL4ZuB+tr5KsLpumcfrxtVu29m7\/PkC4Ld1y9wPHNRk3VY1WO\/ejWaUJI1cBgJJGqFSSh3A+4BxwL0ppTUUJ\/pTgZNSSs8dYtEPAS+uG\/di4MHy80bgOXXTpzS5jr4h1EuS1AK+Dk6SRq6\/Al4K\/CVwT2X83sAdwDuGWO7VwAdTSrcAdwPHAW+geACZsuy9U0pvA74FzAbeCqxoYh1ryp+pyeUkSc8yA4EkjVxzgJ9GxM1149eklK4up\/9yCOV+DhgDfJviQeT7gOMi4t8BIuKBlNIZFA8bXwXcAHwF+LOdXUFE3JtS+gJwc0ppHHBpRLTF31CQpNz42lFJkiQpYz5DIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXMQCBJkiRlzEAgSZIkZcxAIEmSJGXs\/wPNkGRBoKuIswAAAABJRU5ErkJggg==\" alt=\"\" title=\"\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>From the plots above, we can see that almost all values in the <em>Amount<\/em> column are below 5000, and most of them are even less than 200. Also, we can&#8217;t see any correlation between fraud transactions and <em>Time<\/em>, so let&#8217;s drop this column and we will begin to split our data into train and test datasets.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[11]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">transactions<\/span> <span class=\"o\">=<\/span> <span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">drop<\/span><span class=\"p\">([<\/span><span class=\"s1\">'Time'<\/span><span class=\"p\">],<\/span><span class=\"n\">axis<\/span><span class=\"o\">=<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">X<\/span> <span class=\"o\">=<\/span> <span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">drop<\/span><span class=\"p\">(<\/span><span class=\"n\">labels<\/span><span class=\"o\">=<\/span><span class=\"s1\">'Class'<\/span><span class=\"p\">,<\/span> <span class=\"n\">axis<\/span><span class=\"o\">=<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># Features<\/span>\r\n<span class=\"n\">y<\/span> <span class=\"o\">=<\/span> <span class=\"n\">transactions<\/span><span class=\"o\">.<\/span><span class=\"n\">loc<\/span><span class=\"p\">[:,<\/span><span class=\"s1\">'Class'<\/span><span class=\"p\">]<\/span>               <span class=\"c1\"># Label<\/span>\r\n<span class=\"n\">X<\/span><span class=\"o\">.<\/span><span class=\"n\">head<\/span><span class=\"p\">(<\/span><span class=\"mi\">4<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt output_prompt\">Out[11]:<\/div>\n<div class=\"output_html rendered_html output_subarea output_execute_result\"><a href=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-7493\" src=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM.png\" alt=\"\" width=\"1914\" height=\"272\" title=\"\" srcset=\"https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM.png 1914w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-300x43.png 300w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-1024x146.png 1024w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-768x109.png 768w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-1536x218.png 1536w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-830x118.png 830w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-230x33.png 230w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-350x50.png 350w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.06-PM-480x68.png 480w\" sizes=\"(max-width: 1914px) 100vw, 1914px\" \/><\/a><\/div>\n<div><a href=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7495\" src=\"https:\/\/exmachina.ch\/images\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM.png\" alt=\"\" width=\"1996\" height=\"270\" title=\"\" srcset=\"https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM.png 1996w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-300x41.png 300w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-1024x139.png 1024w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-768x104.png 768w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-1536x208.png 1536w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-830x112.png 830w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-230x31.png 230w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-350x47.png 350w, https:\/\/exmachina.ch\/wp-content\/uploads\/2020\/03\/Schermata-2020-03-23-alle-19.01.30-PM-480x65.png 480w\" sizes=\"(max-width: 1996px) 100vw, 1996px\" \/><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>As the dataset is clearly unbalanced, we will perform OverSampling in order to make &#8216;0&#8217; and &#8216;1&#8217; classes equal.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[12]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"kn\">from<\/span> <span class=\"nn\">imblearn.over_sampling<\/span> <span class=\"k\">import<\/span> <span class=\"n\">RandomOverSampler<\/span>\r\n<span class=\"n\">ros<\/span> <span class=\"o\">=<\/span> <span class=\"n\">RandomOverSampler<\/span><span class=\"p\">(<\/span><span class=\"n\">random_state<\/span><span class=\"o\">=<\/span><span class=\"mi\">0<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">X_resampled<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_resampled<\/span> <span class=\"o\">=<\/span> <span class=\"n\">ros<\/span><span class=\"o\">.<\/span><span class=\"n\">fit_resample<\/span><span class=\"p\">(<\/span><span class=\"n\">X<\/span><span class=\"p\">,<\/span> <span class=\"n\">y<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt\"><\/div>\n<div class=\"output_subarea output_stream output_stderr output_text\">\n<pre>Using TensorFlow backend.\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>We will use 80% of our data as a training dataset, and 20% as a test.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[13]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.model_selection<\/span> <span class=\"k\">import<\/span> <span class=\"n\">train_test_split<\/span>\r\n\r\n<span class=\"n\">X_train<\/span><span class=\"p\">,<\/span> <span class=\"n\">X_test<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_train<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_test<\/span> <span class=\"o\">=<\/span> <span class=\"n\">train_test_split<\/span><span class=\"p\">(<\/span><span class=\"n\">X_resampled<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_resampled<\/span><span class=\"p\">,<\/span> <span class=\"n\">test_size<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">,<\/span> <span class=\"n\">random_state<\/span><span class=\"o\">=<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Model-training-and-evaluation\">Model training and evaluation<\/h3>\n<p>Let&#8217;s import our Random Forest model and fit out training data.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[14]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.ensemble<\/span> <span class=\"k\">import<\/span> <span class=\"n\">RandomForestClassifier<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.metrics<\/span> <span class=\"k\">import<\/span> <span class=\"n\">accuracy_score<\/span><span class=\"p\">,<\/span> <span class=\"n\">f1_score<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.metrics<\/span> <span class=\"k\">import<\/span> <span class=\"n\">confusion_matrix<\/span> \r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[15]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">rf<\/span> <span class=\"o\">=<\/span> <span class=\"n\">RandomForestClassifier<\/span><span class=\"p\">(<\/span><span class=\"n\">n_jobs<\/span><span class=\"o\">=-<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">random_state<\/span><span class=\"o\">=<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">n_estimators<\/span><span class=\"o\">=<\/span><span class=\"mi\">20<\/span><span class=\"p\">,<\/span> <span class=\"n\">verbose<\/span><span class=\"o\">=<\/span><span class=\"mi\">0<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[16]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">rf<\/span><span class=\"o\">.<\/span><span class=\"n\">fit<\/span><span class=\"p\">(<\/span><span class=\"n\">X_train<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_train<\/span><span class=\"p\">)<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt output_prompt\">Out[16]:<\/div>\n<div class=\"output_text output_subarea output_execute_result\">\n<pre>RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\r\n            max_depth=None, max_features='auto', max_leaf_nodes=None,\r\n            min_impurity_decrease=0.0, min_impurity_split=None,\r\n            min_samples_leaf=1, min_samples_split=2,\r\n            min_weight_fraction_leaf=0.0, n_estimators=20, n_jobs=-1,\r\n            oob_score=False, random_state=1, verbose=0, warm_start=False)<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>As we have trained our model, let&#8217;s see how it performs on the testing set. For our classification metrics, we will use the accuracy score and f1-score. They will show us how efficient our model is on test data.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[17]:<\/div>\n<div class=\"inner_cell\">\n<div class=\"input_area\">\n<div class=\" highlight hl-ipython3\">\n<pre><span class=\"n\">y_pred<\/span> <span class=\"o\">=<\/span> <span class=\"n\">rf<\/span><span class=\"o\">.<\/span><span class=\"n\">predict<\/span><span class=\"p\">(<\/span><span class=\"n\">X_test<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Accuracy of our model is \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">accuracy_score<\/span><span class=\"p\">(<\/span><span class=\"n\">y_test<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_pred<\/span><span class=\"p\">))<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"F1-score metric for our model: \"<\/span><span class=\"p\">,<\/span> <span class=\"n\">f1_score<\/span><span class=\"p\">(<\/span><span class=\"n\">y_test<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_pred<\/span><span class=\"p\">))<\/span>\r\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"n\">confusion_matrix<\/span><span class=\"p\">(<\/span><span class=\"n\">y_test<\/span><span class=\"p\">,<\/span><span class=\"n\">y_pred<\/span><span class=\"p\">))<\/span> \r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"output_wrapper\">\n<div class=\"output\">\n<div class=\"output_area\">\n<div class=\"prompt\"><\/div>\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Accuracy of our model is  0.9999736208079067\r\nF1-score metric for our model:  0.9999735922466836\r\n[[56923     3]\r\n [    0 56800]]\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>As the final result, we get pretty good accuracy.<br \/>\nThis means that our classifier can detect a fraud transaction.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"prompt input_prompt\"><\/div>\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h3 id=\"Summary\">Summary<\/h3>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\">\n<div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>In this article we showed an example of a real-life business problem: detect a fraud card transaction in the dataset. It is very important for the companies to know this information. We were using Random Forest Classifier, and after evaluating our model on test set we got about 99.9% accuracy.<\/p>\n<p>To sum up, this is just one simple problem resolution approach, where injection of AI algorithm can lead to huge impacts for the company. There are a lot of unsolved business real-world problems, but with AI algorithms, computing resources, Big Data and research time almost everything becomes possible to solve.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this article we showed an example of a real-life business problem: detect a fraud card transaction in the dataset.<\/p>\n","protected":false},"author":33,"featured_media":7508,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-7484","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/posts\/7484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/comments?post=7484"}],"version-history":[{"count":1,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/posts\/7484\/revisions"}],"predecessor-version":[{"id":26551,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/posts\/7484\/revisions\/26551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/media\/7508"}],"wp:attachment":[{"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/media?parent=7484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/categories?post=7484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/exmachina.ch\/en\/wp-json\/wp\/v2\/tags?post=7484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}