From e085e2d5b6e4aa6913bc10f418a8d5a8228eec26 Mon Sep 17 00:00:00 2001 From: jkunimune15 Date: Mon, 14 Mar 2016 19:05:36 -0400 Subject: [PATCH] Turning in my machine learning toolbox --- 10 trials.png | Bin 0 -> 33858 bytes 50 trials.png | Bin 0 -> 30521 bytes learning_curve.py | 21 ++++++++++++++------- questions.txt | 7 +++++++ questions.txt~ | 7 +++++++ 5 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 10 trials.png create mode 100644 50 trials.png create mode 100644 questions.txt create mode 100644 questions.txt~ diff --git a/10 trials.png b/10 trials.png new file mode 100644 index 0000000000000000000000000000000000000000..a18420c64c65c5f5909ecb906c0aad4233c70313 GIT binary patch literal 33858 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⋙;=BKBd9uz3v@MjG8L9lGL+i=KaPiWmuPnaXcPx97`*FSLn@tyu{-7DC5KfU_ zxk1^=u+>@&EVPZiaDkmk98c`K|@*K#z{k33{1=S;l zu)h8|QVNkrciEPjmPzkpVdDX@H0YPpdKWfcbZc*}%f5+27>H+w>g&@G-}EoM4u2m1*CB)}rTLDPL2fg*f6PU1@TcYxaX z`t>_h+1$E`yTO2#T+HTH68c~40smbjk?{T!gd9*k{?8yoHit50L866l@R9IXdT;1C z8=Zv*=kI-hw_8(72v&1&haK*OZF0~{^o6o`l$4im3m79czCKBJC2r|8YdzC{?1X>V z6a;C1Kxob{P?j7qHTpaa+{`0&esy9FV_)CAInke?HoxEnI0c)PSG(|SnCy1DMNiCW zX26E|zc-H_PW--+uBxXRnaan1S~)>6@HF!HX|ttTP-Xx|%H%5mfq>mwMujow*4;$Z z--IS6BK7Knps%DZIKqt09X6B3XE|z`E=mN-W2aEWx4JJa*lj)uq)lufi>~T9t)QU7 z!6Y++=GaF^Rp#NpmwQ(ykVsT@yoQI8au2D0NCX=K&4 zwV}s8j%f4Q%?Nn=t8sZTJsGpmA9?IF!2I0bC-}QdUm-p0{)XHfDb0U3RNSVr3jKys z?-2y60f71Ya&jb?gT~hoX6EP9NfoX7*<(zx`=X|Dvea;+@KOKox%v@?eg>6z8Ju4r z1Fw+`F!EVc&gOexp$E*DDe>i0POxwY;E*hRNrsqu2c?u`UI%A1saf=etaTqR>Nufq z%V_zO+&^}E-xbU^*5BWJA50L5*xf48h;0lsSm$p!X`HbsTtW1(2AkbyWZ2Nq5>NSY z1S=>ugoVvCg~+&X;jxBo0_{E|eUXpa)^ zRsO4Zu@G6sThd!g5#7lgKvR#kq#x;k(xwjhFda`Sw4Q6*8)e5?10j}13fO8rI5JRa zsW&H!ec8doyE)Hc&w%Ufx~bF@l;)@R{_|ArotON|)ChmKbzI6H+rFBvY$|&|H%b zQ|!UPBP+{SANDS4p|2o(eLjWWZ(`CLFSE_a>dZ=((=67=d19zg}f<8;)$R zPTNPP8i0)@Wsn0VSBs4(>^^=V_xJgSH&B@wH6JpcKSx%0kAcI(%ftS4jTf8CHd%W6T#yTesxS&5!sXg z9e@6lGqlm@r-Y?*7cHAM?*;1q-2ZR~`}J|I^kcqjKaz{wZ5Pr*(&iz09qPt4U!W+x zjeL0?$SVN(G}ICQW%SQ^ltWMZ1rJhR@DCT5@Q zFgurEaG03j7_&AXd-t9i4gVfNuN;~8MS0l^7{bc+?ioDz4lZ0U%aTF>g9sN~>$69i z8Xyt3LcsOA+Y0GmHIIw|6Xe;_(4L;6>(rL(C&crpK2-8FwX%=CdK8q#UA$h=7vgY^ zL4s8N(g;V6p*v!OZi;yoA%D#2< z*vM)FkGR)BsiV1>l6JCGsX(XBkv8kz)Enlh$C+EV^~n&eyud7{JpKJ@W7rZ~{~QH) zI!y^1M7!d-RpCm9S{Nv~>h<)*si;!NvfsXzH?S``K8`xZ4&)T&7@vm5vdB_N+G`}k z^xrj6#6Uy!mG!XyXm~wvnYQ=|Y{{Tv*@Vq#!Gzy}z5l5->1UAQ!Uaqj|S%%tWsom1+7msIXx_h*sER65_x1WZ2CEP&M6cGtiq4 zRWBm^`By7I-8h+}ZLIep+55(UZn{dT#$q5#A-=-zz?%4o+56fuXK1cw>KpYe&GzT! zhrSt#(Hn#(&fJD$l)Fss{E{9DbqBng_>__zazr>SaON`0L_!)|MC?5XU*((Tlco7! zs$Ch+F=~@%G53q85vFEH)qlo98@;;xbZ$-hs3z5iwH#S?I&bYMUX{n z4`o&tg6^fOU~f(;#0pg%RDj4{w|})Ofs5j3`N0A1>?LmdVUrSm< ze+QZxL((gXwbMEV#u2HODbWW9qop-aUy!6*!i|Z8>s69I`_ac4{7tJTS*LO*=(eWA zQ2L3`s^``?%Jt_t<{`@hhqt? zvR5Q77A|%GK!Dr9zGqW&Gv^)!>-^60O}<-CHSJPQa5G7PgrB#5QwSfc^`(Z+@wqP#6z zM^o=-sr|ws+rOE<(I3|Hy!aqsn6$1u(Afh99uqgb%?$IY~kTrUTW%My*j`@&Jb36kO*zf5ONW2+o6QZZtEj zp}qMFgFXAw%-)Z{+3m10+m6hu#%x*My=xcnMZ2I=_NFAoF+~`fc@SL41Z%$zYae&r z^fg>64*=Png%TjWvY@=RC)~_~t`-z%m+<^+lCykS-;C=KeCjMRW170V1XWKv{lug* zTieq*UKSpdr=ljF-PM3(U+bbM$1bDsepJ zs%?LNVbxTJ6_sq1IS5M;p^U4!uOpD+@m2?`B#)hcB5D2Jp5wScOFO$!Lz;&yFH4f8 zWbHLEP3uZ9xTw9qpNfoJ>dQ}-PV?DI40G+v6S19(pSK9S>{z_~(E5fOnOM6>L%bw;u&hoq98f;;KjGzQ{iGqmC(KR2c?2X$USD=+uG%zrJ#3)BYSiEz->CLSM#b$TGZOZe@U}%=GjVtkllV zt4$jj&hMPfpG0IcTl~5!DY%msi|G+y|6W!0QvB9|KFRI}vK$kM8~y~>L>j0g@wiv7 zUL_g#Yc{Y-!0hyv3>q%tc*qrAetx+xRF^6vDAI=xjpCW!6&JCyda#JEHl^ldI@rD^ zf$o#s%VVd#z)o>=C6L!RhnmL%Y*~oaYuG;y^b|OIuh$UM7Kj3ymOzFzhG?3R5a`Y_oU{vFxkOa&0 zkXTI8^QIovcu^(ZN4FOy3@TlkH2oNEZmsOn9+#B`(Z06`3}l-CL-iK|S)lvwy(uOL zmYBg@EUp*Z9^Ku-bc;1f3b(r(oeDue*AuIm7h~wvMIJ0lT}><{v4d6^_hjXcT^(7~xPO%7rzX~Rw9Q*RXUl|G3v+~YjYj7iy z{At}u)?r3vDw#UHDrGJkcbo^@W%xTwU+(Nw_;z>CbXcx$A9w-tK#)3*K-`*#+68l% zK_MZV8zP9-yG{5yC48+d-}x-fG-90lB8YHHgh72%qRL#Cl8j&#)k+eN0XY6)D*Onr z3ncy$h$T^nv0LEU?(FR)b1A{~rUlWa2^#Rfdi5$*=3vq5!*m2*zWd`s_km3mjQffPdP%5o71N=T8$dqt@$xDPRsVfK>L!6-e^@qw z&H_3sEtp5t9WjMU@v&&yg2N8pxr1^mE;f~KPtmC}CRO33(eR~eo68ct^ii)~q z@#a{#fEvu?8g_#+d=H#hA{L#Om~J`UhN+QA0Q_jeN)BWjTaqsu=6GTM%vgapad`we zXkckH>06Z(l?rwmhoru*5jm~w8-G5RW&$zf!^B`C&s>!?#S9A>%Xn6s@zdP_#)$v% z0(|;Z>`O#1k5_5!tj(%{!Cb@|%T6*@8~G7S($kO6DCm`q*nkaSb#R~9n`?^Hc1n4) zw}ooMtY+~W8~=-ngdOiEKsELQga$tBDQRdtUe>QR*?SEMljJa7ph2QUVB$o??aw1s zRod2wFRHQav1K{>CrfP1iQ0+%1^b(^v;&e<{1jA*G%{99^QuXht5-?w*^CA3eHiTi zaM_{!4vo}bf3T*10Uiu|CkNn0d!9HCp-|zPqvmt4 z|8|m!vQThqw3Op8@w4%aeVKS2{&SdOL(@Zga^KD(i3?jmPB?MFKXf%0*a4xz!ZV1EE9`9 z0z|Bt-sc=(!vFT|o5~~=j3~fF@(dKJmFuowHs(`MKR;pr{9N%n01rl@IOt#ljvO2y zXX`bd+cMQD>z0X3j*e`LOta`Jlmfs0R3lJDjM8XzxJ8#;LkK{3kS%WZoM`n0xRY07 z!N>nup44kqJ+)j;t~-c-M$0b1r#S>g+At%GPy3P0h=?;&N2NQRCM8{GpE?=hwjdOr zG_y9$NY&H4UP41-qXtZI{W~Jqo`GItlh-9G%(idsb-sBUVTeZBOz1C6NE1``mW26U z=V|aQ7v$(7v$R?U3sN1Mvj$Od5a!-A~0$T0%niJm4!2f`n$QP^!Twy&|tME80iL%-Vo@B)oX0sI2O|!k`vpWsR6Ts z9w8(*Jdi_7+OQ+jNKzoE5%DrUm86;mvhAhkvzS=S)GonbFC`b)@_@`pA&UtVOyRaLx*za-eYLv;2f%+WsD z@)CmYBsoqq<0>2AlE9lA?rTQD4g@#nRQ4 zlN0xb?$N~ADuT`Q6dQgW{56Tmq7cSw9WXQtApFqRd+N5Uedj{|PT8-0PvJ|nZf;G@ zrJ?3Tw5wZ_3D4LL0`cLu%U-?7G*FzNG<6IP4h}1mDULbTA%!j8_twRWwE2wLh(0~7 zSEZ?2(!Q##5(=~;>i#Qwg@NpdWS;@4d0p5Yp<`oKxRIAe5(!S*^&U^Ju<#pV}sq(8A95#uGi0vQLv#Wkrw36L$k_{Q^(JH+Ilh zlk)6`Yhx1msp;v9-IDk|sEg}4_nthjs&cxsyEoYtC^BI+{-(*~80ITCuBfNepq^7D z%4SeZUaZoiW~b(0gUhvj7@Jm+a?Nimdt-CZLXR>F#o@X*<5+uL-UXgNWqVHgD`l7# zl#!85HfM-N{c1F^8A-?BWb@HyY^ncJ}^AMrO$2J3<~axa=2bBl->VmH4paIppG1Q?NCPXPsgYkTH!pJ zSsE7w_48SR;X6Vy7qwW92rm4244!gumb;3uU-`zUK`%9wn7lb+OHrqJAABI@KjCIp zZq4C%1oXGPbkLO*@9XlbAYmge#KK*W%rG#67tv($80N)1mWDo7fwGKo191&vL9!yi ziED8%p@-*f5bvIs>|r$w{8S7{-$2<6qt^a%?|CSoo_x4)(Ncx#vh)bQUg7sK`)o&} z`C?ckb$tgWZ3v|F;$ji$zx78dK~^WJ_L+*&ylZP~@GSw->7jP=ukKzFZQoCm;z+Z@ zSGlH(_|?J~$;S4yxfg!_6eIWM0!P{xMM#yPkch9TWyKWfK^w!%P?mgdt4~dp=i0SL zn5gjZ56~TwdO1=alaiL+)HR;_`QfglYx61I(Xs?Rd<=}}r=d4H-Pv+~Pk5zGJpt*V zD^MfXu!|J@Q;ZJM4cO1}G@E~Z-ovPa9G8}w$}K9YK^Oes*RNk|8*Yn^H0Ipm!($PP z3mU@Z7u<>R#y)#F6?+49hXS5nv0c(s4ILe)xLJJ6Uh}-g0g|j2AMyR`KFEQML{DY>)tPg73szbz(ti!@Df+U%w2mLwtG`LEh`?z zT?OmBM&8O29Sq_Hwc7h-fy$+3W5fIHD96?7KfQh1!enC%p6Jx->z1hiIo-DK!cXGQ z&|@3y_pwtS{QNA-V5!vA1-ETc-`tmm9+O5QixRFNNe!=Ai7st;i`ps*g(3~af)j}1 z*s)B|D@g$Ayzbj-MoEif(GKICOqK0d^Yv?Z!7y17E-hBNf!De~7YvwhPQ7HJCTW}j za>wHe_a|}EUZoRY2^7%Iza1ABr()Xz3Z1COk~Vl*+Dr;=F^)n`0gG2uQc@21c&t~( zDoES1(hc_s?2nQeP34*>%#OIk$SHoPo-JXqE7G#Ntz*v@@qRa7KF?yfsRG|nKuPK1 zp#w#Fp=DF}%^?jTF1X$-|iL zP1u?3=gUs>ug~{9T_CE0>*w)jIT-S$hwih(eILvn1E3oBgMmc91$xtBn|@w{T5lag zLqqeQ`ZLCdzA%XBdXc{^FVX_0p z<<{rZ460IN1eCUXGcrJOg!wlPFTiL1YwbBlI$&(nK{s85T*<=X3yJrTCT{dno;>+; zxX6+N87l-P2a@WQoSY2oMGU*Snb}OGoSfWie!5`tBS+S2dcHpXtiC)lnaV+Z>Dp}= z=;Y4$f7<)fKq}Y%-Bs;o)mw?ol@uY8C>d%e87e|3Q^qof$Se))9a1u6rVK^qnM6r4 zM1_`FGQ~0!7Mag=+wXhM`S5-_AI_Km{<8OGt;h2`_kI8F-|zZe*LB+@{CSw+aE8v3 z5xQ6XjTz{CN@omr2^}$4&!YYTI5+=#_n(3~1)t(-r;hKrUx}MQ7r`z#0oxPl*n^N8 zPV-5OkCb-5j225H7-i$_gZv0OB`)+YPfz>y(r78LVj4)!Hmcl==KiENO;gXEelgdA znkL)!plhU^FY2g)v}fOCNE?8muL+4er8E^iH&wV;hbR&IbA0xhoucA>P)Nq&nS!|x zGFe5hJ-m7eI$ejEaTAi85h?NCUE-pm>Iw=9n;Skelz#$mD97|8YpPD6YEz14sE>~i zG#WWhzYI&}$7`md-h!4NA0NLLlK;eaZQi%FOD>O(2aXnSPiKD7a`FU#^;?)5TQTKc z_gAkzxuTn6Y3R^}R_B(Klr-Vib^1sph^vkknXbO+=JrbB#*bLE;mnbnR##Vl!K+C} z{^RWne1ckp@=PT#JYQ&nPizynxX4=<{ z`1tw{Ul^a;YS!|F-MJ;F%C@HGdvm_>_)lT3^Vp_t-L|EbZQHRUcq|j-%93C2*-WTA z3xbs!?zf3%%~a1=QwB2w1?pR*3Z|jBg55Q;6NxT z4T)}xP~%T`@r#P)_-X&4nSV6^y!IQk)YU0mEPN)WipOtCgn--vV-ah$$UwUZ8s7Kn zKjbC(8L>>RBW0W%?a)4KTKgfl#8y=`5aBeAbP`{fT)${$);|y;xKU#%udVil5w-t2 zlEGE=+4YK`G%YQReN4~xEIr0iYslvYUNhx@2!bmig`>SexTv5EkZoV^a*hg&F)o5M z1@3W0%elM03QCU=Tz|`->8my^Xvt9ktUE+i9{OA^DZ_Ib)4sKc-cL2~K>~5>DJBub ze@BRV;n%NUAXPPjWk-6)ckli|eu&xV;JCfp@XMDC(nW@t9SdDc3WAsAm*!$7A?0Yz z?dL^zVRg*5Wi2PKWWLAscp!&=T!Vv0xTJGdcEn2Yhv5e*-ZPCxa!SRo-WY%3S$x&w zkGZ^JplGI-9$c7BQBP3p9MCU0z#%CQ_>IE5A)nLWnDcnN<5*|ZKqeSBgbQTSzNa9| zmpP%t6^0@kZt9hKpyr3n<2Xo%=G40RS614K154w+g~wU6Ss}k>jK-*=u>_m3OU|4T z*yV{Y7^b66%V>w{`SaaLcP|M9rrUH@zAfjm8DmQ~GEhRd^43#(S{Xz)T|=YAV|5eF z5dA-MpnVOt_5D_DdHimNol=!IvQ=dMp*`zr7noP2L_;W}IQos>$=1kE@ zWmS9oZP$^D$-3If8mY$VZFwUf&p<)9mn$Z)M2MsU-;fF*c(j6I7+tBVrnaM2ZT7l< zPR`qOeZIf)tUg-k7X?k*IG`P$7IsB$ z@H_=CrOqgC%$Di{5JtH-fcrx)eRgqfjQ)W;;2J^}BDxnzwFwau{xF(|dr=*-1%GjQ z1~ELlu@ZzL==eIlkUpZD!U9~H!h0a!^SUuUN5^FboQE-x$w&*x>U%EgxUN{kW8;|B z@w?0ZKlk6GWEeNx=^Y}doha=-`y36tI_u3kvX{d_aUESN6B2~i;&Vo?WJt?;qrh1r zvgc*Z=Q7A_0hZBU7e#o6KbkX*#;2w2c3$&z|cqTy)p|1RT zw+!QJ*9JQf5o0AW+JUHjkl77lmEUxd?*-vb)ZpzOc}Ki;&66j8mM7d?z@M$><11XH zRPNpX)D15OlWUQcj`t5ciD(rxdqkanUcpl;DNE78T+-UD053%Dmt_YJt4TOz+&H6k z`*tngRcg9XOKA)p4IN5Fwq)B$RTQe3+D!1S3k?aQ~atBkg7$ z2S1kW=_~mO;QECH^~>_qaqh>L&CJZk>GX?#{&~C8ZQ@*q>sSfW{o?j}B0(YhE(xeQ zISqDJGHEfC&$kLYUE7NZXIrRy#Tix_jX7p&{v5|OfZeGgT+@;G41)8Rr6o{j&8eeu zIh=)ceqM1}8q1S~i9!IWncGZQB0kI8VqZe*qJIb;Y&pj-e%eU{7Z zrx)>8QI?*O4HUI(76z|fX>f4xyfu%`Ni!QWOSR%W^^&4OwI@UbNa0;?&8B7P=I%~U zl374bp@97*hET+T!fj*~w`Sk+;4bpU2kd+iWystQzQR~D2!qPKhz2&Lnm>Pw0M)#` zAT#k?L?VbxgEc~>jV05awBdbks<5`92N0XKppH(LWqHaxTOOs0X)AsGNj_1!FS&5^gR%Ujm3 zty(H+2?@a+H-xJg&Olt-<$m=+jxaivlvt;A0=(2}b01;0l#4)z%m!8Y_WNul3;6q< zjM(<-4-X%3@VAxi32S&OW+S$AZuvEEuH0Cinj<=4e`zh)F17WXoUns4akas>#=XmK z+wlvY8=njcKf>QO*UHpMO}X01MaJ&Tm6L_RA*S9tgwnH0#(-G{A2@`T9VK?}zqC}W z6B0uf$PLOrdZa2V+tNi=$18)k8`@i8h{YzZ2!iZLTLd?on3>s^50C21sG9o03m-r& zIN>aN#YfP*Yo@K{^!L;Jq)O&CiYrC4E!@sNS*fjL;yf#m^t;x3^ zjf8FrWIR!W+d*Mw($5d=M*bD5=YDahspe%(4w-Ay@7HZ?uLifT>vjK+DlpV-ZB3nh zHuqOPIn=+3O-(J~*_j#-vWZcG1mv_-`Z3jcUwSTS4>f;gKi!hmH=SW8m2%O%<8sk- z=l5LnS15IO17Q*3${RKW_SXq&U9bA^(0kKkPIq;}r-YQ*w&#n@eta%6pzO9t=o4Pu z*8);gPmXP{`=QcFx3i0fHYr>@ba8?U6oQWrduZBuBY2`)6L@|7dDg*ewut2~o;!Es z=D5q8RpsZ9vDb%_Jf#*3ZgjbSiI(c;^{x1xV~UtnwjP77R=Thc7EQTkMi0{B6T%wc z!5Rw6|5&N`9R=ffq!>9KB{^5T)Cq8amrS|3D+UcT>4Z3#M(K4Z7FH@ z@Q}FBu_*;e$nKlKcI1c3#0;-^wrhS+@Up|*i8q+=0v6Qpn8$(Edec5!we|U(mt97% zNKVZBdF5p0OMM#;y==May4SWH5D3rG6Jle(*nsmwsa{L2*&*@b)Y?I+{>Kw`+yY?J zQBD}(ipFOG6z8UufOju0ibpe94)&|>Rv`puY{GYuUgzb^c)|PKXm8|n~gm3FN``+^P&(nXU@KV5Nv2< zBY9DPzlK374-nzjt*Y0rkD3|C%!3pz|1lzT9;zBd6aO;R6;{nx9wa(BJ<*^0Ee~0; zpzZ3O(ES(PtHM0^=~Fwf^nQrJ)NySJ5=_6&2AxLN@f5tsrg}YDupG zv<1*E>6fpGmU5xzt!=~(e6jAg_uKX^(s=X!4umno%(7|j$p^zT_{ zv#wcc2l}M@t}g2EDy3}Gz*5i8Z3wcr?)#RhdKsI9aqkrm-)yQ@QiO6Ds_%XY#t6KP z5Aszt{7d%Fo+U)GXJhtdEH5#H>=!5UEDup1GaBDL9Vq7?2$LP@#b)g3@pRfm%x2Su zf=uY;f}ZeNwJj&$Cq84$A8umXDErOI^KaX-oYuKw^C)cwLAHaTm%pw`Q0R!$?|TZc77N0@b=}GrTzz#xINwc zb6vKSa8_)?8_OccBS|+<_N)m(=6UN@L<}>BmB;3dkIladxVhreF#hk0XZQFgv zQ5dIY8m-p8?kU)IXK(4^<=OAP5z1?`Uuf3r)Vy7eG>mJ#D*PK?7#%bgy6?~SvHspB zXlqML;eu6o&h{i)*5JFHi_!Z%M=mXfo7uMAXib2=r{H`co0$A2ws7S*Aps$w!NDY+ zEn5cbj&JnP3q2?)ybYhOICaIAyQ4V5LhEZ9`M5Zf$3k_kT!2{2i?=Q)(>$9$_a&JBv^MEX zQI2l+N?5mT`}QN(KJ6myZJ47G-)EwR2nq_)aZvj&NTuhaF^=s<(#(Cof8CDBwtd#y z!`7Q$5~ z$uGFX&ml6BuyRc{+zr1YkAtOCmm9a#xcr;C zmVyhc!m*$7$y9O(qcI!p zO2eJv>8`zh&0L6F4v)98|D~n)0gc?Cz`&>Ynqr{G;>=Y-i%*?!`j-N#mZ{N>l$uZ> z=0UxVVkMs~F!8-HQN$+pB<2$7L{e_bUg6u#edd9>hDHeJ`g;`=m6b#HLTA^P%m(#G zxiGo|VS74g$V;reH)a7d@$c985Epm4h-`J=uoSilJC7T?&;P2Nt&~}egZeaNc46rE zim(6S0vym3OG1k^!?L;T2ibbsnSDon`J|=wh)3e&U<1APv2tt8ojZ4U6j)eT3hSyq ze0Ycs#g!}HHl<5J+J$QRW1MB#trZ0C$9C^IU+y+u;&TS&Z;`R|oxX0LjWg#k+hSFi z4(dDyXheF5A| z@%;I(pvu!fo!U~>(4YpefC{j4*h1$%_dYooja63%y19D_b!DDHn=YYr;T){!4ZF}^ zpj>BNskC)356_MQYj76f5M^F=Dj$7N z_PyWGur}5Iun1^K*!$uK8=^W6;A^qQ8Qv8i(Jx`~7IiDgF}w%H47BKV)?`Ymi0m}5 zwRfN?Li`2F)WWR77Rhg`$`e)m3H?TwyiM~fi&ks^~<0{auObFHs+;kogj zpIK;CdsPR2B7c$2vh(Ug?}G0VX|C?Qwjt~*+QX&E@yL;Z&{@K z2@>MJt-=52%m4GjkP-{5RATv1TMM?%GxcIetC`u^WXKq2!6OFlg6UG$w^gh9M2xii zz8_L?mOkp@EH=Jr?Brm_QC}BbBo5E5tP-~s16U?8gmD?7u{S4YQg@9k zf^SUg1QG}<^Y5E2 zF?`y^AB|t%^Y)e~X0b-5T}`^Ii1`Qh@2@oAs6kZU3-)MkwZnOIxW#NbUxMTkeCarr zy2|*Ur(nrcVSI?8{JJA|bvDA{5X_nza2f>BEVb1b85sqKgb&Xxm^&?4(1cjznh`uWS30zNL2#je$uodvc%u&KY9g4@fwoO(YXpg!B$VD>jL z^M&xfx2Ff^T(I)(-hC2@RKiSZ0mn*T-yaQ00Z^T;B32&!nrZ4_8;f2kqmXu6%ehnQ zonVpSfWFWIJ>9bjE;t~pqz_`#9BR&d1}JQpP6SBLpYsw*3cL`YqfLVi$+LsHML&=s zoS)yUvh4w=8WV%w$fKd) zNzxN@97n@?%+5H>P1(BqRs*iqo}nf19y8~=3QDw_Z0Mtjr2%7&4~dJ9JZif~^Ad*l zLW+hU_r87a^}eR-%Md=wd-y?&n81BN^wq0Ze!qGuLlv|yxWJ#;Y!VR8PMmRaq0r96 z$7s@h#ulkyc~@80&SQ4Hn`oagZtwoyz6piZJS6Iy`;=kwW{|1n2OnQn?~|pW%n$&J zVY}bT#T7%-Iyv_n&*qJG73qxoOyHN+TB#aFU?(I@Zz^Ds)6yvmsq@8bl z5&7ap6kUXQ!-`o%n$ilBuBTO=NS{YGpP!!({MWu|69Yrnh@B&g&&y)1X*$?2 zW>{A)IEH7WFV7>7K9`FF3Y6C@Pce2fx`_eU^}p1 zSy_4Zb>wd7Z*qVV!qz7CqblH%#f{ZG!W3-(Sx{lvy`Z-_At7NfMBBRRNXbART*kQu zO7s?Y^p{v^57@bPz{QJSO6ot;ti*L%1Cd4=L{pz};x>ag3byhM)f$yRJ-1({D=I53 z{%I=OrS*VJK~9^(kOqf^nF-0<`0|^!!;G z>UnR*)7jGUrJI|ZC_G(!ENWw9^ue+Mo#H@>X|eRc$a6o74)^H}Ias3sZXIKV?Y0=F z=e%vXVdhRQ&-u*k2=8se7GDL(|C3f;rfrX$5sX<-9HIOWfg6Ayy4kG!8ZU)Wby=bw zseTR^!FG1iY`@1^UIl2Ys_E=Z*ew3`^*xOH@B=``ibkV|9u99P2eZ=Yo7dW5haVH; zCg2HsH<=&7sxqD*kXbqebiyA~lm$E^IefzpyV_2K+Tvmqi`81d4-VZN)gd>wFgGoZ zvlWa5F6Vssje3otoL7fSIYR7X#^u!aNCvQujEzu4lX(0K#`H&f+U!w8Fh9Z|NKVuq zmcxth9vQKM@z49;|D=LJ53v`Po9D7J`SMVGn#>)Z7n{^Dk-g;S^t3p7qvnY3mCdjs zd3^c77h&|#xUuzX9&^|CFg7t^0h3r5a?h(cY^v(or&zB;Am8_3z&6v#gQDdohf&$e z#ANz=W`+g5aN%h8sY~44+~skc3!|?=arpLgY0P4Yc)Yllyq)}oC1fpX)7k!WYDx^h zy@Hv~hF!sgE?BtQ*PwTzm+&Mg*G0Z&EdTrexk3^r)8$gC#@rd`71Uu?vx!4OoorCq z5t^3AZ;mz+u@!Fas(6Ad515%)C2HWQo8(?5J{G-~#-Nehyg);!!dsxhFNBJtwsOH{ z*pt7TpI=EW@$6?T$NO&n^Vk&^(3`88XvPU)`%;>cv5|-TcDLCJmd(PVxRskvf;6t(o`#N0I~CNjsGVo$EZ-Q~y+Z03|KkZq;J&X3=4gsqehS&itB z5(*9e7z9N^X2`>^OoG$X)A1n2co21TBC&NQLQa3Y_!!SyVFvnGmp(@16HNNa*%83T zhP?+Q!Ht^j;aVa==-;U{$&fmodNvWI66c98SW;1!4)IFFPaZlsovTGgWU z+Sm>;JUijV14<@>BOm-cTIcjY{{hK&b03lqO@wj#rY-B&+y0=@;Ce*I1Y+xn*Qz@cb`O^AG}LIc!NT z+=q)FQt>7nQwV3wwxqyF>^4U4{jk^hlZ+SpPX|skX)SThUzi7+Mq(l{??+4_6jCxl z5l0;hlo4_mnVFN2(If+Igmt=_lT!h5?yKpCF{#P$1~PJRSjFs_K#3R!`h#yd@?j@x+bBqBq;8{ zP17D6AN>Tnzln^rNi`$U#|4U7w-*?mn*osY8PtPxjHMX@(bPEEldAT|sKbMbIM(6e zh_M1Lmrp$g9yKZtJ_Y3c`K5VzuRFmL_%~+@(lULAp~lavwn)Y{Ha70brJIrsmv}Zn zy@Bz;Bj=Ghh3uu3#+YcM=P_f_l&-H2e3ZbVX!6@Oh&3m6VbPi+8J(iO6LS#c=01g9 zc03&V1Z`|=NG9Pq*Vc6dgg75sb7DC$;6jxWis-p;H7~=`DjbI|C7zE;hU%}nvhqw- zRTbei5z03b7bKbHU<_*D>JyQA&17}5h`d{L0J92|TxlF;fjOmsRjz?Vv9Avm8z{PYvda~aB^qP*jnVlJjE7r~eBiQg1jw)Tk`sQW zb&)TiM8?`9hx#CyidYEM^sRVGp69=K7IPM8HjpQr6Sq_OsE#m;qpy{R*k_c znHw#JMSf)?{3aYAwgsw>D!T#4Pxel!+b z%jNsQk9!Br7Wdyk5FJ7x2j;G*!;rdeq21|h(~n&q=MIdzRP1S)y~ciROH}Ck9I2% zniI~cxq+Ysj(`?cpyJuH>eMvd9ZXD#SUd-CstY#yh75ypb`MOWKIYYH*IFQ5BuP57 ziDZW$DliCU#G~G7>_p+M62K`%LK`0W49@%@{yTw>A9Ez`*^y&Id`UpgA}2Ev4kDpU z$}G*)6GW7>0&I@sUWg&B)J!jqWuWTQKf`rCkU;XkzMlrQ*aFlTMR|Fm&&hQhxlE$& zY_|_r4*0)57J_gp!`h)@SAx-j;2iC;I%H%;g!hOyOd=?07?2bb(}cJuVof*U84*Jd z&_~)dG0IKYu|@_4#5t@%Er#F4aYFrpWYnI_9?(7Euq-3-$Ng7zx;Ws8z#7P7$f-&s z=Ozk1K)7wI&Kq=MsyV3_%&?H~S(%S5>ecLt$)SUn&`rAT~;UOof&?>s| z;?xW#>~cj)(_hL8#WL^uIWch<#!r?)#W*B%D?7U-1BA+Yc{r|>Tn!Y*!fx8b$B&KR zy;X74>1QmdV1?kR?(q_siySC={z$T#YeWto_J@ZU@}Jh44HFW537G0~*dhD?x-{3I z%r=*mmEDP#m>UXft1eQB^QXVEE2r(q8AUN_sU^VF1GvMPv%aoQj6D9kckgzR2^ktA z;ZTi_%elGDpKE&*6=kLK+O6dpaF#7HnP_zw>cvqf9b1}ZsSYp+q$qRKNN``8H#F4HqAD99L3@eJ-< zo9UMB*+_d`TVhY%@xv#2&95S1B*~-Daog{AAz3g$H=tZk2yTkT5XKN4Zv6NZx6-|y5T6Uu|K&U&m^!RuV4+}^BzMpjl{)vNOk(na|0<$LNP z9e^8YgNOCR=%#YJdLuC%hUBWgNf1ThHSCXzWHJ>gwZe9IUM2DRo%U z!v?!#2vmXiHm=Lyw$K^~XjI1mLm3nt>`*=@4+`dk(bsd<95Nm{gw=}n9uPtY`p`v4 zK0bT+W2Sx(X7Hhw_s?d%eSMyq)v-UFTBi|0Z4D2+j)ZyU_wVML+2P=I5*LlF+;Z12 zoa8hr?2SMKbiV0>Fv6L7%)b8`*xy5~xha^rNFzZr%UDSd0I3VBFMJ?#c-T?_fJyLP z1q?RHrA1+NM{LxfCLq!xvI{JX*myopO1kPb_kM~Mo{jvPQLjAKY&d|_rXDK63#U+y z7S4*L$K3h;f#!nZ`zzM&O8_kv^S^(=F)#$u9>RIUflc`*s3nV1*CL{|9!l5I7HA_Q zy76SPqkFHi3kzWC2q!fKPk|+eoik>@bK$8w!mkeXsK^{N6s{LZv8)YW^lY)oT>MeXoT~F{zkVBoTsaT1n>(1TdS3$B!EqpMMQIL z+x8S4*4{Q#ZH@?{`ovxt7!M_Z#p3)7c9n-n{N4v}>3@5jxv`lyZl#c3kJm-SC`d%&kvP4Jn@2@|FjG2Scua~i>d$9Dx&KjY;X5ED zq*S_T0q6>MPO_5nnLw(L3b1wV2WF1~&bc!Q74AK_NHTxM{`@hneQIM1{n;@rnY?l; z(BYzyytW*42#^U>=tU#s#F*Z&n)98NK)T5RkzGKIZ&EoVbVgd0UnD`^k`^r5;ISwdA-x?Puz1JTXEgSFN4CH2k?jnpfa0ev^Xp-1@VBmWdc|xf^}k( zj`I!jsr44tGXM-H!Id0Bp5AzO{dQu~GI#1g&-d?e#7H1DAz-8cg2oMoU5&l~z#E=5 zJme5-Y@04W->gNck{*#a-8$FS-&l$*orD>b3#d)F(M}=u9>iCcptXua9$%OB`gzi{Es2;rgq)I%*n^n9G$Vu8b zEDsZN1tZ)5G4R zpp5Gl8#$E0AosFAc1yUYNvil)%XG0%rN&@+6p`(1(G1sY=hd@zy z1{mEtG&FQ8qWimw3Klq@W>T?3iNOGJ$1^0$-dN&WaVE-LA0Ia0$-;!B;aWoWdmPhV zIJy;*6pQ^yRG4r;%KxZ)aL|n4^{{{SHrV+d@Z+_10+V5r^NWq$)q~7a40%>04zgn({)7;A>b#roY zVMXsw4wKgp3O+WO#otD0_Bf@&QW9vh93TM(z}!8+R}R1a{e7d+&u?$!u!K2=_U+rp zit?X8Y9u-AQWzR;$$pPy-4Epm>01;4EA}Jp6Xz*q4^U7n7}$?~TDNiIVW{_v|5&qz z6*L+-NIOoIAa!N)obTcC2m53vdC}ll`=KIX1=0Crngvsi4XP&t9L!fw;3w=?Mgnj& zFSDv2lY02*k%8aNLvI%sut9x#0%YBmRE;j;t-D7|$J=-WN@IdcaTDa8Hv!8eM}fY_ z;<7m#Cc;DAtm8aFUWEVBT>qC2?_a64*V6IC2EC9%3;{)ZrH7 zlL2KbDLlIlA67$>_!2yQY@i2Tz&Lw$C?!2IYl`w*-f3(_9~Tk^{8J#1cZ4u5{(mwF a7P;>G?Y+|wtz${;rWI&>@P5QCD^ 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 L>`vNw;?lnXt1hvL literal 0 HcmV?d00001 diff --git a/learning_curve.py b/learning_curve.py index 2364f2c..13a18f9 100644 --- a/learning_curve.py +++ b/learning_curve.py @@ -1,5 +1,3 @@ -""" Exploring learning curves for classification of handwritten digits """ - import matplotlib.pyplot as plt import numpy from sklearn.datasets import * @@ -8,8 +6,8 @@ data = load_digits() print data.DESCR -num_trials = 10 -train_percentages = range(5,95,5) +num_trials = 50 +train_percentages = range(1,99,1) test_accuracies = numpy.zeros(len(train_percentages)) # train a model with training percentages between 5 and 90 (see train_percentages) and evaluate @@ -17,10 +15,19 @@ # You should repeat each training percentage num_trials times to smooth out variability # for consistency with the previous example use model = LogisticRegression(C=10**-10) for your learner -# TODO: your code here +for i, percent in enumerate(train_percentages): + for j in range(num_trials): + X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, train_size=percent/100.0) + model = LogisticRegression(C=10**-10) + model.fit(X_train, y_train) + print "Train accuracy %f" %model.score(X_train,y_train) + print "Test accuracy %f"%model.score(X_test,y_test) + test_accuracies[i] += model.score(X_test,y_test) + test_accuracies[i] /= num_trials fig = plt.figure() -plt.plot(train_percentages, test_accuracies) +plt.plot(train_percentages, test_accuracies*100) plt.xlabel('Percentage of Data Used for Training') plt.ylabel('Accuracy on Test Set') -plt.show() +plt.axis([0,100,0,100]) +plt.show() \ No newline at end of file diff --git a/questions.txt b/questions.txt new file mode 100644 index 0000000..a822237 --- /dev/null +++ b/questions.txt @@ -0,0 +1,7 @@ +1. The general trend is upward, as one would expect; the more data you give it to learn from, the better it learns. + +2. No, they all seem to have the same noise level. I would expect the right side to have more noise, since there is less data to test the machine with, but it actually comes out just as smooth as the bottom of the graph. + +3. The graph converges to a nice shape around 20 trials or so, although it is still easy to see the noise if you take a data point at each percentage, even with 50 trials per. + +4. Lower values of C yield slower rates of learning; a steeper learning curve in the colloquial sense. Higher values of C do the opposite. By turning C up way high (I went as far as 10**-1), the machine is able to effectively read handwriting with less than 10% of the data to learn from. However, it also slows the program down considerably. diff --git a/questions.txt~ b/questions.txt~ new file mode 100644 index 0000000..20315f1 --- /dev/null +++ b/questions.txt~ @@ -0,0 +1,7 @@ +1. The general trend is upward, as one would expect; the more data you give it to learn from, the better it learns. + +2. No, they all seem to have the same noise level. I would expect the right side to have more noise, since there is less data to test the machine with, but it actually comes out just as smooth as the bottom of the graph. + +3. The graph converges to a nice shape around 20 trials or so, although it is still easy to see the noise if you take a data point at each percentage, even with 50 trials per. + +4. Lower values of C yield slower rates of learning; a steeper learning curve in the colloquial sense. Higher values of C do the opposite. By turning C up way high (I went as far as 10**-1), the machine is able to effectively read handwriting with less than 10% of the data to learn from. However, it also slows the