diff --git a/Chapter9/RandomForest/Classification/README.md b/Chapter9/RandomForest/Classification/README.md index 5c4a0ff..80d82e2 100644 --- a/Chapter9/RandomForest/Classification/README.md +++ b/Chapter9/RandomForest/Classification/README.md @@ -1 +1,22 @@ -This readme should describe 'what is in the python code'. \ No newline at end of file +What it does : + + 1. Reads a csv file from the google drive, then create a random forest classification model on the child vs adult dataset. Visualize the tree. Calculate the confusion matrix and accuracy. + +Dependancies : + + 1. sklearn module is needed to be installed in the local machine. + + 2. pandas module is needed to be installed in the local machine. + + 3. matplotlib module is needed to be installed in the local machine. + + 4. gdown module is needed to be installed in the local machine, to download the CSV file from the google drive. + + +Things to check before running : + + 1. Check whether you have given the correct file location of the csv file. + + 2. Check whether you have access to the file. + + 3. Check whether the file format is correct. \ No newline at end of file diff --git a/Chapter9/RandomForest/Classification/random_forest_classification.ipynb b/Chapter9/RandomForest/Classification/random_forest_classification.ipynb new file mode 100644 index 0000000..76755d3 --- /dev/null +++ b/Chapter9/RandomForest/Classification/random_forest_classification.ipynb @@ -0,0 +1,328 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Random_forest_classifier.ipynb", + "provenance": [], + "collapsed_sections": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "P7CaopIrGFBw" + }, + "source": [ + "# **Problem: Random Forest Classifier Model**\n", + "\n", + "The python program reads a csv file (child vs adult dataset) from the google drive, and creates a random forest classification model on that dataset. Visualize one of the trees, calculate the confusion matrix and accuracy. \n", + "\n", + "**Examples:**\n", + "\n", + "Input -->\n", + "\n", + "> url = 'https://drive.google.com/file/d/1J5z8OsAtgSp9i1eLxQFoxVexSZJuhI_-/view?usp=sharing'\n", + "\n", + "Output -->\n", + "\n", + "> One of the trees\n", + "\n", + "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1MAAAIuCAYAAABac1I3AAAgAElEQVR4AezdB5Qcxbn28ecaY8u+TuSMyFkooIByzjnnVc4554SyhIQCEhKSAEkIEMgSOWcwGLAxmGTA5GiS0/UN/nxvfectpobZ1YbZ2dmd9J9zlp7t6a6u/k3vDI+q+22JBwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECFClSqVOlzSY4fuYhFhfqzMQQQQAABBBBAAAEEEMhcAcfjW4FIoMzcd5KeI4AAAggggAACCCCAQIUKkKUiAoSpCj3u2BgCCCCAAAIIIIAAAhkvQJgiTGX8QcwOIIAAAggggAACCCCQCoEKDVPXX3+9e+WVV+La5qJFi9zf//73Qpf9f//v/xU6P8x84okn3KpVq9ywYcPcP//5zzDb9evXz1111VXutddei84LTxiZSsXhxzYRQAABBBBAAAEEEMhcgZAl3Lx589z//M//uGXLlrm//OUvburUqe7KK690Bw4ccC+//LLbtGmTmzRpkl++Y8eO7sYbb3Rbt2718y28xD5Wrlzprr76avfiiy+62267za1du9bdfvvtzsLUggULfMj54IMP3IYNG/z6S5cudf/4xz98+7b9hx9+2BUMU3/729/cTTfd5FavXu0OHjzo/u///s8HIwtH9vPYY4/FdsE/nzZtmrP1wmPKlCnOtvWHP/whzIpOCVOZexDTcwQQQAABBBBAAAEEUiEQDROvvvqq27Ztmw8xzz//vBs5cqQPPxaKnn76abdlyxbXo0cPH04slNjjmWee8YHr7rvvjrZjT+6//34foGy96dOnR1+zMGUB65FHHnG2ztixY/1rM2bMcM8995zbvXt39PeCYWrixIlu/vz57v333/fLlBSmdu7c6bcR3Xjkyb/+9S8fFAvOJ0yl4vBjmwgggAACCCCAAAIIZK5AvkzRqVMn9/bbb7v/+q//chZwNm/e7J588km3ceNGt3fvXtetWzf35z//2dmIjz3uvfdePwJlo0Wxj1tuucWvs337dj8yZSNcd955pw9ndpqfjSLdddddpRqZsvZt9Gr//v3u1ltvjd3cYc/37dvnbPTMRqxslM36YY8VK1a4OXPmuEOHDh22DmEqcw9ieo4AAggggAACCCCAQCoEoqHi2WefdYsXL47+nmtPCFOpOPzYJgIIIIAAAggggAACmSuQlMxk11rZKXz2Y6NCmfggTGXuQUzPEUAAAQQQQAABBBBIhUC55Z7CTsW744473H//93+XuM1QAGPmzJnOClWEx+jRo/2pezaKluwHYSoVhx/bRAABBBBAAAEEEEAgcwWSlknuu+8+Xymvd+/evvy5XVf13nvvuV69evkKfHadUsGiElYkIlTjs6AVHlatz4pbfPrpp279+vVhtl/fKgUSpjL3gKPnCCCAAAIIIIAAAghki0A0qJT1iVXbs0p5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FCpVCKVIChxLHx+t5fS/mqQADo9AEiCOzeuWXD1DKlM7ymMcpvChGmWWqbf3VlJz5mwOmthSEtXv947neslH/p/Fq9aj9JgFaKgf2wjQo/g4k5ahes4GLh6Fx5VkDfXzdrBxJSa34nkbeFh/iJxKillYhvKxjTz6JSVmQbmVjm3k1EemnEnQUDtn89/f5ztklZNb7bVNfDzKjll8brVjHxgZVSd30nOrXvOFi1VCfiqvvWQyICFxJUO3wnkv+Vh/dwf0WmXKOS6VKUcuKlOOPMyvPFaQbiWpGoQfIZWp3k+LypT5W+P+2FjTNNSkydX7GYTvjZmQy4rPrSJVNvFRmTJ/Kn44Vpn6gYX5yGP16FaVKy+/TypT5k+HzccqU86Bqkw5clGZcuRhfqUyZabR91hlqpeJylTfz4arMypTjmRUpm58h261atNA3q+X/4MMMipTjt8XeaUyJSR6W5UpRx72vfrFz3/+3Y0vsMwxvKXbG3+Pz4B+8bN//2lx6f17vObyU+Nh/szf+Nt8YPOvP7HPCv89XvOw3vhvP/vFLc3nxvu3/lkDfv2vP/tp/daav0M4vvH3DZiLsxt+/u//cst9Zm68Z2d/js/n/uUn8Nm58Tf4xOIXP/u3W+5zYf2euHt94+8bMKOf8n+fwcvb/0b/lD8v3nxWfso8rN8rb/gM+IunNygBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloASUgBJQAkpACSgBJaAElIASUAJKQAkoASWgBJSAElACSkAJKAEloAScE/j/10miL0+ZMioAAAAASUVORK5CYII=)\n", + "\n", + "> Confucion matrix = [[488 12]\n", + " [163 337]]\n", + "\n", + "> Accuracy = 0.825\n", + "\n", + "**Notes:**\n", + "\n", + "Following things are needed to be checked before running the program.\n", + "* Check whether you have given the correct location of your csv file.\n", + "* Check whether you file format is correct.\n", + "* Check whether you have access to the file." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "I2vFJB23zGv8" + }, + "source": [ + "#@title MIT License\n", + "\n", + "# Copyright (c) 2021 AIClub\n", + "\n", + "# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated \n", + "# documentation files (the \"Software\"), to deal in the Software without restriction, including without \n", + "# limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of \n", + "# the Software, and to permit persons to whom the Software is furnished to do so, subject to the following \n", + "# conditions:\n", + "\n", + "# The above copyright notice and this permission notice shall be included in all copies or substantial\n", + "# portions of the Software.\n", + "\n", + "# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT \n", + "# LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO \n", + "# EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN \n", + "# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE \n", + "# OR OTHER DEALINGS IN THE SOFTWARE." + ], + "execution_count": 10, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VBqjhcUbc-72" + }, + "source": [ + "# Import modules" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "9S-OD3v0cTxA" + }, + "source": [ + "# Import pandas module to read the CSV file and to process the tabular data\n", + "import pandas as pd\n", + "\n", + "# Import train_test_split to split data as test and train\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Import Random Forest Classifier\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "# Import accuracy_score and confusion_matrix functions for accuracy calculations\n", + "from sklearn.metrics import accuracy_score, confusion_matrix\n", + "\n", + "# Import plot_tree function to visualize the decision tree\n", + "from sklearn.tree import plot_tree\n", + "\n", + "# Import pyplot function to visualize the decision tree\n", + "from matplotlib import pyplot as plt\n", + "\n", + "# Import gdown module to download files from google drive\n", + "import gdown" + ], + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NC5yAkbHdCZm" + }, + "source": [ + "# Get the file location from the google drive" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "hR2Ar8XHdoav" + }, + "source": [ + "# Please change the url as needed (make sure you have the access to the file)\n", + "url = \"https://drive.google.com/file/d/1J5z8OsAtgSp9i1eLxQFoxVexSZJuhI_-/view?usp=sharing\" \n", + "\n", + "# Derive the file id from the url\n", + "file_id = url.split('/')[-2]\n", + "\n", + "# Derive the download url of the file\n", + "download_url = 'https://drive.google.com/uc?id=' + file_id\n", + "\n", + "# Give the file name you want to save it \n", + "file_name = \"child_vs_adult.csv\" \n", + "\n", + "# Derive the file location\n", + "file_location = \"/content/\" + file_name" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gd1WH9wQdou7" + }, + "source": [ + "# Downloading, creating of random forest classification model and calculating of metrics" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uMe4N40Uh5fe" + }, + "source": [ + "Download and read the CSV file" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ouYfE4areWFk" + }, + "source": [ + "# Download the file from drive\n", + "gdown.download(download_url, file_location, quiet=False)\n", + "\n", + "# Read the CSV file\n", + "data = pd.read_csv(file_location)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GHfLu6-aggWJ" + }, + "source": [ + "Display a sample from the dataset" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ipsfzY3BgqAE" + }, + "source": [ + "# Print a sample from the csv dataset\n", + "print('---------- First 5 rows of the Dataset ----------\\n', data.head())" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "T7pn823DhbAi" + }, + "source": [ + "Create the random forest classification model" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "I-LutOhihk1-" + }, + "source": [ + "# Please change the target variable according to the dataset\n", + "# You can refer to the dataset details printed in the above step \n", + "target_column = 'who_am_I'\n", + "\n", + "# Seperate the training data by removing the target column\n", + "X = data.drop(columns=[target_column])\n", + "\n", + "# Separate the target values\n", + "y = data[target_column].values\n", + "\n", + "# Split the dataset into train and test data\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1, stratify=y)\n", + "\n", + "# Create random forest classifier\n", + "# You can change the n_estimators and max_depth in order to get a heigher accuracy\n", + "classifier = RandomForestClassifier(n_estimators=5, max_depth=4)\n", + "\n", + "# Train the model\n", + "classifier.fit(X_train, y_train)\n", + "\n", + "# Predict using test values\n", + "y_pred = classifier.predict(X_test)\n", + "\n", + "# Get actual values and predicted values into a table\n", + "predicted_results = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})\n", + "print('---------- Predicted Results ----------\\n', predicted_results)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qcEI6lkLEbvt" + }, + "source": [ + "Visualize on of the trees" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YiTuGi1hEcAF" + }, + "source": [ + "# Get the feature names\n", + "feature_names = list(X.columns)\n", + "\n", + "# Get the target names\n", + "target_names = data[target_column].unique().tolist()\n", + "\n", + "# Plot one of the decision trees\n", + "# Choose the tree that you want to visualize by changing the value inside the 'estimators_[value < n_estimators]'\n", + "fig = plt.figure(figsize=(15,10))\n", + "plot_tree(classifier.estimators_[2], feature_names=feature_names, class_names=target_names, filled=True)\n", + "plt.show()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RxAogMqQhlcW" + }, + "source": [ + "Confusion matrix" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "qSMrcrFYhuPX" + }, + "source": [ + "# Calculate the confusion matrix\n", + "confusion_mat = confusion_matrix(y_test, y_pred)\n", + "print ('---------- Confusion Matrix of Your Model -----------\\n', confusion_mat)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "eEpwTG1oAtls" + }, + "source": [ + "Accuracy" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "EEfpac8-AveP" + }, + "source": [ + "# Calculate accuracy using 'accuracy_score'\n", + "accuracy = accuracy_score(y_test, y_pred)\n", + "print('---------- Accuracy of Your Model -----------\\n', accuracy)" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/Chapter9/RandomForest/Classification/random_forest_classification.py b/Chapter9/RandomForest/Classification/random_forest_classification.py index 06905d8..8b4637e 100644 --- a/Chapter9/RandomForest/Classification/random_forest_classification.py +++ b/Chapter9/RandomForest/Classification/random_forest_classification.py @@ -1,3 +1,118 @@ -# TODO: Create a random forest model (using scikit-learn) on the child vs adult dataset (classification). -# Visualize one of the trees. Calculate the accuracy and confusion matrix -# TODO: Code should be well commented. \ No newline at end of file +'''Copyright (c) 2021 AIClub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without restriction, including without +limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE.''' + + +# Python program to create a random forest model using scikit-learn on the child vs adult dataset (classification). +# Visualize one of the trees. Calculate the accuracy and confusion matrix + + +# Import pandas module to read the CSV file and to process the tabular data +import pandas as pd + +# Import train_test_split to split data as test and train +from sklearn.model_selection import train_test_split + +# Import Random Forest Classifier +from sklearn.ensemble import RandomForestClassifier + +# Import accuracy_score and confusion_matrix functions for accuracy calculations +from sklearn.metrics import accuracy_score, confusion_matrix + +# Import plot_tree function to visualize the decision tree +from sklearn.tree import plot_tree + +# Import pyplot function to visualize the decision tree +from matplotlib import pyplot as plt + +# Import gdown module to download files from google drive +import gdown + + +# ------------------------------------ Get the file from the google drive. ------------------------------------------ + +# Please change the url as needed (make sure you have the access to the file) +url = 'https://drive.google.com/file/d/1J5z8OsAtgSp9i1eLxQFoxVexSZJuhI_-/view?usp=sharing' + +# Derive the file id from the url +file_id = url.split('/')[-2] + +# Derive the download url of the file +download_url = 'https://drive.google.com/uc?id=' + file_id + +# Give the location you want to save it in your local machine +file_location = r'child vs adult.csv' + +# Download the file from drive to your local machine +gdown.download(download_url, file_location) + + +# ---------------------------------- Create the Random Forest Classifier Model ------------------------------------- + +# Read the CSV file +data = pd.read_csv(file_location) + +# Print a sample from the csv dataset +print('\n---------- First 5 rows of the Dataset ----------\n', data.head()) + +# Please change the target variable according to the dataset +# You can refer to the dataset details printed in the above step +target_column = 'who_am_I' + +# Seperate the training data by removing the target column +X = data.drop(columns=[target_column]) + +# Separate the target values +y = data[target_column].values + +# Split the dataset into train and test data +X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1, stratify=y) + +# Create random forest classifier +# You can change the n_estimators and max_depth in order to get a heigher accuracy +classifier = RandomForestClassifier(n_estimators=5, max_depth=3) + +# Train the model +classifier.fit(X_train, y_train) + +# Predict using test values +y_pred = classifier.predict(X_test) + + +# ---------------------------------------- Visualize one of the Trees --------------------------------------------- + +# Get the feature names +feature_names = list(X.columns) + +# Get the target names +target_names = data[target_column].unique().tolist() + +# Plot one of the decision trees +# Choose the tree that you want to visualize by changing the value inside the 'estimators_[value < n_estimators]' +fig = plt.figure(figsize=(15,10)) +plot_tree(classifier.estimators_[2], feature_names=feature_names, class_names=target_names, filled=True) +plt.show() + + +# ------------------------------- Calculate the Accuracy and Confusion Matrix -------------------------------------- + +# Calculate the confusion matrix +confusion_mat = confusion_matrix(y_test, y_pred) +print ('\n---------- Confusion Matrix of Your Model -----------\n', confusion_mat) + +# Calculate accuracy using 'accuracy_score' +accuracy = accuracy_score(y_test, y_pred) +print('\n---------- Accuracy of Your Model -----------\n', accuracy) \ No newline at end of file