Skip to content

Instantly share code, notes, and snippets.

@MohdAzamSayeed
Created October 16, 2019 20:12
Show Gist options
  • Save MohdAzamSayeed/96cf4357f40f108d3d56f6415f572a11 to your computer and use it in GitHub Desktop.
Save MohdAzamSayeed/96cf4357f40f108d3d56f6415f572a11 to your computer and use it in GitHub Desktop.
DecisionTreeClassifier
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"boston = pd.read_csv(\"Boston.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>crim</th>\n",
" <th>zn</th>\n",
" <th>indus</th>\n",
" <th>chas</th>\n",
" <th>nox</th>\n",
" <th>rm</th>\n",
" <th>age</th>\n",
" <th>dis</th>\n",
" <th>rad</th>\n",
" <th>tax</th>\n",
" <th>ptratio</th>\n",
" <th>black</th>\n",
" <th>lstat</th>\n",
" <th>medv</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.00632</td>\n",
" <td>18.0</td>\n",
" <td>2.31</td>\n",
" <td>0</td>\n",
" <td>0.538</td>\n",
" <td>6.575</td>\n",
" <td>65.2</td>\n",
" <td>4.0900</td>\n",
" <td>1</td>\n",
" <td>296</td>\n",
" <td>15.3</td>\n",
" <td>396.90</td>\n",
" <td>4.98</td>\n",
" <td>24.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.02731</td>\n",
" <td>0.0</td>\n",
" <td>7.07</td>\n",
" <td>0</td>\n",
" <td>0.469</td>\n",
" <td>6.421</td>\n",
" <td>78.9</td>\n",
" <td>4.9671</td>\n",
" <td>2</td>\n",
" <td>242</td>\n",
" <td>17.8</td>\n",
" <td>396.90</td>\n",
" <td>9.14</td>\n",
" <td>21.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.02729</td>\n",
" <td>0.0</td>\n",
" <td>7.07</td>\n",
" <td>0</td>\n",
" <td>0.469</td>\n",
" <td>7.185</td>\n",
" <td>61.1</td>\n",
" <td>4.9671</td>\n",
" <td>2</td>\n",
" <td>242</td>\n",
" <td>17.8</td>\n",
" <td>392.83</td>\n",
" <td>4.03</td>\n",
" <td>34.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.03237</td>\n",
" <td>0.0</td>\n",
" <td>2.18</td>\n",
" <td>0</td>\n",
" <td>0.458</td>\n",
" <td>6.998</td>\n",
" <td>45.8</td>\n",
" <td>6.0622</td>\n",
" <td>3</td>\n",
" <td>222</td>\n",
" <td>18.7</td>\n",
" <td>394.63</td>\n",
" <td>2.94</td>\n",
" <td>33.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.06905</td>\n",
" <td>0.0</td>\n",
" <td>2.18</td>\n",
" <td>0</td>\n",
" <td>0.458</td>\n",
" <td>7.147</td>\n",
" <td>54.2</td>\n",
" <td>6.0622</td>\n",
" <td>3</td>\n",
" <td>222</td>\n",
" <td>18.7</td>\n",
" <td>396.90</td>\n",
" <td>5.33</td>\n",
" <td>36.2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" crim zn indus chas nox rm age dis rad tax ptratio \\\n",
"0 0.00632 18.0 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 \n",
"1 0.02731 0.0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 \n",
"2 0.02729 0.0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 \n",
"3 0.03237 0.0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 \n",
"4 0.06905 0.0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 \n",
"\n",
" black lstat medv \n",
"0 396.90 4.98 24.0 \n",
"1 396.90 9.14 21.6 \n",
"2 392.83 4.03 34.7 \n",
"3 394.63 2.94 33.4 \n",
"4 396.90 5.33 36.2 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"boston.drop('Unnamed: 0', axis=1, inplace=True)\n",
"boston.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'medium value of home')"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#scatterplot\n",
"plt.scatter(x=boston['rm'],y=boston['medv'],color='orange')\n",
"plt.xlabel('Avg no. of rooms per dwelling')\n",
"plt.ylabel(\"medium value of home\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"x= pd.DataFrame(boston['rm'])\n",
"y=pd.DataFrame(boston['medv'])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.20)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DecisionTreeRegressor(criterion='mse', max_depth=None, max_features=None,\n",
" max_leaf_nodes=None, min_impurity_decrease=0.0,\n",
" min_impurity_split=None, min_samples_leaf=1,\n",
" min_samples_split=2, min_weight_fraction_leaf=0.0,\n",
" presort=False, random_state=None, splitter='best')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"from sklearn.tree import DecisionTreeRegressor\n",
"regressor = DecisionTreeRegressor()\n",
"regressor.fit(x_train,y_train)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"y_pred = regressor.predict(x_test)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8.979843987465244"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.metrics import mean_squared_error\n",
"mse=mean_squared_error(y_pred,y_test)\n",
"rmse =np.sqrt(mse)\n",
"rmse"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"\n",
"x=pd.DataFrame(boston[['rm','lstat','age']])\n",
"y=pd.DataFrame(boston['medv'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Multiple Features decision tree"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"#getting the features and the target\n",
"x= pd.DataFrame(boston[['rm','lstat','age']])\n",
"y= pd.DataFrame(boston['medv'])"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"x_train, x_test, y_train,y_test = train_test_split(x,y,test_size=0.30)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"#building the model\n",
"from sklearn.tree import DecisionTreeRegressor\n",
"regressor = DecisionTreeRegressor()\n",
"regressor = regressor.fit(x_train,y_train)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"y_pred = regressor.predict(x_test)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6.460813049698768"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
" from sklearn.metrics import mean_squared_error\n",
"mse=mean_squared_error(y_pred,y_test)\n",
"rmse =np.sqrt(mse)\n",
"rmse #rmse lower value means lower error , better model"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.externals.six import StringIO \n",
"from IPython.display import Image \n",
"from sklearn.tree import export_graphviz\n",
"from sklearn import tree\n",
"import collections\n",
"import pydotplus\n",
"#to install pydotplut use cmd -> conda install -c conda-forge pydotplut\n",
"# Visualize data\n",
"dot_data = tree.export_graphviz(regressor,\n",
" feature_names=x.columns,\n",
" out_file=None,\n",
" filled=True,\n",
" rounded=True)\n",
"graph = pydotplus.graph_from_dot_data(dot_data)\n",
"\n",
"colors = ('turquoise', 'orange')\n",
"edges = collections.defaultdict(list)\n",
"\n",
"for edge in graph.get_edge_list():\n",
" edges[edge.get_source()].append(int(edge.get_destination()))\n",
"\n",
"for edge in edges:\n",
" edges[edge].sort() \n",
" for i in range(2):\n",
" dest = graph.get_node(str(edges[edge][i]))[0]\n",
" dest.set_fillcolor(colors[i])\n",
"\n",
"graph.write_png('tree.png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Iris DataSet"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"iris = pd.read_csv(\"Iris.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal_length</th>\n",
" <th>sepal_width</th>\n",
" <th>petal_length</th>\n",
" <th>petal_width</th>\n",
" <th>species</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>3.5</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>Iris-setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>3.0</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>Iris-setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>3.2</td>\n",
" <td>1.3</td>\n",
" <td>0.2</td>\n",
" <td>Iris-setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>3.1</td>\n",
" <td>1.5</td>\n",
" <td>0.2</td>\n",
" <td>Iris-setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5.0</td>\n",
" <td>3.6</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>Iris-setosa</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sepal_length sepal_width petal_length petal_width species\n",
"0 5.1 3.5 1.4 0.2 Iris-setosa\n",
"1 4.9 3.0 1.4 0.2 Iris-setosa\n",
"2 4.7 3.2 1.3 0.2 Iris-setosa\n",
"3 4.6 3.1 1.5 0.2 Iris-setosa\n",
"4 5.0 3.6 1.4 0.2 Iris-setosa"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iris.head()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"x= pd.DataFrame(iris[['sepal_length','sepal_width','petal_length','petal_width']])\n",
"y=iris['species']"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"x_train,x_test, y_train,y_test = train_test_split(x,y,test_size=0.30)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,\n",
" max_features=None, max_leaf_nodes=None,\n",
" min_impurity_decrease=0.0, min_impurity_split=None,\n",
" min_samples_leaf=1, min_samples_split=2,\n",
" min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n",
" splitter='best')"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.tree import DecisionTreeClassifier\n",
"classifier = DecisionTreeClassifier()\n",
"classifier.fit(x_train,y_train)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"y_pred = classifier.predict(x_test)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[18 0 0]\n",
" [ 0 12 0]\n",
" [ 0 2 13]]\n"
]
}
],
"source": [
"from sklearn.metrics import confusion_matrix\n",
"print(confusion_matrix(y_test,y_pred))"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.9555555555555556\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score\n",
"print(accuracy_score(y_test,y_pred))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment