{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Decision Trees"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "1"
    }
   },
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQEBLAEsAAD/7S4GUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAA\nAAAAAAAAAAAAOEJJTQQ6AAAAAACTAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAQ2xy\nU2VudW0AAAAAQ2xyUwAAAABSR0JDAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAABNcEJs\nYm9vbAEAAAAPcHJpbnRTaXh0ZWVuQml0Ym9vbAAAAAALcHJpbnRlck5hbWVURVhUAAAAAQAAADhC\nSU0EOwAAAAABsgAAABAAAAABAAAAAAAScHJpbnRPdXRwdXRPcHRpb25zAAAAEgAAAABDcHRuYm9v\nbAAAAAAAQ2xicmJvb2wAAAAAAFJnc01ib29sAAAAAABDcm5DYm9vbAAAAAAAQ250Q2Jvb2wAAAAA\nAExibHNib29sAAAAAABOZ3R2Ym9vbAAAAAAARW1sRGJvb2wAAAAAAEludHJib29sAAAAAABCY2tn\nT2JqYwAAAAEAAAAAAABSR0JDAAAAAwAAAABSZCAgZG91YkBv4AAAAAAAAAAAAEdybiBkb3ViQG/g\nAAAAAAAAAAAAQmwgIGRvdWJAb+AAAAAAAAAAAABCcmRUVW50RiNSbHQAAAAAAAAAAAAAAABCbGQg\nVW50RiNSbHQAAAAAAAAAAAAAAABSc2x0VW50RiNQeGxAcsAAAAAAAAAAAAp2ZWN0b3JEYXRhYm9v\nbAEAAAAAUGdQc2VudW0AAAAAUGdQcwAAAABQZ1BDAAAAAExlZnRVbnRGI1JsdAAAAAAAAAAAAAAA\nAFRvcCBVbnRGI1JsdAAAAAAAAAAAAAAAAFNjbCBVbnRGI1ByY0BZAAAAAAAAOEJJTQPtAAAAAAAQ\nASwAAAABAAIBLAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAA\nHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAA\nAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAA\nAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA////////////////\n/////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////\n////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAADhC\nSU0EAgAAAAAAAgAAOEJJTQQwAAAAAAABAQA4QklNBC0AAAAAAAYAAQAAAAI4QklNBAgAAAAAABAA\nAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADYQAAAAYAAAAAAAAAAAAA\nBN8AAAM7AAAAFgA5ADcAOAAtADMALQAzADEAOQAtADMAMAA3ADEANQAtADIAXwBUAGUAbQBwAAAA\nAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAM7AAAE3wAAAAAAAAAAAAAAAAAAAAABAAAA\nAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAA\nAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAE\n3wAAAABSZ2h0bG9uZwAAAzsAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAA\nEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAM\nRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAA\nAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAA\nAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAABN8AAAAAUmdodGxvbmcAAAM7AAAAA3VybFRFWFQA\nAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAA\nAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6\nQWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0A\nAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGlj\nZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxv\nbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJ\nTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAAkeQAAAAEAAABq\nAAAAoAAAAUAAAMgAAAAkXQAYAAH/2P/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJS\nR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gAB\nAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIY\nAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQA\nAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJU\nUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAx\nOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIu\nMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAk\noAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVD\nIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl\nIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl\nIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2lu\nZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcg\nQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA\nAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAA\nAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF\nAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA\nlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr\nATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoC\nAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMW\nAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE\nfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn\nBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I\nMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqB\nCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYN\nQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD\nEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT\nxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJ\nF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib\n2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs\nIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl\nlyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC\nKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx\nEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg\nN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+\nYD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa\nRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpN\nk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC\nVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxe\nvV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp\naD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx\n8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh\nfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH\nO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6\nkuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCe\nrp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sC\nq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4\nWbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI\nxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU\nSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb\n42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y\njPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////tAAxBZG9i\nZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEM\nDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQR\nDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoABqAwEiAAIR\nAQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAA\n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\nAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNj\nAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi\nWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAA\nACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAE\nPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2th\ncmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdC\nIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABv\nogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAA\nAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5j\naAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA\nAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA\nAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF\nQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2\nMTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPt\nzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAA\nAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0A\nMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8\nAMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB\nZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJL\nAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3ID\nfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTw\nBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8G\nwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS\nCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkL\nUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4T\nDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETER\nTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO\nFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y\n1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e\nHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h\n+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcY\nJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs\n1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLU\nMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5\nfzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0Bk\nQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI\nBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d\nUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9Y\nfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFP\nYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q\n92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTM\ndSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/\nhH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opk\nisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW\nNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm\nopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv\nFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7wh\nvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnK\nOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk\n2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/n\nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb7\n94r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////4TnJaHR0cDovL25zLmFkb2JlLmNvbS94\nYXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5\nZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBY\nTVAgQ29yZSA1LjAtYzA2MSA2NC4xNDA5NDksIDIwMTAvMTIvMDctMTA6NTc6MDEgICAgICAgICI+\nCiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYt\nc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAg\nICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4\nbXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3M8L3htcDpDcmVhdG9y\nVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMDMtMDNUMTY6MTI6MDMrMDU6MzA8\nL3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wMy0wM1QxNjox\nMjoxMSswNTozMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIw\nMTYtMDMtMDNUMTY6MTI6MTErMDU6MzA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgIDwvcmRmOkRl\nc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAg\nICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8\nZGM6Zm9ybWF0PmltYWdlL3RpZmY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+\nCiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnBo\nb3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyI+CiAgICAgICAgIDxw\naG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90\nb3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+\nCiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91\ndD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w\nL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu\nMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyI+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5p\naWQ6QkRBNzhBOTUyQ0UxRTUxMThFQTM5QTVDRkVFOTAxNDQ8L3htcE1NOkluc3RhbmNlSUQ+CiAg\nICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6QkNBNzhBOTUyQ0UxRTUxMThFQTM5QTVD\nRkVFOTAxNDQ8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3Vt\nZW50SUQ+eG1wLmRpZDpCQ0E3OEE5NTJDRTFFNTExOEVBMzlBNUNGRUU5MDE0NDwveG1wTU06T3Jp\nZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJk\nZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgog\nICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAg\nICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpCQ0E3OEE5NTJDRTFFNTEx\nOEVBMzlBNUNGRUU5MDE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0\nRXZ0OndoZW4+MjAxNi0wMy0wM1QxNjoxMjowMyswNTozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAg\nICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRv\nd3M8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAg\nICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAg\nICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAg\nICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9w\nIHRvIGltYWdlL3RpZmY8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxp\nPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAg\nICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAg\nICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOkJEQTc4QTk1MkNFMUU1MTE4RUEzOUE1\nQ0ZFRTkwMTQ0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hl\nbj4yMDE2LTAzLTAzVDE2OjEyOjExKzA1OjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAg\nICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93czwvc3RF\ndnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RF\ndnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNl\ncT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg\nPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVu\nZD0idyI/Pv/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAOcAmQMBEQACEQEDEQH/xAAeAAAB\nBAMBAQEAAAAAAAAAAAAHBAUGCAIDCQEACv/EAFAQAAAGAgAFAgIHBAYHBAcJAAECAwQFBgcRAAgS\nITFBURNhCRQVInGBkRYyobEXI1LB0fAkQlNikuHxCiZjghlDVnKW0tUlJygzNDZEwuL/xAAeAQAC\nAwEBAQEBAQAAAAAAAAAFBgMEBwIBCAAJCv/EAFIRAAEDAgUCAwUEBwQHBQcDBQECAwQFEQAGEiEx\n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\nphy+Op7fwL/jxx5Kfzf+uLH2p/xfT/HH/9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image \n",
    "Image('../../../python_for_probability_statistics_and_machine_learning.jpg')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A decision tree is the easiest classifer to understand, interpret, and explain.\n",
    "A decision tree is constructed by recursively splitting the data set into a\n",
    "sequence of subsets based on if-then questions.  The training set consists of\n",
    "pairs $(\\mathbf{x},y)$ where $\\mathbf{x}\\in \\mathbb{R}^d$ where $d$ is the\n",
    "number of features available and where $y$ is the corresponding label. The\n",
    "learning method splits the training set into groups based on $\\mathbf{x}$ while\n",
    "attempting to keep the assignments in each group as uniform as possible. In\n",
    "order to\n",
    "do this, the learning method must pick a feature and an associated threshold for\n",
    "that feature upon which to\n",
    "divide the data.  This is tricky to explain in words, but easy to see with\n",
    "an example. First, let's set up the Scikit-learn classifer,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "1"
    },
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from matplotlib.pylab import subplots\n",
    "from numpy import ma\n",
    "import numpy as np\n",
    "np.random.seed(12345678)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "2"
    },
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn import tree\n",
    "clf = tree.DecisionTreeClassifier()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's also create some example data,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "3"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0 0 1 1]\n",
      " [0 0 1 1]\n",
      " [0 0 1 1]\n",
      " [0 0 1 1]]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "M=np.fromfunction(lambda i,j:j>=2,(4,4)).astype(int)\n",
    "print(M)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The `fromfunction` creates Numpy arrays using the indicies as inputs\n",
    "to a function whose value is the corresponding array entry.\n",
    "\n",
    "\n",
    "\n",
    "We want to classify the elements of the matrix based on their\n",
    "respective positions in the matrix. By just looking at the matrix, the\n",
    "classification is pretty simple --- classify as `0` for any positions in the\n",
    "first two columns of the matrix, and classify `1` otherwise.  Let's walk\n",
    "through this formally and see if this solution emerges from the decision\n",
    "tree.  The values of the array are the labels for the training set and the\n",
    "indicies of those values are the elements of $\\mathbf{x}$. Specifically, the\n",
    "training set has $\\mathcal{X} = \\left\\{(i,j)\\right\\}$ and\n",
    "$\\mathcal{Y}=\\left\\{0,1\\right\\}$ Now, let's extract those elements and construct\n",
    "the training set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "4"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0 0]\n",
      " [0 1]\n",
      " [1 0]\n",
      " [1 1]\n",
      " [2 0]\n",
      " [2 1]\n",
      " [3 0]\n",
      " [3 1]]\n",
      "[[0]\n",
      " [0]\n",
      " [0]\n",
      " [0]\n",
      " [0]\n",
      " [0]\n",
      " [0]\n",
      " [0]]\n"
     ]
    }
   ],
   "source": [
    "i,j = np.where(M==0) \n",
    "x=np.vstack([i,j]).T # build nsamp by nfeatures\n",
    "y = j.reshape(-1,1)*0 # 0 elements\n",
    "print(x)\n",
    "print(y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Thus, the elements of `x` are the two-dimensional indicies of the\n",
    "values of `y`. For example, `M[x[0,0],x[0,1]]=y[0,0]`. Likewise,\n",
    "to complete the training set, we just need to stack the rest of the data to\n",
    "cover\n",
    "all the cases,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "5"
    },
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "i,j = np.where(M==1)  \n",
    "x=np.vstack([np.vstack([i,j]).T,x ]) # build nsamp x nfeatures\n",
    "y=np.vstack([j.reshape(-1,1)*0+1,y]) # 1 elements"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With all that established, all we have to do is train the classifer,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "6"
    }
   },
   "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": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf.fit(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To evaluate how the classifer performed, we can report the score,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "7"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf.score(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this classifer, the *score* is the accuracy, which is\n",
    "defined as the ratio of the sum of the true-positive ($TP$) and\n",
    "true-negatives ($TN$) divided by the sum of all the terms, including\n",
    "the false terms,\n",
    "\n",
    "$$\n",
    "\\texttt{accuracy}=\\frac{TP+TN}{TP+TN+FN+FP}\n",
    "$$\n",
    "\n",
    "In this case, the classifier gets every point correctly, so\n",
    "$FN=FP=0$. On a related note, two other common names from information retrieval\n",
    "theory are  *recall* (a.k.a. sensitivity) and *precision* (a.k.a. positive\n",
    "predictive value, $TP/(TP+FP)$).  We can visualize this tree in\n",
    "[Figure](#fig:example_tree_001). The Gini coefficients (a.k.a. categorical\n",
    "variance)\n",
    "in the figure are a measure of the purity of each so-determined class. This\n",
    "coefficient is defined as,\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/example_tree_001.png, width=500 frac=0.5]\n",
    "Example decision tree. The `Gini` coefficient in each branch measures the purity\n",
    "of the partition in each node.  The `samples` item in the box shows the number\n",
    "of items in the corresponding node in the decision tree. <div\n",
    "id=\"fig:example_tree_001\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:example_tree_001\"></div>\n",
    "\n",
    "<p>Example decision tree. The <code>Gini</code> coefficient in each branch\n",
    "measures the purity of the partition in each node.  The <code>samples</code>\n",
    "item in the box shows the number of items in the corresponding node in the\n",
    "decision tree.</p>\n",
    "<img src=\"fig-machine_learning/example_tree_001.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "$$\n",
    "\\texttt{Gini}_m = \\sum_k p_{m,k}(1-p_{m,k})\n",
    "$$\n",
    "\n",
    "where\n",
    "\n",
    "$$\n",
    "p_{m,k} = \\frac{1}{N_m} \\sum_{x_i\\in R_m} I(y_i=k)\n",
    "$$\n",
    "\n",
    "which is the proportion of observations labeled $k$ in the $m^{th}$\n",
    "node and $I(\\cdot)$ is the usual indicator function. Note that the maximum value\n",
    "of\n",
    "the Gini coefficient is $\\max{\\texttt{Gini}_{m}}=1-1/m$. For our simple\n",
    "example, half of the sixteen samples are in category `0` and the other half are\n",
    "in the `1` category.  Using the notation above, the top box corresponds to the\n",
    "$0^{th}$ node, so $p_{0,0} =1/2 = p_{0,1}$. Then, $\\texttt{Gini}_0=0.5$. The\n",
    "next layer of nodes in [Figure](#fig:example_tree_001) is determined by\n",
    "whether or not the second dimension of the $\\mathbf{x}$ data is greater than\n",
    "`1.5`. The Gini coefficients for each of these child nodes is zero because\n",
    "after the prior split, each subsequent category is pure. The `value` list in\n",
    "each of the nodes shows the distribution of elements in each category at each\n",
    "node.\n",
    "\n",
    "To make this example more interesting, we can contaminate the data slightly,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "8"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0 0 1 1]\n",
      " [1 0 1 1]\n",
      " [0 0 1 1]\n",
      " [0 0 1 1]]\n"
     ]
    }
   ],
   "source": [
    "M[1,0]=1 # put in different class\n",
    "print(M) # now contaminated"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we have a `1` entry in the previously\n",
    "pure first column's second  row."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "9"
    }
   },
   "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": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "i,j = np.where(M==0)\n",
    "x=np.vstack([i,j]).T\n",
    "y = j.reshape(-1,1)*0\n",
    "i,j = np.where(M==1)\n",
    "x=np.vstack([np.vstack([i,j]).T,x])\n",
    "y = np.vstack([j.reshape(-1,1)*0+1,y])\n",
    "clf.fit(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The result is shown\n",
    "in [Figure](#fig:example_tree_002). Note the tree has grown\n",
    "significantly due to this one change! The $0^{th}$ node has the\n",
    "following parameters, $p_{0,0} =7/16$ and $p_{0,1}=9/16$. This makes\n",
    "the Gini coefficient for the $0^{th}$ node equal to\n",
    "$\\frac{7}{16}\\left(1-\\frac{7}{16}\\right)+\\frac{9}{16}(1-\\frac{9}{16})\n",
    "= 0.492$.  As before, the root node splits on $X[1] \\leq 1.5$. Let's\n",
    "see if we can reconstruct the succeeding layer of nodes manually, as\n",
    "in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "10"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1],\n",
       "       [1],\n",
       "       [1],\n",
       "       [1],\n",
       "       [1],\n",
       "       [1],\n",
       "       [1],\n",
       "       [1]])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y[x[:,1]>1.5] # first node on the right"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This obviously has a zero Gini coefficient. Likewise, the node on the\n",
    "left contains the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "11"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1],\n",
       "       [0],\n",
       "       [0],\n",
       "       [0],\n",
       "       [0],\n",
       "       [0],\n",
       "       [0],\n",
       "       [0]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y[x[:,1]<=1.5] # first node on the left"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Gini coefficient in this case is computed as\n",
    "`(1/8)*(1-1/8)+(7/8)*(1-7/8)=0.21875`. This node splits based on `X[1]<0.5`.\n",
    "The child node to the right derives from the following equivalent logic,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "12"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([False, False, False, False, False, False, False, False, False,\n",
       "       False,  True,  True, False,  True, False,  True], dtype=bool)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.logical_and(x[:,1]<=1.5,x[:,1]>0.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "with corresponding classes,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "13"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0],\n",
       "       [0],\n",
       "       [0],\n",
       "       [0]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y[np.logical_and(x[:,1]<=1.5,x[:,1]>0.5)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The  `logical_and` in Numpy provides element-wise logical conjuction. It is not\n",
    "possible to accomplish this with something like `0.5< x[:,1] <=1.5` because\n",
    "of the way Python parses this syntax.\n",
    "\n",
    "\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/example_tree_002.png, width=500\n",
    "frac=0.65] Decision tree for contaminated data. Note that just one change in the\n",
    "training data caused the tree to grow five times as large as before! <div\n",
    "id=\"fig:example_tree_002\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:example_tree_002\"></div>\n",
    "\n",
    "<p>Decision tree for contaminated data. Note that just one change in the\n",
    "training data caused the tree to grow five times as large as before!</p>\n",
    "<img src=\"fig-machine_learning/example_tree_002.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "Notice that for this example as well as for the previous one, the decision tree\n",
    "was exactly able memorize (overfit) the data with perfect accuracy. From our\n",
    "discussion of machine learning theory, this is an indication potential problems\n",
    "in generalization.\n",
    "\n",
    "\n",
    "The key step in building the decision tree is to come up with the\n",
    "initial split. There are the number of algorithms that can build\n",
    "decision trees based on different criteria, but the general idea is to\n",
    "control the information *entropy* as the tree is developed.  In\n",
    "practical terms, this means that the algorithms attempt to build trees\n",
    "that are not excessively deep. It is well-established that this is a\n",
    "very hard problem to solve completely and there are many approaches to\n",
    "it.  This is because the algorithms must make global decisions at each\n",
    "node of the tree using the local data available up to that point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "14"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nvdTV/q2SomfVpTybr25z+equyNc75VyXsV7qat+4i55Vl/JsvrrN5au7Il/vlHNdxnqpq33jLnpW\nXcqz+eo2l6/uiny9U851GeulrvaNu+hZdSnP5qvbXL66K/L1TjnXZayXutofnCx6Vl3Ks/nqNpev\n7op8vVPOdRnrpa6rmZO9GvTZfEXybL7eeeZkOTxzsr96yXXt3yoxM8uNG7eZWWbcuM3MMuPGbWaW\nGTduM7PMuHGbmWXGjdvMLDNu3GZmmXHjNjPLjBu3mVlm3LjNzDLjxm1mlpk1G7ek4yXtkbQo6W5J\nl1RRWJUajQajo6MMDQ0xOjpKo9FIar1ms8nMzAy7du1iZmaGZrOZxFqWviKzmHKuy1gvZd2c1vVZ\n4BMRcaekY4C9km6JiHtKrq0SRc/SS3k2X93m8tVdkVlMOddlrJe6Nfe4I+KhiLiz/fMTwCKwpezC\nqlL0LL2UZ/PVbS5f3RWZxZRzXcZ6qevpPW5J24A3AbevcNtFkhYkLRw4cKCY6ipQ9Cy9lGfz1W0u\nXxFyzTUUm8WUc13GeqnrunFLOhq4Hrg0Ih5/8e0RcXVEjEXE2KZNm4qssVRFz9JLeTZf3ebyFSHX\nXEOxWUw512Wsl7quGrekYVpN+9qI+Ha5JVWr6Fl6Kc/mq9tcvrorMosp57qM9VK35sFJtWYQzQKL\nEfHF8kuqVtGz9FKezVe3uXx1V2QWU851Geulbs2Zk5LGgVuBJvBce/OVEXHTar8z6LP5iuTZfL3z\nzMlyeOZkf/WS6zX3uCNiHtBa9zMzs2r4m5NmZplx4zYzy4wbt5lZZty4zcwy48ZtZpYZN24zs8y4\ncZuZZcaN28wsM27cZmaZceM2M8uMGzceXWaDy6PLBlM3o8sGmkeXDe54p7rz6LLBzXbt97g9umxw\nxzvVnUeXDW62a9+4PbpscMc71Z1Hlw1utmvfuD26bHDHO9WdR5cNbrZr37g9umxwxzvVnUeXDW62\na39w0qPLBne8U915dNngZnvN0WXrMegjnorkEU+98+iycnh0WX/1kuvav1ViZpYbN24zs8y4cZuZ\nZcaN28wsM27cZmaZceM2M8uMG7eZWWbcuM3MMuPGbWaWGTduM7PMuHGbmWXGjdvMLDNdN25JQ5J+\nJum7ZRZkZmYvr5c97kuA9Y27MDOzwnTVuCVtBd4BfK3ccszMbC3dDlKYAT4JHLPaHSRdBFzUvvqk\n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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff7c8a1c1d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_=clf.fit(x,y)\n",
    "fig,axs=subplots(2,2,sharex=True,sharey=True)\n",
    "ax=axs[0,0]\n",
    "ax.set_aspect(1)\n",
    "_=ax.axis((-1,4,-1,4))\n",
    "ax.invert_yaxis()\n",
    "\n",
    "# same background all on axes\n",
    "for ax in axs.flat:\n",
    "    _=ax.plot(ma.masked_array(x[:,1],y==1),ma.masked_array(x[:,0],y==1),'ow',mec='k')\n",
    "    _=ax.plot(ma.masked_array(x[:,1],y==0),ma.masked_array(x[:,0],y==0),'o',color='gray')\n",
    "\n",
    "lines={'h':[],'v':[]}\n",
    "nc=0\n",
    "for i,j,ax in zip(clf.tree_.feature,clf.tree_.threshold,axs.flat):\n",
    "    _=ax.set_title('node %d'%(nc))\n",
    "    nc+=1\n",
    "    if i==0:   _=lines['h'].append(j)\n",
    "    elif i==1: _=lines['v'].append(j)\n",
    "    for l in lines['v']: _=ax.vlines(l,-1,4,lw=3)\n",
    "    for l in lines['h']: _=ax.hlines(l,-1,4,lw=3)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/example_tree_003.png, width=500\n",
    "frac=0.85]  The decision tree divides the training set into regions by splitting\n",
    "successively along each dimension until each region is as pure as possible. <div\n",
    "id=\"fig:example_tree_003\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:example_tree_003\"></div>\n",
    "\n",
    "<p>The decision tree divides the training set into regions by splitting\n",
    "successively along each dimension until each region is as pure as possible.</p>\n",
    "<img src=\"fig-machine_learning/example_tree_003.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "For this example, the decision tree partitions the $\\mathcal{X}$ space into\n",
    "different regions corresponding to different $\\mathcal{Y}$ labels as shown in\n",
    "[Figure](#fig:example_tree_003). The root node at the top of\n",
    "[Figure](#fig:example_tree_002) splits the input data based on $X[1] \\leq 1.5$.\n",
    "This\n",
    "corresponds to the top left panel in [Figure](#fig:example_tree_003) (i.e.,\n",
    "`node 0`) where the vertical line divides the training data shown into two\n",
    "regions, corresponding to the two subsequent child nodes. The next split\n",
    "happens with $X[1] \\leq 0.5$ as shown in the next panel of\n",
    "[Figure](#fig:example_tree_003) titled `node 1`. This continues until the last\n",
    "panel\n",
    "on the lower right, where the contaminated element we injected has been\n",
    "isolated into its own sub-region. Thus, the last panel is a representation of\n",
    "[Figure](#fig:example_tree_002), where the horizontal/vertical lines\n",
    "correspond to successive splits in the decision tree."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "15"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nbHmrTR8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff81035cc50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "i,j = np.indices((5,5))\n",
    "x=np.vstack([i.flatten(),j.flatten()]).T\n",
    "y=(x[:,0]>=x[:,1]).astype(int).reshape((-1,1))\n",
    "_=clf.fit(x,y)\n",
    "fig,ax=subplots()\n",
    "_=ax.axis((-1,5,-1,5))\n",
    "ax.set_aspect(1)\n",
    "ax.invert_yaxis()\n",
    "\n",
    "_=ax.plot(ma.masked_array(x[:,1],y==1),ma.masked_array(x[:,0],y==1),'ow',mec='k',ms=15)\n",
    "_=ax.plot(ma.masked_array(x[:,1],y==0),ma.masked_array(x[:,0],y==0),'o',color='gray',ms=15)\n",
    "\n",
    "for i,j in zip(clf.tree_.feature,clf.tree_.threshold):\n",
    "    if i==1:\n",
    "        _=ax.hlines(j,-1,6,lw=3.)\n",
    "    else:\n",
    "        _=ax.vlines(j,-1,6,lw=3.)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/example_tree_004.png, width=500\n",
    "frac=0.75]  The decision tree fitted to this triangular matrix is very complex,\n",
    "as shown by the number of horizontal and vertical partitions. Thus, even though\n",
    "the pattern in the training data is visually clear, the decision tree cannot\n",
    "automatically uncover it. <div id=\"fig:example_tree_004\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:example_tree_004\"></div>\n",
    "\n",
    "<p>The decision tree fitted to this triangular matrix is very complex, as shown\n",
    "by the number of horizontal and vertical partitions. Thus, even though the\n",
    "pattern in the training data is visually clear, the decision tree cannot\n",
    "automatically uncover it.</p>\n",
    "<img src=\"fig-machine_learning/example_tree_004.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "[Figure](#fig:example_tree_004) shows another example, but now using a simple\n",
    "triangular matrix.  As shown by the number of vertical and horizontal\n",
    "partitioning lines, the decision tree that corresponds to this figure is tall\n",
    "and complex. Notice that if we apply a simple rotational transform to the\n",
    "training data, we can obtain [Figure](#fig:example_tree_005), which requires a\n",
    "trivial decision tree to fit. Thus, there may be transformations of the\n",
    "training data that simplify the decision tree, but these are very difficult to\n",
    "derive in general. Nonetheless, this highlights a key weakness of decision\n",
    "trees wherein they may be easy to understand, to train, and to deploy, but may\n",
    "be completely blind to such time-saving and complexity-saving transformations.\n",
    "Indeed, in higher dimensions, it may be impossible to even visualize the\n",
    "potential of such latent transformations.  Thus, the advantages of decision\n",
    "trees can be easily outmatched by other methods that we will study later that\n",
    "*do* have the ability to uncover useful transformations, but which will\n",
    "necessarily be harder to train.  Another disadvantage is that because of how\n",
    "decision trees are built, even a single misplaced data point can cause the tree\n",
    "to grow very differently. This is a symptom of high variance.\n",
    "\n",
    "In all of our examples, the decision tree was able to memorize the training\n",
    "data exactly, as we discussed earlier, this is a sign of potential\n",
    "generalization errors.  There are pruning algorithms that strategically remove\n",
    "some of the deepest nodes. but these are not yet fully implemented in\n",
    "Scikit-learn, as of this writing. Alternatively, restricting the maximum depth\n",
    "of the decision tree can have a similar effect. The `DecisionTreeClassifier`\n",
    "and `DecisionTreeRegressor` in Scikit-learn both have keyword arguments that\n",
    "specify maximum depth.\n",
    "\n",
    "## Random Forests\n",
    "\n",
    "It is possible to combine a set of decision trees into a larger\n",
    "composite tree that has better performance than its individual\n",
    "components by using ensemble learning. This is implemented in\n",
    "Scikit-learn as `RandomForestClassifier`.  The composite tree helps\n",
    "mitigate the primary weakness of decision trees --- high variance.\n",
    "Random forest classifiers help by averaging out the predictions of\n",
    "many constituent trees to minimize this variance by randomly selecting\n",
    "subsets of the training set to train the  embedded trees.   On the\n",
    "other hand, this randomization can increase bias because there may be\n",
    "a subset of the training set that yields an excellent decision tree,\n",
    "but the averaging effect over randomized training samples washes this\n",
    "out in the same averaging that reduces the variance. This is a key\n",
    "trade-off.  The following code implements a simple random forest\n",
    "classifer from our last example."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "16"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff7c67ba810>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from numpy import sin, cos, pi\n",
    "rotation_matrix=np.matrix([[cos(pi/4),-sin(pi/4)],\n",
    "                           [sin(pi/4),cos(pi/4)]])\n",
    "xr=(rotation_matrix*(x.T)).T\n",
    "xr=np.array(xr)\n",
    "\n",
    "fig,ax=subplots()\n",
    "ax.set_aspect(1)\n",
    "_=ax.axis(xmin=-2,xmax=7,ymin=-4,ymax=4)\n",
    "\n",
    "_=ax.plot(ma.masked_array(xr[:,1],y==1),ma.masked_array(xr[:,0],y==1),'ow',mec='k',ms=15)\n",
    "_=ax.plot(ma.masked_array(xr[:,1],y==0),ma.masked_array(xr[:,0],y==0),'o',color='gray',ms=15)\n",
    "\n",
    "_=clf.fit(xr,y)\n",
    "\n",
    "for i,j in zip(clf.tree_.feature,clf.tree_.threshold):\n",
    "    if i==1:\n",
    "        _=ax.vlines(j,-1,6,lw=3.)\n",
    "    elif i==0:\n",
    "        _=ax.hlines(j,-1,6,lw=3.)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/example_tree_005.png, width=500\n",
    "frac=0.75] Using a simple rotation on the training data in\n",
    "[Figure](#fig:example_tree_004), the decision tree can now easily fit the\n",
    "training data with a single partition. <div id=\"fig:example_tree_005\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:example_tree_005\"></div>\n",
    "\n",
    "<p>Using a simple rotation on the training data in\n",
    "[Figure](#fig:example_tree_004), the decision tree can now easily fit the\n",
    "training data with a single partition.</p>\n",
    "<img src=\"fig-machine_learning/example_tree_005.png\" width=500>\n",
    "\n",
    "<!-- end figure -->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "17"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/miniconda2/lib/python2.7/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.cross_validation import train_test_split, cross_val_score\n",
    "X_train,X_test,y_train,y_test=train_test_split(x,y,random_state=1)\n",
    "clf = tree.DecisionTreeClassifier(max_depth=2)\n",
    "_=clf.fit(X_train,y_train)\n",
    "rfc = RandomForestClassifier(n_estimators=4,max_depth=2)\n",
    "_=rfc.fit(X_train,y_train.flat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "18"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
       "            max_depth=2, max_features='auto', 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, n_estimators=4, n_jobs=1,\n",
       "            oob_score=False, random_state=None, verbose=0,\n",
       "            warm_start=False)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "rfc = RandomForestClassifier(n_estimators=4,max_depth=2)\n",
    "rfc.fit(X_train,y_train.flat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "19"
    },
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def draw_board(x,y,clf,ax=None):\n",
    "    if ax is None: fig,ax=subplots()\n",
    "    xm,ymn=x.min(0).T\n",
    "    ax.axis(xmin=xm-1,ymin=ymn-1)\n",
    "    xx,ymx=x.max(0).T\n",
    "    _=ax.axis(xmax=xx+1,ymax=ymx+1)\n",
    "    _=ax.set_aspect(1)\n",
    "    _=ax.invert_yaxis()\n",
    "    _=ax.plot(ma.masked_array(x[:,1],y==1),ma.masked_array(x[:,0],y==1),'ow',mec='k')\n",
    "    _=ax.plot(ma.masked_array(x[:,1],y==0),ma.masked_array(x[:,0],y==0),'o',color='gray')\n",
    "    for i,j in zip(clf.tree_.feature,clf.tree_.threshold):\n",
    "        if i==1:\n",
    "            _=ax.vlines(j,-1,6,lw=3.)\n",
    "        elif i==0:\n",
    "            _=ax.hlines(j,-1,6,lw=3.)\n",
    "    return ax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "attributes": {
     "classes": [],
     "id": "",
     "n": "20"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff7c61dded0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,axs = subplots(2,2)\n",
    "# draw constituent decision trees\n",
    "for est,ax in zip(rfc.estimators_,axs.flat):\n",
    "    _=draw_board(X_train,y_train,est,ax=ax)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that we have constrained the maximum depth `max_depth=2` to help\n",
    "with generalization. To keep things simple we have only set up a forest with\n",
    "four individual classifers [^seedNote].  [Figure](#fig:example_tree_006) shows\n",
    "the individual classifers in the forest that have been trained above. Even\n",
    "though all the constituent decision trees share the same training data, the\n",
    "random forest  algorithm randomly picks feature subsets (with replacement) upon\n",
    "which to train individual trees. This helps avoid the tendency of decision\n",
    "trees to become too deep and lopsided, which hurts both performance and\n",
    "generalization. At the prediction step, the individual outputs of each of the\n",
    "constituent decision trees are put to a majority vote for the final\n",
    "classification. To estimate generalization errors without using\n",
    "cross-validation, the training elements *not* used for a particular constituent\n",
    "tree can be used to test that tree and form a collaborative estimate of\n",
    "generalization errors.  This is called the *out-of-bag* estimate.\n",
    "\n",
    "[^seedNote]: We have also set the random seed to a fixed value\n",
    "to make the figures reproducible in the IPython Notebook corresponding to\n",
    "this section.\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/example_tree_006.png, width=500\n",
    "frac=0.85] The constituent decision trees of the random forest and how they\n",
    "partitioned the training set are shown in these four panels. The random forest\n",
    "classifier uses the individual outputs of each of the constituent trees to\n",
    "produce a collaborative  final estimate. <div id=\"fig:example_tree_006\"></div>\n",
    "-->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:example_tree_006\"></div>\n",
    "\n",
    "<p>The constituent decision trees of the random forest and how they partitioned\n",
    "the training set are shown in these four panels. The random forest classifier\n",
    "uses the individual outputs of each of the constituent trees to produce a\n",
    "collaborative  final estimate.</p>\n",
    "<img src=\"fig-machine_learning/example_tree_006.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "The main advantage of random forest classifiers is that they require very\n",
    "little tuning and provide a way to trade-off bias and variance via averaging\n",
    "and randomization. Furthermore, they are fast and easy to train in parallel\n",
    "(see the `n_jobs` keyword argument) and fast to predict. On the downside, they\n",
    "are less interpretable than simple decision trees.  There are many other\n",
    "powerful tree methods in Scikit-learn like `ExtraTrees` and Gradient Boosted\n",
    "Regression Trees `GradientBoostingRegressor` which are discussed in the online\n",
    "documentation."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}