Files
cas-pml/ML/unterlagen/03_decisiontree.ipynb
T

418 lines
50 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# data prep"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn import datasets\n",
"iris = datasets.load_iris()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# data understanding"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"600\n",
"150\n"
]
}
],
"source": [
"print(iris.data.size)\n",
"print(iris.target.size)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 5.1 3.5 1.4 0.2]\n",
" [ 4.9 3. 1.4 0.2]\n",
" [ 4.7 3.2 1.3 0.2]\n",
" [ 4.6 3.1 1.5 0.2]\n",
" [ 5. 3.6 1.4 0.2]\n",
" [ 5.4 3.9 1.7 0.4]\n",
" [ 4.6 3.4 1.4 0.3]\n",
" [ 5. 3.4 1.5 0.2]\n",
" [ 4.4 2.9 1.4 0.2]\n",
" [ 4.9 3.1 1.5 0.1]\n",
" [ 5.4 3.7 1.5 0.2]\n",
" [ 4.8 3.4 1.6 0.2]\n",
" [ 4.8 3. 1.4 0.1]\n",
" [ 4.3 3. 1.1 0.1]\n",
" [ 5.8 4. 1.2 0.2]\n",
" [ 5.7 4.4 1.5 0.4]\n",
" [ 5.4 3.9 1.3 0.4]\n",
" [ 5.1 3.5 1.4 0.3]\n",
" [ 5.7 3.8 1.7 0.3]\n",
" [ 5.1 3.8 1.5 0.3]\n",
" [ 5.4 3.4 1.7 0.2]\n",
" [ 5.1 3.7 1.5 0.4]\n",
" [ 4.6 3.6 1. 0.2]\n",
" [ 5.1 3.3 1.7 0.5]\n",
" [ 4.8 3.4 1.9 0.2]\n",
" [ 5. 3. 1.6 0.2]\n",
" [ 5. 3.4 1.6 0.4]\n",
" [ 5.2 3.5 1.5 0.2]\n",
" [ 5.2 3.4 1.4 0.2]\n",
" [ 4.7 3.2 1.6 0.2]\n",
" [ 4.8 3.1 1.6 0.2]\n",
" [ 5.4 3.4 1.5 0.4]\n",
" [ 5.2 4.1 1.5 0.1]\n",
" [ 5.5 4.2 1.4 0.2]\n",
" [ 4.9 3.1 1.5 0.1]\n",
" [ 5. 3.2 1.2 0.2]\n",
" [ 5.5 3.5 1.3 0.2]\n",
" [ 4.9 3.1 1.5 0.1]\n",
" [ 4.4 3. 1.3 0.2]\n",
" [ 5.1 3.4 1.5 0.2]\n",
" [ 5. 3.5 1.3 0.3]\n",
" [ 4.5 2.3 1.3 0.3]\n",
" [ 4.4 3.2 1.3 0.2]\n",
" [ 5. 3.5 1.6 0.6]\n",
" [ 5.1 3.8 1.9 0.4]\n",
" [ 4.8 3. 1.4 0.3]\n",
" [ 5.1 3.8 1.6 0.2]\n",
" [ 4.6 3.2 1.4 0.2]\n",
" [ 5.3 3.7 1.5 0.2]\n",
" [ 5. 3.3 1.4 0.2]\n",
" [ 7. 3.2 4.7 1.4]\n",
" [ 6.4 3.2 4.5 1.5]\n",
" [ 6.9 3.1 4.9 1.5]\n",
" [ 5.5 2.3 4. 1.3]\n",
" [ 6.5 2.8 4.6 1.5]\n",
" [ 5.7 2.8 4.5 1.3]\n",
" [ 6.3 3.3 4.7 1.6]\n",
" [ 4.9 2.4 3.3 1. ]\n",
" [ 6.6 2.9 4.6 1.3]\n",
" [ 5.2 2.7 3.9 1.4]\n",
" [ 5. 2. 3.5 1. ]\n",
" [ 5.9 3. 4.2 1.5]\n",
" [ 6. 2.2 4. 1. ]\n",
" [ 6.1 2.9 4.7 1.4]\n",
" [ 5.6 2.9 3.6 1.3]\n",
" [ 6.7 3.1 4.4 1.4]\n",
" [ 5.6 3. 4.5 1.5]\n",
" [ 5.8 2.7 4.1 1. ]\n",
" [ 6.2 2.2 4.5 1.5]\n",
" [ 5.6 2.5 3.9 1.1]\n",
" [ 5.9 3.2 4.8 1.8]\n",
" [ 6.1 2.8 4. 1.3]\n",
" [ 6.3 2.5 4.9 1.5]\n",
" [ 6.1 2.8 4.7 1.2]\n",
" [ 6.4 2.9 4.3 1.3]\n",
" [ 6.6 3. 4.4 1.4]\n",
" [ 6.8 2.8 4.8 1.4]\n",
" [ 6.7 3. 5. 1.7]\n",
" [ 6. 2.9 4.5 1.5]\n",
" [ 5.7 2.6 3.5 1. ]\n",
" [ 5.5 2.4 3.8 1.1]\n",
" [ 5.5 2.4 3.7 1. ]\n",
" [ 5.8 2.7 3.9 1.2]\n",
" [ 6. 2.7 5.1 1.6]\n",
" [ 5.4 3. 4.5 1.5]\n",
" [ 6. 3.4 4.5 1.6]\n",
" [ 6.7 3.1 4.7 1.5]\n",
" [ 6.3 2.3 4.4 1.3]\n",
" [ 5.6 3. 4.1 1.3]\n",
" [ 5.5 2.5 4. 1.3]\n",
" [ 5.5 2.6 4.4 1.2]\n",
" [ 6.1 3. 4.6 1.4]\n",
" [ 5.8 2.6 4. 1.2]\n",
" [ 5. 2.3 3.3 1. ]\n",
" [ 5.6 2.7 4.2 1.3]\n",
" [ 5.7 3. 4.2 1.2]\n",
" [ 5.7 2.9 4.2 1.3]\n",
" [ 6.2 2.9 4.3 1.3]\n",
" [ 5.1 2.5 3. 1.1]\n",
" [ 5.7 2.8 4.1 1.3]\n",
" [ 6.3 3.3 6. 2.5]\n",
" [ 5.8 2.7 5.1 1.9]\n",
" [ 7.1 3. 5.9 2.1]\n",
" [ 6.3 2.9 5.6 1.8]\n",
" [ 6.5 3. 5.8 2.2]\n",
" [ 7.6 3. 6.6 2.1]\n",
" [ 4.9 2.5 4.5 1.7]\n",
" [ 7.3 2.9 6.3 1.8]\n",
" [ 6.7 2.5 5.8 1.8]\n",
" [ 7.2 3.6 6.1 2.5]\n",
" [ 6.5 3.2 5.1 2. ]\n",
" [ 6.4 2.7 5.3 1.9]\n",
" [ 6.8 3. 5.5 2.1]\n",
" [ 5.7 2.5 5. 2. ]\n",
" [ 5.8 2.8 5.1 2.4]\n",
" [ 6.4 3.2 5.3 2.3]\n",
" [ 6.5 3. 5.5 1.8]\n",
" [ 7.7 3.8 6.7 2.2]\n",
" [ 7.7 2.6 6.9 2.3]\n",
" [ 6. 2.2 5. 1.5]\n",
" [ 6.9 3.2 5.7 2.3]\n",
" [ 5.6 2.8 4.9 2. ]\n",
" [ 7.7 2.8 6.7 2. ]\n",
" [ 6.3 2.7 4.9 1.8]\n",
" [ 6.7 3.3 5.7 2.1]\n",
" [ 7.2 3.2 6. 1.8]\n",
" [ 6.2 2.8 4.8 1.8]\n",
" [ 6.1 3. 4.9 1.8]\n",
" [ 6.4 2.8 5.6 2.1]\n",
" [ 7.2 3. 5.8 1.6]\n",
" [ 7.4 2.8 6.1 1.9]\n",
" [ 7.9 3.8 6.4 2. ]\n",
" [ 6.4 2.8 5.6 2.2]\n",
" [ 6.3 2.8 5.1 1.5]\n",
" [ 6.1 2.6 5.6 1.4]\n",
" [ 7.7 3. 6.1 2.3]\n",
" [ 6.3 3.4 5.6 2.4]\n",
" [ 6.4 3.1 5.5 1.8]\n",
" [ 6. 3. 4.8 1.8]\n",
" [ 6.9 3.1 5.4 2.1]\n",
" [ 6.7 3.1 5.6 2.4]\n",
" [ 6.9 3.1 5.1 2.3]\n",
" [ 5.8 2.7 5.1 1.9]\n",
" [ 6.8 3.2 5.9 2.3]\n",
" [ 6.7 3.3 5.7 2.5]\n",
" [ 6.7 3. 5.2 2.3]\n",
" [ 6.3 2.5 5. 1.9]\n",
" [ 6.5 3. 5.2 2. ]\n",
" [ 6.2 3.4 5.4 2.3]\n",
" [ 5.9 3. 5.1 1.8]]\n"
]
}
],
"source": [
"print(iris.data)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n",
" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2\n",
" 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n",
" 2 2]\n"
]
}
],
"source": [
"print(iris.target)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']\n",
"['setosa' 'versicolor' 'virginica']\n"
]
}
],
"source": [
"print(iris.feature_names)\n",
"print(iris.target_names)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1d5ae8dd358>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"plt.hist(iris.target, bins=(0,1,2,3), edgecolor='black')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1d5af562390>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X = iris.data[:, :2] # we only take the first two features.\n",
"y = iris.target\n",
"plt.figure(2, figsize=(8, 6))\n",
"plt.clf()\n",
"plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Set1, edgecolor='k')\n",
"plt.xlabel('Sepal length')\n",
"plt.ylabel('Sepal width')\n",
"plt.xticks(())\n",
"plt.yticks(())\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# train model"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.tree import DecisionTreeClassifier\n",
"classifier = DecisionTreeClassifier()\n",
"classifier.fit(iris.data[:-1], iris.target[:-1]) # use all but the last sample for training"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# use model for prediction"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"predicted [2] vs. real [2]\n"
]
}
],
"source": [
"print(\"predicted\",classifier.predict(iris.data[-1:]),\"vs. real\",iris.target[-1:])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# export model for visual inspection"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn import tree\n",
"tree.export_graphviz(classifier,out_file='tree.dot', \n",
" feature_names=iris.feature_names, \n",
" class_names=iris.target_names, \n",
" filled=True, rounded=True, \n",
" special_characters=True) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}