From 392ff822627330976899a7b58c9b2e36ae66a14d Mon Sep 17 00:00:00 2001 From: physicassio Date: Wed, 23 Oct 2019 21:45:21 -0600 Subject: [PATCH 1/8] added screenshot --- images/pymlfin.png | Bin 0 -> 144780 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/pymlfin.png diff --git a/images/pymlfin.png b/images/pymlfin.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb05a966eb4d72016ca9322e9b7597892ed3405 GIT binary patch literal 144780 zcmbrm1yq*X6F2$-f^;`XH`3jml1g_s5-J_iNJw{gcPbsyNJ)2xbT{{b`w}E5(u!kupkf!K}u5eH3$SL1_FWiK!XFXOu|5+0sp|*N~*sD zfenga@AVrZ{$kTXWOBSeNDl)j)) z+uOYwqgaOdlB%u*JC73?ffLQ4opJv2)%uC8mlCe0cCxFSwWCcQ)^)XXS+(=EM68*^ z&rn0WK+X`tI#R;qF(h9uQcrHO`m$daG!*S9p=9k39U~1Cy!+0-*mUt_^9SDthN7~v z=iWrkX7`g1*SbmU)-&b$9az@TLdega-gFVM_cmd?iJ<>@TX_{=w=s~wFa!11OaHf@ zto#g!PkzhJzsx*We32Zq(NRRe9_zVCHBI6FH9C*3kmiqH{P^*xru{M#0ea|L*74;l zmD4na{FQHYLD5$1QyKg>HS_M$;>E9PMWW}p&p&jPOWfT*H|a4oDOsW=VCEKxkw}GO zGciEnNO#MNuSupfX4Fly;3C3Xth*DdJ8%e4I^d-ak{N6_@OwNlaq$-jfJ60dAAsM)m;C;Go zni;n$)1)>oSjaiZKEjIq=G41NL9%@Z1LbkGm|_w#Z?58dG<)LaOp`tO_w!>;*n^Vp zC#D_@$7V6Ey6y!VxbM@vVxp4E-%AY|uk(maL4fNA_w6G?Dra7cSuREP(HXwl=NKUV za8C*YdQLz%yN2CczCoyM-3{K)oNd(+60btH6qfiq`t@=F{OZ+X>hO zcj;7T38`0ui!W6ke10woBth(XX~-Rubm6_lCQw4K=^wRTmjCRltdm%{4dI%v2`1R4 zVK=sj^E{1_4-4Zhab_a{N~i=h4}B+fPdLl5`Z$u-3${v^I^*jfAFiybg^YRvkDSVv zrO;_-zQ7~ml1TZY6I&3~Ag{Nn=lgbNr20$J8ELr?2lWJ7LL=&YraUuHh5$>jCSk|6 zJS7n(hAC1NeGKYOC5rMiQ+&(?I+HR?Y2h)#Jub`3D}mms14xw=zn@Oih^tfbgLwPQ z%qEo)LLW{ci(15FHCv_YJ`I4IkX5zGec0!_S&68?>w!DKyyAewZOk={uZy@~?O{2X z0x2|fCsquzU6|-RxU9+Tq14+G-=c=vsoke5KKN_bf0j^ZwdOzICvV`70@*GbDmN+{ zW7t2qP}Rpdb{h1OD-i%}iD7$rnrKI~%J;2EJ3)+ciqV zi?-6_x?299-!*%l&p^~9uZe{anyG$hsRq+)+hF`@Pr0s%7=qAP*PE!l{he+(HJJS^ z@d`Sh?J7!gmmeo2j(u-Q=0$R`2NUDr5|3{W5Qay3B9W31ds>J^#F3&-9$W=plfu!@ zO*2pl0$gxOYQpWd{isl_>iy*sGE-dS$lUll@j}>Kz%XE?)S5`1Qa~=V*PYuDCR4-f zWT)w4hr;6&5;n@y(m-30={@m10?Tx5e{Ef8)fw6;+W+^Y;~3pt?JED)+;Q^Pb3(li7@h%P`F z4H#*r+R+wVYbxF0oww#NLG(EWwaJZpXvxhD@nD>>_IT5z#&$Pq)8xhHtd)PBfnjH) z(i&pGuU+qa)4Ljs{k%&EG6kL~BA`b@jNPGWfmL)n|P!hlfolY}xt4aBLE=al&<{o!_=#8TN_ z4*34#z-i`fNp7`V?vucz5wgqABYq8s6Q>hMvV<$142CM!zA4h!rj~`JkP+@XPD}Eb zVGU@|rZljumt+a2Ua+BpCeqTRUu?h)n+`cE+j0dN_1RJc|o8 z?GG70CmUf?Q@cOQ&FRWgMN*uy6@K|CYMO$3o;F*uPWp01+kd@ESp3CUIEp8+&V(QjVhXEhB=isiWw=KD@d$KGIOmTsUXMUUE$vp8!FV7^Ar6WJ}aq9UP2tyD^hVf_N@fnTl zGpF~I^gI?44N6U$Yq^y3kd~JTj@FJ)FI@$dT8xsKhiN2HKm(;~kjjlfLM_*pr8VK$ zXO<}&zuK<%!mwVN&s*0s#fGH7Ou0;`IR!I3c|%X0QKzU~7>mQAe(LULd{3cxRPs?U z?Y3dvQ#hv9KP&nzmNUlg@SE7%+qaQXjV@iQeGnh(Ub$b^Z_D{{S$0Ocep}8{4(vgr z!-ur%tAWB%70vT~QQ4xR8^wFW^I!wJ+lZ$ogn=|Y)Xi$tsT&x_HXJO%%N|Z99E6-~ z0mLS$lJJUxyht`CGkp_ssG0awGs$-l4B7Gt@o2iv=}MbFS+NevQ!nraCt!0~R&7F~ zBb}nS6R6p?c~#ewbT(L$cq(_HC~9U@AP`2i+6(vlvE*?Wej5fl#sDH}h{Ss;9(iey zZC*z?Wv#e4RGXuE&N>sQCwVZ6S$&-}O+Z}`1hR5%yK4&@IOW|?T5BlA^yoHoTWo$W z1O72jc0INya#r-vg^De1oo;Qsp@Y|z%POMo)eDzV)<{9J3jMG`x6Z>eNV1@*IJ8Zq z*(^dlYdSfEexR&bUP;JnF6us37n6$j=9u>nU5{^K^}5&GBeideaI1fExxn}BVdCBavx;QBRkX-?b4qC_gFrx z$I~rUvdt-91~U%xwP}liqUI{TtAF-!LHx_X2oqe~g3VMe_Z8fYMGG#Df}EJlM@d+> zh-C>Wq50W zu4W{#!_2_Y09EXbFLJGl=sJW5G^G;wssck?gho&OsW5t5LD`ha$9iCqwtl2LoN~kX z{T*G&t=3)}?)LX4b~$1QkM%=XtfE*Mwo%){1@dP;*pkAL^|G{K7OnRNlJT<3f`bgA zu42wC)fX;jB8L*1=$xB*wt!68rL0<);#PGgsX5wxsaDB7dVCKK} z27!>@Qstu#63(F2e4y#0F;Iux?SqVY|AMwbW)R^tEqo_~}=TW6G zna~D4)V*t%J8bg$w@_33TLzsKdfOb}Rg)yfsSM;iMns@bospNcsY89sZpzj|pT@RZ zL#h$TBL+daih>Yf=T-IQkhqQ@9Qd0ztkJd8dXo)e>%!A6%PNvGek>`;Y?c_hwU5%=}LREUA)b!4sLTA%pUEv%a-i$Hxg3F@w{K(^8Xd9E9&e z;S0}K?ejNr?>WB|$xSp`#8_eE%y#Mpa3AwJlsTbyrLWL0%NcHj?^wTPD^s(>b-pz& zatlzaenpnUqMOEj@_FyUE-P(1W=_(JQ6ATk{xv&#DcUwmJRA7@S>^qQ*#`};KzH-> zJpFs=w`3iCEd)1UV*NtS$D5exkKJT%`Mw1GL(7sp#^NM{C9(WR;op6nX(=JGe16P390xRZyVRP zl$IU18#%8(v6VLw&_X@m$zHEmN5b8nWHA=;EGoW<+4H1ldP={4In)2${3fdCLz+7dwvNqJ9Oc;SKe>vtVN zq8?Z-z!f?jm5`7pAvoj@d00za#q#87%zZpgF_^GVjc#*uFI@j<7q0HcUYa*cPHQ_t3|5`pt~+?tGZX`=xHknOrR z?_KP?>)YLkdv&p5w}771Zm^|3=MQUKV_$LG;H^=MmiHRwiPLtUAR8DBdTGWRT^G5w z7@H|ej@=rY`wUuKlx8g}=Pvi_I+cDe-@Pcb1tO3ZFHKkrx`@(GF$Sifg=lXwlt>pB zv|TDR(-G&oK&~R^nfFkzyw-)w)(s6h;?>9rS=FB?5h*{znIq#cbLw)26O;Cl-Un?I zV$tH_?r3v{lNj|#(#=tO7zF89v$DR=5&D+W6(Tl}@*Vgg_XrJ}@7L^zYg)MwQJf>1 zkr`G^wlXq^BXtA)Tt~IcFm&$|MjLoBuKAb-${Y3k?vL9r%%?1)kUihIPrw* zzOG*jz7)IV9fo*9EEZ!l-bC}Be2$DwY*8=1e?Hmf$^Lu>17x&TRY+LRZDDlww*R!? z=W(|j(~^ly?dCTd7|lDr>d zsd{btm@&B)*R2FQDjyQc$_b`L?YtR61R{M zr7jhjB^h0QA~p!=o9F@+;s-_+^=tg3ENL%1dymhAgfPn7I;S4g9+xegQ*`ayxa~2s zL6?z5;2PH34Dm zw_goW2OjH6X%&>8O}Ebbd}|2#)&K%o=+Xu`}5~JclZIzFv^7ivx6m-!w%v z2u{ulCj@%C1g50L%xq`CRldp^VKR~?09EeY!8BHwR*~z5%gC!|SsXb_QftvJGib$Q zFLB-2v;POc@k^MezX*_96~-0y57GJ+o#5}8Cj~V{Lg4}ya0Q2`(=nP{%*=Y84XAbg z)Twg8MF%CjjHT8j4{7)R^z;dZEA#6lCSfQQS9^+1tN^(yj1l3`EiqqVdmQTPuO&cy z)?;?oqz%!p4BkLQeU2QSEv^ja6!bNRE*Kvp0x|*cFb)MkC5r6ew#Z8S0f1z>q52r5 zJ38P5xGs%OJ=1P}1MdJ-2<9~nf{=*zk8M4A=@X~S6V>viE>rRBX;;@7>mTP`4mI`y zQA?Mx;bA9F-~z01-ov8-%PTn~+*qb49Q`0|fY`PWAl`cAbXyHMH)~FK&p}(4%+RR$ z-kpLWO&P@KNY}Fbc6E)RctJdd--qstt|VIG`LvVIZ{VfL0T-Jog072ayqmzK@AP6} zL5qVGGK`S{DpyYG`7=B_Ot#2$+a^7bJDq;6bT=y!$FG$R%5D23@_DEI3D$|Rw28~N zZ#riSHL-n6eM7Xr6-t1Bfb$3{cHWHtYg)qZx`5v0)~jLM203>HMr+9t$H1+ z^a@1Q`SXS!#>G;p{$Bx`Z_bpA zmy^OBipMlgE(AQd)#;+X_B5ka$Op9Xdh0E<@ghK7)TBPFo<6Zzo<6x;uVM#9TVa_l zAk1kK?kI*HRC(JR=DMS(u(wIX{R4jj98+5WsszsNuokyjH&le0a3r)8UlR;wniz{o z#aY-_>;M!7x8vmTNpy9F}Q8GPnp0C;Szbk5RaCI-kvM*UYeGBt4cf zEf`!;vDt}-fkXk#w=y-v0s>LQe^9=1iQxn14O-1~Dw&RHOb=3RF+->=GXJ*QrR~36 z!z~cXSo7h>XAi-%)TpG?_gKZtrVBOmIOV%wig%IL*X27ovtl}sJg3p*B}{NPiEGn~ zS7H7$&K%|5Gz6RQJf2bcmnwSsPe|=!U(K*>bS6UMO*Q^5e#0myj34^8df)|{G>|GZ zp?IRN=U#O{EJ;IxB>O%_TdCOP<=4NHv2*3Lw=89)S|G9Sce1BoL@ZUBn1l!EA$oOV znM`NAU)A7Y4}8YV^eOzuSiBzT_sj+Qv*p!X9*m7*lvn#00ck32@8s0rBoa6!mdR`} z#kw#m+R8;fAGf1C;^u$F>q^+d*2u(R=TLDD5_VFWJwT*{?!2xUi05*EnC=zM`(t6> z=t`C^cgZLEXUPmObPDeo%Y%1NU~8bDJj)2Z_t4SMLlk-q#d@dckQxnIk_*t6*Q)sq zR_nZTVhrXQ znO3~PLc3R$B5-fp$^T^C(R6#`&yzCV^47UQaHf362HrFHoeJe;qr0$yPhdcx6ndl! zE}B)Rx{?Ota4u-+Sl#k2s}xdGbdXl);EQc7;|e}o#Ix_2m-UBG9f(|sa1zBLpGS3j zj0nhK(l#TY&L%)8bnri;IkOz?Sx+4bMC232Q3J`?cNJs8u(K*c)wY!2!bEs8GZjh6 zrfgRY$-i^LC+R9`V2@Q&dg-&kJ|@?|fO-#s#mSfNq`_OL4e)d6maq`R8U%pIP=&=K zP&k)d(*Q6VICNrP^fQ!e%t+|^Q6lny8p1fx@GR8@AGbr_+wD7l>%yp(atS1I6*tYb zvNgiHB8=nHANMLajqK8c`l_q-qE}2!dM+KTk!lDM)YlY*NBIt$C3@uwPKuq)B+L~I zl+;bq~D( zOPrm}b1F!dxI;)!VhyC;egrSdGNbP%y$LTpG3xx=W(%|mtc;LBdRIRFjDloB6Ivdt z^c^YREiR@ukg4#*p}Oz;b$fGQ25+(-Txt(_4E8xX0Y2>w-spbtiDx2beFg$8`x`I5tGSgrPsVk$wnc?y5WXI@g)P0MdS`>V z@OJ#&HSGuMq>6YzA(%g7w*9ID2Ga5*<#?@kigF5k1%OI!qQOCy*wS@)_l$DACReoI z&Nz-4?)vmdE{t9nS6?K_xS@9JSfCS?SeG!VR4&fY9Pn0T;!_7#T1@qA9bJA z1hHU&Lir?!?FZU)$SnXG{bM}&as~eYgrMpdQKj$uA2bIu2$U}pKOAjs9>6-Vi-h@F zLW8PkzeIqe5tf8N`=JxNZ*xH^-WSQ<{XAc3VP(GyPHGTdRK<#&@EIkj*swv(ne}6X zPYtegeyFF>$1C<2(Rd$LaYg+$Y1lzYhyNWyT5%RulPIIh8`wxu$;WdbM+G^dOf^p* zS(Q+&S1$5m);iP!$2afG7=DgK`|5CkkXuiWA4GCM2vykStAoNkCL{c&UtOBq)_D8K zn8LI|yjxdgI$&wj?Y78%x3pT~LCv+ak6il-?e{@}_c43vc}249 zkLsB_L+Qcg6XOYB$#_AK*R5^uY$+tXn7^`8NejFymTHFNGOrYf@|mQIFg zf1}Pnzw!V66%r3=8?4!f4)>e4j>QK>uX;@YWzBTZc(R940DzY?5BI^Iw4%HwGM^QW z7|-a){`gIS1%iz{QGkHtRwUVL0t7~t?(BRXNy}1bVE(<1;Blk&l!8ONj>X?@X zKyVr40Svvl^X@G%5Ke3w!FUSIZw55JM={5j$=BeAhaSul(+z2~sqz}V_n-;m#mZNE z5(R7N@XzxXA6iczZqDcT!*^0B*CRIRK=HrP>Q>JL{Xd70@&5wfAT;g|@_%hQ9f zls<*1!-Gn-!t)j@U55%rY;5VO=ecG|n`jTk3fKL3S0E$?U8c|W1P zg(CTpjev7NyIlI`Lzj`+?QH@$gZu&q_-Q;A>y4o+xh-tx4^yWO)QuC7Hz5OV4!7j} zlg|O}_!!0T!O%;?AJ6}}a>s1td(Ew;=}I1eS<3eq!L84>@1KgiL3k&b@?d7g5}w%K z=LjpWX?6gyw{z(Ub)LYyh4&F6ENo9T)JW|lthCn9Ya+WKk-t3PD+UO?7=z<3#qJPh z?49Cr*H15a956)!94yWvFW`tQck!@sT0#Qy)KFtqcFu+kX3<02hr_f%F9&yoyLb`X zm36Zggaqy_az$Pl_l(?Tzh6876Gq_w37!qlZnQCiv0xs3oh(j;f&}F)RGZRmzMDM0 zUYr6k4wvqDm_xLB4`$qSn4dUbP*0yFJo^YoShP|?QxqPyzljq7kRfL_Q-ClhDdzgD zR13O_2ljroF|_@(EoVp2vh4!iHK}+yW`7QK|BKn`@1E$gSH7#(LiM|*X4;2Mx;2Qs zYh07HDx3R**1KCD`S`mM!xZ{2lajq&UJfxW-YkfZ*lkgKt0x9lGYuixPOY(Dtq~5C zey&_}HXI*9UiZlvkF$Ij%2f4ug^q+S>jMQSJ>&{bS`B_^5_uV`rh~i;eB4h zo4$!#B-KgN<74$=o_Ema{H);LpSS1HEiK619JZ)`S$A8WH>hs=VtIw&h)3zEf5u*T zieuG#C!9E3&ETydcWja5wM2%#pxS8%!x26I_Q!q&)QmE~n`#5?bFYE++0Kuo^FS<< zmj?aKmhjr_u0zy~44pBMmQLFaiVfX6)=F2jmz4*23va8+xER;en*LrlVaJw{j=xYB z0Q{>qD)o`bw6QW`Su@HM2em09tFTuYP1%Oxd*^T>>N*iz_f7)V{kye+ET?_-Q2(Ta zd8M?T!lt%FPTqOyBW|5@6eX&b$a@$}>{mpU8d^T|#w26RsOmt<4;hv`@7|+jHmTTq zSZ+S!y6~o3iP|h~roae0`a~|h4lqrM9RTF*chYT(o+kz#ayG4O8L2kFMX6t?0R1#s zWr041PhMaHIC=m)n;pwdyf?dX>BfCIO%L#Ry1XR7S5BH%9=WR@hC;iW_Xo#E*phsH z^-C?R49K`h#@$r_4LiuN-?#1CCz2!uB9wa~4pj{uBd-s=cWpemMM&&s1OhwPNS@YOi8p~)KE z(XOyPHgEtst5c1XH0i%(F~%Bh3ki;(!i(g&)9eO41c8(Ndd*xhJf{nD zt|_klx2gXYv|=70T)HS@sbbPNfs~v_V$C3t<+kk*q1uMXXWVOfrMaDv$^9Qyby?I;A#BkE`zrhxM9J#sk z%S&e*)$c_E>Ccxa|M~QbL$BZlhylQsE712n3KcZB&A9tXYh*SDkKz#* z5Us}tc>C{F9=@*cftz;}wlJX*-_@s$`M~OePs$eMCa=^c_SL;~}Ztj)fEqt-)!vu{ZEYsC3rG`LCLujX^KMt*lUQyN~5u7VjA#P`{(0-T2U`>GhP#odvmrC79L0GK2mO;^c2hb(mhR@> zhyU7qjP$~9b?}AnM z?Jwzo7-#GVty^ZnhtBCg$f*@K1p3&}8UvN^F5bFbFW@!%dryjBcKabQw&4u>py>hQ z+g(?7&=e_hBW1OJOm)|NB|s=vskpc*jeaP03RYl$CP1K74=~%To@PbqhD#wGK>;D> zXrr?wzDa}XgJu1uKu!tl`nk+%q$Q$tRleFjE(lPr$g2@hSRNASN}tdeG{sSkzUwcw zcnNHG{&0hNU+g2^S zQ*2^z8Sm% zKB^(YSW*bD%;=Y~{J}LZVkXyF7LB*^UsRFV5bGYPijNVlo0iQ|kEwl=8*z|HT!5~L z6)=-Y>Xy45;J!(HpVPYH8d59p+#==x{oP~`8pABm^SirSjPP}h^M6?PZl^nqO6&&; zsn*`}{^!;bt1~u4t28ZdwD^k>`NORx_KJmdzRquP5=%gx-2`!#s?nXIsUXNWZ`u); zih9d3Se**u4)mBVUV3T+Pv>8^dlIl40k&@bhWYag35n2C*FxYScxX0@F#$@G4~ulI zQpbZ>PAKTK5*0<-Mp{Vl<&Rg-pEdc44Gg~`5!Gp$HeqH17Vr;zMv>Nf=iH?aG->A+ z8Dy+?BdJyXX%B##L}y9dZkb!BwuAHh&53_Q2;liKQg{K7Z#If!nB}9^Bvl`AdacUe zq__?>I~ncPp0qcJ-OGAGm2G2dAcoN8x%}0rV}E($`s|ix6B+1v<{7L(YUNy~H=mvH zoaKE0^$G!0<64XZr~S@mJi$v!laeOQtv;?$%#p`bS8afYnc%aW`pcLRc1pX2e zRUjTT7vz+i-(+u;hY$TvkGmnjo)G!%>&|!q#~um;aO`5;C$Ya;0qnpxO|g3#yA|^O z*({o7wuz-=Hn;6NeZ(t5xAt9|P)9LKGNEOcHqf<3=8Vn1opC)-Mo(x#Ipt5ZP^)5s zkNq6uz0Z$F;etp~-sffhin;T^Y>s`9x-{a?{1=u873FSu*t<%5-NrqM_WK$h9rIni zx@t|KH11HE_ATKQtb4)biDC9y;;;}l_PCwy5>hg}nj1yJs)zPDslk@khW2D1P|eD- zR0y1S2j1$Hla`WOb-k>;SHxOnT=A1nt-4Mmshe0Vw$P~oe1lxUF>@3X_feJ)h8yD^ z#UyA;(ti43eY)SU77g8QL%4RmLK0B8e`AF^Wi{*2!Naz4nuCPRMgXF@lpANHeH(+< zllgs#lT z--tRGdHuHlt#``n!1~qZIcp<6_)7E=NmFqMRdiGwTB`05oFB5g9#29>+#gF>>ko5* z#r!Kh%J4&h>R%IWbF;gs9qnMSF(ZFXjKa|OpLMmx^j#+cY-PdH zcfHghywkG+6q}{R4P+-b{n$d9Ainln*~}G9FOe!h2f?`YrLl>-KC~N4fqgd-NPZF2 zAz#$?9U5*WU3au_;hp_h)V?>{?Lfm8cNiFmv8}kMZ?b3?Wod-ZbLqdj1WtV$TSFw4 z($Nl9Nt**(N&I|$KVy^1W*%zAa0*yI0rEJ*bS^`6RyI7qB4IcN1@UyhtP1GnM^@>e z>Q;W_JIh7n)fMltXM1%&DHA9{DEzUU#9fqgy7!sQ6wc?4>>#Z#dYkjDu!T;nJlte0 zx9E=+J>$-S)!J^lf8f(TsMND~&bPWMSe?^r=7`Tq)n4B97TD^LSg&sN?y95K zGYbyX+-ye}iwR#%4XSsW(0ItVY{OJMk%pHC;o&@6G>(bI+CVm!WY|C^GZq{pG~Seg z0qwsJ+@Mxpp#QKXH6{rj(do}u2(U#z?)?^-a2M+sUPOVG%-?(=uLOi>?tyYllV9q~ zP?|dt2vpm&biX8#%ZdTQcW*l;tcjOYL&(BWoqmz2NB6L0-aq?dFGZwN7ZCD4ss-jR zHxwiPv1a0A}M0@g1bWlGM(j0}aOY{4q4KtJ=&Z-~9V@DGGJ2@V00Ap~HB2^e7S0!e=T{AG-k zfeOcGd;NAw9%4vp1u9!MfEKHDajBQoTnfj_v-{n`!m0OmsKH>TV2Ed1EG>o> zwUv|LH0iSCFRdiZ4XNr0$#_Wia>{77GT?tcmrMNH@D`?G051A^=_itav_G!ENc$h& zIfQ?B=U%gG?WvCSLzE^5MgfL5nr6CV)#I@H@neT?T6z7&0=##7kZ!n`LUh3dS%{FoH~KiJvNQybSmzv|roCA_)`&HAu~=PO{%H4zEjx zAx^o+zW?&eVgP-rN!dz>h-!)f_}ltdYte_an=udm{*nfemd-bJ#z-Ppa!i2ToGZs= zi29dku(@aGqWj`E(tyJu*0XP#oq(hH9uwoX8=&3VK@rc?-(7_^z&mmm%^N0(c(JpX zR;|gzwghQ*EbS?kDs6b0js{`@O|Q8R+cSXd+7(tg3EJ}vLwQYG6sYY+2w*y%Sztdbc2#1gxz?`KjewVdLQ6FnE&3QLr9F-5)>}>r>6Y zy%dOw96VMH`f0Pqmq+@NBf^gE_H+CVg5B|EEgv|b>~KZdwXHa(ab@zZ0J~wwh94u* zy}l;R3$&CJ%lDBK=r$O+NHT;2T78@IB!H@(T3dgP*Ny-fwJffpcDXQeQ=V;Lt)OQE zF`MGs-jrFDH7|z5`?^ zu?s*{U8#k!mRMhBG2}U{YN?7U^|9gKz{LS7=(@sCjmE)$1Ou@XZIGdYU7T$m(>uvC z_JTy!VntGbwEbTt#HRoKIN+u#i7d%{pM<@uAdyPg@X7bbzg%;!@15QM>$Cet{gznx zr;vG=+6l*}(Y?Csa&eQW#+S#>euxL{X>PYLf65s*cUeyroeYX8o0R=A!(7Daa1(8j zzcldIK_#}!|CJ%1MpJ}jK41sT-k056lj}|;IjQhjy}U{7K)U%Gzj%Y7t!Cc5n@%3* zob|@;YFIC z9>z$W7e1PQf6f1`rqQaWTMhP@o=~uI>VhLRAy;iTv~Nyr_84Z8Ex$*)hOSv%u2D_^ z15%(?;G_VdDc$zzp^~29u6-dy5w`K zUPx7$8ukB-M)6(ewpPB#TvK7X2JF$-cSr+H+@qGrN6e!{E7DCMkm)+W&U}-LQ0^H$ zp1KmL+!(jB)S`5*NnrK-54OAO!NbrJd9k{SBr*_cQvYS+@-q^20+8Hl zkcmbrC!u#0?ntNp6x7*pf0=)iLx;}I2I1G0U3b{Zb)1XsMGd;=sI~HPPCg*pqkP`` z*YKtCm({myqVgi4x9w%+9u(g}J)%It)qYbwGOS?JEZGFnIsgG z03ahJT}ZzeG_eKtcjW~8o@4=$02oD)6iYP%gOEDXp<3ng#8{De4Dypt1tHk}}f zmk?DK8YV5a#ed5@KTh{@91PzCWJCfODN3nbfS2kP1TD7dTo28srKp<38d7mN#D)xamdUY9#{0C;WBu##v7Lab<%4vi&1GZlK9N!v zj#O>vHS~M?nIVMW;R~My3QLC^o;qJw`WXQ0w@-n7!Kvr`TJ}X-e3V7H@Yra_A4vac z)Z-aVchIe(bw0w3i0yW3Dm;^~JVL4sVwL|s+vAG6mf&aw0-REVYFmk}EM=a2=^1>? z-{UVw%#bfC-}uOt{y+qYUj1zbl;zc0px!V0uiPXtH$;j{(gnP)3SSFb5MTLm#H)EO ze<=oIrpKqu2nPvv`B4^+xdrBXb!WWsVO&443|f`;D;a`n-qro5N~ER$;D!zBrPlPb zbY6^8TA%X1RRp>J&X8Gt7{b3`MnQ1F-C4)-_+Xm|7XAsEdbA;TD({h4-Xo< z@xuc))7yIg*Vv5MI3Y`nU0!wyLK5~?XqB)cEwz6sJZQ1#zZ`g1R~JNM{c2_g8SpA&vi!7IqqFA{i?py!RUiEd$gAbw zFx2UU_&XG(3zvZp@#CJ%^~(_*%ej00cTfwvv;mE+GgKmQykBub__d9J&tq{B6@z5X z@$HbJA_HZ=RTs&LRsIZ30t4L3OK2vZMY;DgXedlU z0O%xXAz`Q(KFfF$vB5@;3CzLSu>($?=V`H7C^UUyH*D>_?fI<9wtk@&6|BuFoi$t8 z+HX+_*cDNNaYxkR^TiqnqMT(%pxFaSzqH#HCQE0f4RK?Br+vXRhoWovIjc`6Rvv%v8QG zU4BcS*kcg#?QHnQU17Skc1!$4Y88)#@gYvTA`}m6%w%d{pyDZOBjy#xAS&GO*>Y#5 zQz`XG)FEd`o=~VU5;L6ywNiBOxusW>pP~il5iH)I0d+QJGiFM4zifL4g>%MsXpPa}9xdYM$}UCM*t=M+Z>+WZx3&)9uFVErfBe0dkr$5ymm4Q6eRJLH2XvB) zKAuc{%P9%$HtkA%vf$&MP(AKRk6U2TvJuqiQgmNg8I8{ii_;6ZCu3ruursBWxk97Z zTI|u9j2^yLL2(%ls1+YPj6sHsc3wH*T=euzl=Mxqq?3o(mrmh{0R7;VFS(-f?W>Hb zP;9Y$J;y}283r2FBIv43@wSzW(g>6~`dR8PWsCia#mc^|Q+R#ZrCf1ACQgdtb+^P7|PU{~9gxVqyjZmG41bJQrYgkBfQZNf2ksIE%U5W4y_#IciDb+cnC(0mi zHQXD63-*!v0G{GN=~#8D8Kk%D7}9mI_o|x=1axk1KfU}SD_WK2ILau!ijsN3tOJ+) zhQZC}(>aj1h~35TRat$Z*U>>E_4WqsD?oYnkHV4k8C7C5KK@xG-9v@&D)CP*z~`A3 zgTQ!dxt9;k%W|e?Wtt20;q1lNcpZx?Ph)jy;h(mCiXMrDQK%FrMZoxdQ~Om0Bz)&(zyp?hRG5>} z&1H-<0DHez|G;;skp~mB$(p;^nqn%?xxlL}0ESo*`B~6vg+iPC`D|-+Wf@Fguq_7| zxU`-6N96wj)HmAx0P2WY{8SzZx(*h|jyXCYqCOVHgerA=ihkX1CHjXBG^#XsI3Yv_N*8h7yCm%Ia4sA^ zzGi#}qkD*zc^2L{$7r%F>bd;Xf9(K*JgJq(G6Kb%uB52Bj|{c`oga)J6o{EV&-dG= zhy+{mU@P9O@G&p}(mq>4a(=vS&}ERyp7LR`zjfOM5@dT93JjNxNDL1(sRPAu|Ba%t z^c0lozqu0SO(|+w>~r5MhRgSY_tNy%W&$XCE?7sEY2^vR&$99|bUe7UUmW6q)VVk@ zzP*!8U`05az>}+CjpN%I2ScG*$>dW(W+WpY`Qryx<9vzn zCKGL5-0}AI0->g64J2vT&cqfeVCr##(TToq<1S)wt1ybKOoLogY@3~FD&sS+zouY8^mi;{6# zis)iNM1;8_XZN*z1&caQL(Woh4rq>10-UCnAX&V6MJL8f@_cEP;xjAluyG&VNbcGC1 zIZf#t(=HRn9R~MXf7uQGAT<9!ee}&ab*Q)#m;;=X-Pa2R(N+$CnQ}tQAr$_kYE38W z_@JfO#xJn@vNwW*;BUiSgxbn{0=m-Cil&$}JKnBB+TF}PKgN|d+rRCS7+Q({y?5ky zqyxi$*@=F|6WBu0u9r|CRr;PWo9U)ar9i&_p&kb7-RpR=T{fkh*PP*21VuzTokS6g zv;r0WGak73*^HM2eMK4s_@;l2?75)a{?R3wqi`YF=v^X%h;q7^H0_ zkJ0RkowJD-*}0WK$!t6d2Tj)FySq?V5u?)3Bg?UC(71qh4<@r5y> zp+*2W1NUci2~W-?Ip6(c*8#557{42Z`UsgM!of&h7qsxM^7>nAChw(=%i)VJ{{YxB zts!EK`)oydLSU_cps3z|HCNMk&%q9IJC3S2yNfxQm@u7phPx7UZ58g)2Y9qQJcng& zf*c%G`j9)%1V~tZo0R*Vax+auXeM zV|+7gM3Xxf--T1mvVFlYtB-$E;M}1t-X+7%od3C5@2oE098PVUJwm-T#E5;W0GNOR zJaVMxK>lF_hHPLbkFsUhf0TT0wASUtWt1mn|3mMFHjqY{^x$s@q?LaP%9@RBF$E9vbC^^e*EGvE;T%M2>j=gv;JS#kofOzW-&qh zZL9nQV~x;(8&-reUQYr2-)Xu%><~vxn$DOR`04@x$^teFS$Ti1oHWh8*`gAGTX~ke z=#neK($b-|^{Od~*4}{rbk4qBRBH&qP>R zL2+I-gaHAbi!$BzVD_Nq2Y9#Dn8T@Gixk*PR(N;&hhW;#`UC`BaQ^3V5vw6mq;HFQ ze_Y++WzBN{rK0dnf+O}ngI_)=upq!|qH+BZm{EuWRQ-H<<^GU_jEl`zb-|6W4qMc( zG(e!gK`B$xa-JE)0YBXxR43P(8k=ayb5piVeAPe&5YSKjMr37{UhRNgU+c4MQy5a~ z&qdNIIAZ6V$`Bt4MM8RpD+5fi?LMS6IU@Z(ti5Gem0Q~`JV8>Ngp_nit8{k?NJ>k$ zw17%?I7N`|5~Mo?rCUmn?rxCo{08b;>v`5%?|baMkMFO*6z(zZF|PAE<9eURja`?r zCCK)Lsv~^qot0*30pq7#5?|s?{mqI-q=fs5{*~}!ew#$4UBh(=w%5{)j{`I6gc+W^ z?s!tm(sh?y#UE;QmkIMOeA|1L(Gsh%dt-YN(NX=-e|+42r~kR>H#RdD z$x>p#X}?iY5V|~YSld5HOm@)dsZCp+W?>wKyHvv5r-^W3iBjOP$)|W&HGX&Pr2<~0 zEuOzBzX1L{WCfZHfs{xZAp1L+2qjl%%APDnp3UO_^9*3Mt4OJT(Xe&Gu7Ztm7{H)! z?#+W@&eM1Bc+5^4-iwO}UeH}N9TDgt%R^L0uO6vtv^ER%&E!I6I|(c=7n1!GBrdz~ zASZl7S6OmYP;o-Elfn4M!AjJ=DpOQ4!+RkfR;SgXp1n!U1NLL_kHrSe;34`O`_so{ zY;Owbw4so%4~!*1>QkXHSzU&i7~uacTR50nSaBc^zRZBekNasc0z@y5AwLw?@$Gws z45Fo^J79g@lF#FBK3E%x%h^RH6om(nJ$0qv=xmUGnS{lbH3whoG;*PdP>sBw15!M% z6~L9iQDbn*Co*1qRxQau%(=C4@WHUMp+)nL7nuf0{oHu~BU7mD$H4S{=?BUKUtN$r zBI>c*P&JU7EW2Y|EL>muSlfJHgt9EK&0@V9o^x{J#YD9Cy=zf+Mu?iQ$zs_W$3il# z`o5}CO`zui730O)jKInwa!3e?n%+^ULBjfp<g~XLyj`oKUQ+(?tmPz(HN& zC$Fd(dK)^^Cs*UlfEM9V-RFYwT?zFb#M^yjM*r-fxuxAEFx%lX`T2pXX|}NK7^B&P zdGI}(aaPkYPTwg#c7<0{9rLbYSXNAvg;H?Uc1>oO!RN&YUFTTq5-{qt@2`}Bgo>UJ zLU5Rvcs{o+TlG+KN#NdnG9iTqjSuUEG>`(%0moSiu3}?79g#8>Y)4eO;Q6UkuF6Hf zT5~|v9*iT@nTJ4TtnV=H!9;`Eqd7nZrAPNZ`}X*FrD~4_>R)Xy!_t>(`oPqjr$L}W z`@YPA*6TH1r8)`YUgOUWV;9gg7uO4i9dLav2NQ9=Wk|Wh(%xSj@N{-tWx(>DQ3JxD zo2pYOW#!h}Z+Xrk0xPD1$9T!AEeu;Y&KVElXmNfi=`dR&DRWjP9Fs#2i!^Yx#Fx}q z`U=sn2JIcTyQJQ{3h^fuOA_$ydDezJ4oqea8wP6~pL~Qy$Trnzbt`?CVxHd4H^`o( z>E8!VsSi3N(9p2e>hWq#>arL*BCIJS{f~2)J|fbc2>rgZ$=!!D)c{sUo9VU z@~C6qb-ou(8o8y$u9-$@32Q!{YZ+{=Y}dwT7hWZ61i%XBBBjeiGDf|u0SkCY)={oq zZBZ@NYjXAI)j`Hv_Y=xL6`}Y^6Ls4;_I3^le-M!KXiuIVub@&csn}pIX(251?XFd* z`Tz0N|98TY9A+om&)CSxzr<3LzmlKFB~;|mqOtq%qhTJ4iM1oROGf*ZWbaDRH_fX2IBeA5dyfBv&-Y|@7E7=mX;g? zgWNd#3I)%jre3k$4<%Bp73fO!g_RvVpg~Eke!o-W@O79_ z%B_YWwDnnsOb-67TV?8dQ8S#pf>FpRXowhhiEIX8crY%WF+~vh#V)GiN)Gij!6}X> zp)86t!7V{MH@Rd~3zxI8y7vQzzdjUZ&sxMO4% z8(;sc^b0o#+*-jF1%ZU_uEkH_ggc(u?avUMCxdR`ye-e!#9-Jp%8&u8RhM!(jLE%^ z`%tU;GB&YZWb(qXEtxF#N*)oSdJGGHrgZEx9f6P8fn$t-|}EDoNhS zGlk^g=G40{)_f&xSorqRI0n(EE8KcMwk6Yw!XFMcAX<0@akx@%^U^ES7o=z4S>3I? z_-Hm$AA4ziX0(RdO>bH;vtK^a^+hL|CmkFwSY+U$7~&Ie@kYPTIiHKAOy2J|s>mmv z)Q6@daByMbM8W)la3(xTiwXm7jia?9HKIOo5A7{oON|Tp&&MI)eGKF9qF9+HEr|dck%Ti05W}+hlgM@8?gxOei@p|hRiM&{TO3Bsi~-$tG5>5n7^G^77$~L zrzv5T{TP^Wlh1t%=6{HX(tGaN8dWA2>K1>xXwfQ%9apZMt0?HVCZ(<9=etr2a?Rth zEELZhe4LZ3eo2CH&3BimiV*A_nw9`3Smv;v6l^_prRa+D)qD&m$ZC}hDh(q_8z7= zRdAoBEp4lD=n-IZAFI`Errvu4e7dtDYT*b^pGPj zfa}Lq7X{*8*U70ss;HXuDo@c~7q=G_G8J5!9&Lup;+e%jXGVaSf2lFp79g_b;<4-X zP!0mQAqovvSgf)4WZEAjW)oI5I9r|u9}~3emAQP&*(9)969Z1I1ChijeAcBGL3fbu zNFqHwQoMBxpQT=siLto;ILI7rRFRB*yF%+I*!i=|n|rH@){l)3UO!^TBqaK7K@Oi3 zKRL?$EI9JKOBJ>rz6a_1P7%$B<;k;ze^&|SOv_x~RzyTkj^$ky@bh`zkLwDRBGy&- z<8dbT4S(5uJ$+C&rOO023yO)h1WGjeIdAN1lS2+hl zF}hwkW2Gdp8ssA$Z8|p*Zz;=q(PG03s@B9aIX9e~XtK@vCTgbY23K3_zc`N|1#ul< zCl5JO+IwoKG?%>_P3>h=F&72dBeqGa+^O(_9H35Mdv{2iiu9=1FoFA0e)U6(ekJcQ zDdXwg_6>En&N)yio=vE1q$s}@>dX+PX-H@W$AQ^Q1<`f;qwLuyuL*}kaW}bZ1MrLH z$*#y>YyP0&q#P7R;QjfU6Ve~YBw!BFEWw3h%5#ce_%FsNi_a}5Rb2#XaD}(m3Tul& ziQwbu$3OE2o^#i{zmWLZQc3lOgCyUPs`d^hr6R7&l{}+5=I{5(Q#$Sy&{V9`#8KNl z(AFpBkIO&ihk(DohNt`Zb3>{w$2`X61Tn&lVh}XSUJ2*nD4j*!U0(Uqj(V**h2}lS zT#OX<+BoK8wUUF4`G$}o;m3&&-Oo$DZ{@D!Po9)lE~M4P9)Lr#7cwfRJ&JMPEG*ah^ zcQ(f0COYixPq@`pPqD6B-jh1&zR)J=M+g&6r!RyW<+5O1*<+`%NT=4*z+yRDZb5pB zVzK;V9YyyUU8bb&9>d!~!6C|}d|=N515dN=&!^eEze5=^;fw3FIzwD|5HH(CI?c}C zD8laJ`QMNT$|bgHvl96&2=_q^F2BWGf53@`NbVLEH3&%*`gEaVv!ULi_x5%qo<{Qm zy4^{&iUBUN*CY@B!X6^esxP- z?t#1$k%lb$CmOB-5aDrXcLGU8YKRX@tZom+^@9TyP8;FjmsKuUKJbsv#5l+hwy#%$ zrrr+=+S;Bq9#rSfwVZI>c4lpiXoSD)Bz-&89DxXqv>#I0#Tx=lXbhtD(Z;~ewup~0 z3TZ%qmG@QRibMtx=WTYmwPcMOMun(B^1V90nhjXCk+Nr`B2hBW`pyY*)bcKNK2NlQ zg{b}sVp1QwQC&45wjHSJy(12$18_~hx%M{1NlWZbR^R9)3NlBgPJrpeBHfk|CCB5-PR1K z^<$kVnIK>Ya%;{kQ*qlekau%<8LZ;4dg>p-raIt5B>j!(y z*yd>7Cms|C^Zc8=hoa;9P|=~+RP~WV^;QWU5X4gxt6}>sTjUJ=;iq*wMdDo^&KWHC z)tn4YxdeJV!>4H5hhWYoR?BjUs9zJ>V+5Z|VZW~>q4UK*-M}dptiff2cpll&kqD*>>4R`@scp@z*@wxr@Fmke$zngquF(G z!6&|8Gcl6u!$xvht&(_>g zN>E{WzkaooWmM_=zQ$P97XO`NV7V3NV4i%vHL@onq476D8)M-ogV^DJ!&IbG=xaIN zC{|;%Kd>wtC6zwQX~6C1gs&X8R3fpe?K0S;H|K5#UCN|6r|@5)UHWFaz-wVVQTT*= zQM&=Irrj^E))W(+=Ssr%oO#AD)v1=Qn#5FY35XG_6>qU9?97a@jpm!UeGqv0MdYJ7 zWk2yvnMr?)&s{_`{v1V|eXxwe=Wh=#Oy=I3>Z=gP<)`hAh;r;;mqmLH%)Pn%5AFow z$N3}9-)ie2zd(p{*$0<5%$K@6EvWXqJbOp5-f= z#0)*I{{6WK&$7Y_N|2pM#$r0%66N#p+FXbCWzQc%P}y*op7W{d8Z6H>?nf9`?DGCf z6*}OPB(J$SDYt`Lq1n?ErbV;nJXYE2 z9NSSV(?pDzPb{2IlPIZDpyheJ9wxNchC;O7RfL4be?wA*79uS*Fld-_Fsm!I-l_G+ z1!d%RmEDlU>7v(m)_@825`Xc;MsdWmAS!GFh;Ueh}=`JSYitig4m2PVs6mVYY z$qD(gIJFlRlh#~YpKQ19nvGFu{Sx@-D zYIP8;!({QU*NBz85d|6+YxFdHo*5M3;>+fJO!euUDv7qHp%-^yBUXgzHMxUmUXet% zKTpb^ua0JWf2`p3$#AdlJ?g0&YLLe9@H zs-F@5f_FL8%`(q{@bmab<0C`}wPkCMr|qU|=Yh^sNT_nRMg59-QOv9A2M$tGirtea ziM8R5Ns(DIYW+{qINxereJ|VA>%Ibk!cWN9?ca@s;TNRp(&a2!l5!mJ8=UdsLT;LW z77|lvYS$*9V;C)H9P7K@^!P3$5N|gFgD}g(vXU$UG?fyrzm4wuDl!RRdcz1^?&+f3 z$!@DOUQ)xl9x&jJ!!I$=7Bj&sT_EQej5)P}E9dfJ=$+B6-Wl?4iYo1u+=kM}ZHFY(7w<(BA~?)~ zD~o;3AB{m2?Xp&R7&mlLmONXIOXcC4L#T9X^{r3eRzAntwk?YT$@iykM+&wi5h1jm z*1fuoD+No?YwKGL<%l&K>6;fI;juMD^%O5kz0>zmT)np=SLcB31mwl0s%0BxZ_R{L zGg0c$^KXQ@b(+SwC8?xCd$i75Kr31)PYI93aji?2M{gnkNES;9$TD7N@4*Gqi3dwiQqeNu8 z7T~iU8b@hK*r2lYj|sowJuh@$n-!14S8!;8{^zn}mF)PV5InK<9{Lo34GVw?i#w-- zoi7@nh%g^LLRFzk{Rp$fzygZ6x+Lk^DZkp9s@s#Pjxdj}m$j$GRD3Aq{AgpS7Uq0t z727wSFzDfN2PtFYwDs1fmyW}rXr8#pSC<|d$tRpHKWBPuS`h}m3S#c9(arg513BEu z)rAa!aVFsGgLBbTslpe06o@1eF!|lO4Y>);_fL9REccZW>h3x?MF$QPHLQKdTp#;r zrH1hk|0c@%pp+Txv&!&32i>I@I|vbExnPNF+Kkwm|vNw`axeywkLE@fEYZ zP6EVl(d~%;hO&WIBIq4z#@HISEjWl*gI@PwyYW%K z-?W3pH1BsiQA9V3Z$12GcpKLj5q}4$qDVtK#-a^bf$ICz7$A4j63H!;jd3vV7bZ<^ z`wvX2{UL%dA}GQci)em7Ubp$3`YwhirqL_$%pfNMte@)>uE?8?SKEMom+esdF3Zp5 zc~QHheqs?3uKOs4sWy{b9^3<@{RjAQddjyQ6qB5$)WBtTs*z1br5b?6p(o zxpJHx{*1!`b(`nrM4UrLd`$3sBtKopB~G}njAFXWgakKOxo4SOZPNcM)CJ9on?6MB z7`{2G{hgKoM9UtG^DEJLR`-#{H<7U{KF1P=5a##CCAQNM03w{l+z04 zGIL+rHdl$CFmjxqmQFa2(DU@oF%V6J1j~yZCPopZ97RudD%4}=a$Y2@H`B`5(sb9V zKDhkCy<-IOAMV|PtXhYgdEoP(8{kiUm9cPUW_{r;!ch4(jquYo!4r?Gsm1RpT3vMp zRxWKH?;j*8$7~pX%kMjmbQsnlN)_{X_+6NZ&`Z*&_S#7*&Ii z5L{UFEl~R|>nb^HkEWvVF=saT1g9-Cre-Q!P2CnWg9oq6T-#TA1eT%*a5FnQ=$~?l zPrU=$E29U-o$?m5@JX>Kp21*6xPvo-CH0ZDj53qEM5ulqUFI@N>e`+XMF38@P?v-2 z+1mj^&gi8)0ED3RDxd~k-NuK%ob5n(5k@cXRQkcKj4pqE?Q;XS6RYO7GX&y*=_bY^ zTkukyK1P?u=Y9k|)@<$Mpc0FS1?SCKMfV7-2?AJ?73j=6|u9=sQ$S^i;&E1nJBA(K`=yrt756wWh-AwSUW0mUyc7zY2k)&zD<1tTiB{e~>{m|w{Osc<_anH51SlLC#83Ca5p*_d1z#8I za_fiizIsV6`=N}m@Btr-cNkT zqdCLUh#mtL-@3jW_Q;-m{@>dMk=)18I4PBm3nqp*KV;vwxij7GF$xUUETb@*L&JJM z4Ns)}W3Vli$oqR|HIvO0K<0y=+${1UK@cIQl=;oWxA^(+zt_DTw(7v~{yyB$wLOT$ z*~IZVvn43FO4THdv*i_RNB#EEzKPy4mEaIwp39E053MiaS(L!t>LOY+*4r8rSZ_Lg zy-zMsuiYQA^3SoMjlRg|pnj&`qb{+_aP>VTKQ@H799|z$MN%+97u)4EJT`ehq)9Mu zF_y4)#Y9A6RUKrem-}DL!x2H?1@CPs59DdOx^L#hdN5zI;DC}Yk40qllyN*@mcJ<3 zVb8a{T|Vl8>(^qrR~HhX$o60u_X=#2n>U6G{ORg$=s)<+0KH2#T}eYSWg7D{+~)M&Mqlp9e1!MH5{k6N>PND~ z%>6`knvs8HGI4MVq5+pZX?hcsNlul5TXYwE+EmtjRf`gNZUAYJ*cNega#x_b10&=L zeW}Bk3e5ayvRdUY`rs~k%?O$es4GIDALeDpq@l9pyh}LeXps4g=EajIRK>f4%|kEZ zSqP^|K4pSDwV``aH`$V8pZ2^Z)wCy53xQYj7E}EpylcM|EH730xGj%?<7dsa zd3pMiwnP;u4`sNWnm$~(^@HIeAvKnKS;7j|jRqITnien}sl3J1Cxa}o zgvAa|q#&RT&7!9Y=(mhNJN3`!bg4avW(ua^hlJjg!yXf>PS{buw`@XuUBU2I!5K-2KYQO%1FuQ@oidQO05kpjq$hpKR&MuBX*-6#< zkQJ}r4@LYz(c{iMU|y8^oZ4_||B=fCA((rx5C9V47D5yk?}Epj4w^+Lpfcy1$OJ`bqh7TAB0bSaY z&`u*&LjI)QCja!!#$f?w2b~blvRpt;5ykKSDLvZQkp`gs3;D3HUT{O3)t6Sww|T0| zNy6ogQS8ZRf^gPiJ+R9DmCI2j>pv(x1(Ch-@CO@LWGz8g^@_w0v`{R0Zz0yH4V^?! z4Pg>)fL{Pc!TY|;SEvHg5P`^X4AM5)Y&rKUasgYkrJSm(Iw8@TWW?9zrEq!WYO2ja z0}my7{~s-Y&!GfiVC6;gz1i(ASILhyT^Mgk73t!F17vXx9*our5`fo;PR9aK(uS=6fTFic=DRGk_>NQ zBt$ZX#5&sF!F9}!M27r+6tZ^VZ$pw0)8xjC;O4xeYiu``A%bIKN(wzE^g zdj}Jo5MtM%_!2N)j&ph^AozIwPYfHzR~yJD(W|L>ESgP+QLjYc@whOnBfhLnOQX>} z#tKs9Vz+6u&xPWE@@PaFAPCb3%RrFvg$Ngtcu^tXikMOv&2`}@CFW|Zt;c1N4&Fp~ z$X`S#**O)j39T5ST`5vOyEPnOsQHAz(7IhC)jEl#sJ&Sa(p}bh837QA26B7*E-%~_ z;@lq^t8A#;aQ~#eKoH-&RDxQ#Sh5i}#=gfZEJ|AnXr8e0X;u4L3!tPCJla>BsP1 zM!T=|t>_(5lM?-Yk6ALLEQC_@+IqK9RU2ePd!3{7+Tac>=hsy8*KU12!!jC&=Nv@t zas3hP9)@fg%uc7nbWhmUVK7eXH?(Gl`-P6DO3DB_CaE3+Y@fBqa9;Ylr5e5~-`83kR^|ZZ(}`J7PS$b{yksSHzU%+5eQ)$)wh&n8EYM zVeaJ254m;RYHRO}ha+3;?pOCm-B~V1OlTQ%{Lyw@g2r$Xo)o}gTye#tQoYh`x)%IT)RnM!ry8YZM+^(6N{(X&B9m5|&uAu#fewh?(l@y@GQjikNp9$4+M36en}lr8EXzC?|No*7@f;W$bj~M3Jgh z_XSZQQ(2KfK-RmW{_XxNqG4hc@ZLnh>*dwXq6;$oW^XHGO<$m6GfZO6E(@m{81v?|9Xpj8{QVpxy>iB%Rbq!?2A*o*dve^1H>-Zfz{ZUzzK z&4dJ3Y4|h2FJVXjA!XJ&AfSPMVpR zE&7A&fNa$dF<` zsUi04MFn;LTJi(BnFqJ?oLn9;qbJJ_y9(0Fl?H0;Ad`y}>MDLVz-Ul#w)%bHwiwS_ z2zkzV34DPmlmuZWlk<;m{byB5La2?!0SE2fF>DtlGEMolOV)(E^I4|58)|#>WIcV1m zYJb4c49C;CVmqNMWZY^*ns0=EoLnqmt0df@s85Z*kQQ?7FQnydm!&EYH`}4_?O_s9 z)t^};5nxO86S)20fNg}s2qij7 zj35Jpg8Dti#K7!*WGuO968KC(=#kmA^?h!(B*q2hQz#K1!Y@r7grh zm>>^ghdId)0hyzH0<21|of}~W(*8@d+07|-+^lufiHku5`s?3%jYW7EpS6TsW#Mj? z?oCKeD6MTjZR%Q{ZnC8_4X$n%(8^0!OT6w=TX5WPHhECwr&F8VZ=(;?U7&|tDs=D` zd=5!_dc9W0R6{2hno0Aj!{?;ISQK`v=OICSg8GP&APUq+mLL)8uhE<%{adl=9;4z} z4OBK@f-4YFE%G|^6f$O^-y*SSGkks8tB>wmO0{kEc;FVigd|ziwU>?dBBeH`jUIfp6^XSq#X~nur*z;3yfY|tea99_kA$2*gDT3q5 z!)1QoV%mtwqoK+^9y#SrjC!ZwC3Wq<`(HfR2^vMtrP~Us=5?TIiG+#`E(i>tRiLtE zZX;zS85Y2Ex%2Ai4yPpn7$w_C^sV4c2JOUc5V%3|&hl4l-2na2a=)u_LVIVFi8eU7XGypZ$|4*9E@#M*U+&^P$uF|B} zulPmM6FaTb+};6~m|*R2?*9%3{?ES3@?P47dNd%5KOp8X@zvq-%23EX#yS%fD_q~C z&Jh`=cQk(znlP!%)${d7B;k*B%e6h6{!#XmFC68LKVsM-KIf(S$vg6#)&Ct;1R&V| zOEo`mLtcu#B#uG$w1D%XMYGuA0J^kkt7S`7P|twmMOLH#q6aIN?VF^7L7(#}qrE8` zs6LgF&kBC*xf0M~icyg3N_M}a3jtO@Jdh;f?ecfVF*<=pU`N&to&|?g$=M{|rTS}1 zFWl@p;;S8=0YXw*9^U0Cag~=$lZtjjQYdZ@vIY}iC5a6q+2r3j#SNQ-30Y!_s)k`( zQF|AngD;HeehC_-js9nS=QhvzPkpDVAFEZC_Wz5%)7n1hWz}H{f598ESJVB-!IOrs z7bPsS@ntMdf%0EK!4F|Q825fzsOmN*Jx`NYHp~AY^Yo<*5EZToip5u-riX-NQuRj zA|NnNG7U5_a$@#MFhlR(o-ZHgZk5#LFuWaP85~>tG+7TuXb1hJ`eKRmJK7IwPCIW& z)ba}lCI{E8f{UgU;B^xl()>TJt7k{8yMbDCK0yqg_9c3cYrDm9GL7XoLR$mGW1T>u zYyo(6rncN+YaVEa3c9i`rRoAIdm`!P!_NiofpV2w6}T z)@gza32=y?@~Ir6hiPIu3&}X8uG=h(=BarmbS8EAJXT=a(=hYpJ+*Xg!C=EHTkWbYLE`}n~e~c z1RWBu?*BmodM5k7NkCPo+dsS%sCR0Jrhz~fz$AgSjURjJnlJYfO`0V4FNTo*3jxQp;-j}atTxkjBp)LkZ$q+5$dkcy zUO%-Af6G_&T-!t@QaSTqq@qiu%H1JYjA`@7f$&N|YGNPff-N(7U(_laiwGt>NeHU* z+zb1s&6gHGgSHS@c>F#Mn^f)t>i)>(CV{$)YZ^!MAu2}V2@_Bzi;Pa??uZrq2eEWZ zc+6$`z-+&-cmxTEz8+=9U zdL>!IjzEb{Wq9R;MyaQWrT8^Fl(d70%7)0>bV+BLAJG{z?MpxrH z=JG7kg-XdI@U(-!cy4w0?DeD-2WG9nFU)or*RH@p_~T}K4C;Cj(GPR6JXdFy$xi|d zRa`q;lWl<7Xg{j&d(RDb zBM}U2IcVEkZrHPheZjYOptFDaAL3Bd(pz?*Ps<|nQ|oplWF+mVpdog#WK2g)%fuJ= z^8nr{35E1wX0H^XHkm(g)0MC4h(yUkSSYTPPCiY70wK=$Poy<{X7*sY`7Mktrj}B8 zQ0jBNcINc`*+}s!D2L%KESLsWA)|7vUX}7>KIiY_AOJ{1)7G&WA>ZqHw09piC-e|b z7hfciTWehEP^sLe2g9?k_=|h51&;A9_mA+=M?ao>r%vzoik1EyvS2&qAAg11(NO|! zHoDHgQCNDb5%0FRZoIF858xU`a&I#lx9U*3#e{2q1)`HLIt!A=j=7f#36g{`cD$V& zju1kT%fq(L-@Y^<&m(UzrtPfe__AHroZ&CAXcggqiA5`CVD*W2{1+BYX!pOU3-UvD zO6HM-4dDrd=da?)CxdVWm}mhZGEV=Ks8b@jA?oHKUM&}WQGF{PsXFC~o?~)6-D2X( z;o{+@4s#{?5(EWoGsk>xSkpyQ(p|@jKQb`yK)@97SrBQOUrP!h|ADmJ^Iorr4QU|n zbS}j|`A!S;YdpF-lc?gX)U}4e3fQ=bef1GMzvQ9WiT7Z;MMZmmQCV+(QCVS%1|zPz zcq)D#p%0N~Cm=Dmf%^V35n3Fcj|HVsLRc%r< za}Mo}Y|aU0Sp8(O#0rDjIs)V^5OV&2I#GQ_iFTggR^DLpx~KczTsNlkF@o2Ch7CM9 zg*RMEW<3o&mr-k?dU^dkVP^+D;MCm2Vl^8ATya0J2%WXB!t4haY2+IfJnGQ+&~0mP#5H%JSCF^R}A*@tllBEBU^8lH*(5RZkcaev>;*5&7;+oPNhK zcZ~x)IWMsub${A-!O=S_LXjC8&Km{a%)$9b{atE^&|Vhk$%nu z7=yTQ%G#zDXqY{Hfj^3Js~_CAtK2k~Qw%?l)ao?ph@Kt2d6qC81Efx!+c+fc#$!kZ z>Hf(n`BortE82Rt?n!RF4sK)_FrBYzK_J3TsXy`6duDxIf-Xh_b*9{MB8?#dL*Ufd ztgL7UVj=fSgP$m>|DSM())Tw^qr3&AA?;j3x`6vE+$3FOOB<^f?HM zxv4L=aUfqcoFLCp5OjdbvoR*y4#TOG-0@LakK!G2IT!M{`9)Ad!jzx=3ou07H6$gb zyuIyzuTvTt3%R-DA5TJHpGkSCv24Wdb0z|_4q$uMIIwP_=r#XLOYifz>fZiQuB~w; zCq~b`UzntoHhCfW1++(YZ?$EbRauK}P&h9gXuNV-c6>b!-C3gLr@EE<14g`=ob4L) zClQ3E=Jdu<6J){Tw*-mwjQDZAi}TIRk_OV+V1}`OusPMRe?ljrQYfn#l#BHP^*Wqw zXF&feN>`*Z$q#uVoHYi>dYGZz8uI^QdDFV3^w9~ItKVSAvCV_}dyN9=wFLai;zv8y zNbIT@tbNLxQc3Vv(SF6+Z!l$)JX>F8Rtyxk!qvB@8^q%egjo^cSa9YehnxE&Korvu z|7d}Hjg1cPB7@Z3U^-!_e|DJt&yoqG!btmhwFD#+5)Q}0K&9TthV!$<-?G@qJ$dL^ z!xr-z*i_Sq;b%A3N^L_wMUlM-^&jO`2z~s07FaPq{XpF~UQNLDP6yPMeC`{pLtZM~l}QWG<{7yc}aEdj1!=-u9+?T_TL!sI}`r(Ip!I0UCwA9UQ07+nvh zoE*3JB;7zW>&92N{ZBzB+K>ZKyPLlG%4nh~vDxIIc@2zo3mrc3uE7NF;5=Awp1|3Ht-rr9;D zYPC9xy(_@8=fiuFXb!DTd3ir#ttj_L+Ppl=S^ZC|pzQG!cA#!cfK(>=6}(v&75px) z@U0fTD#pV;6i#hm(QxXvG&TwMcJCQ!Zku|&U~~Ry+cliP-JIQtN$)&0KaIrLCe`k~%_cFD@y&<652|9qD>JFPCZWc`tJKbJw|W*IPn zsE6W8G(L1RG}FRmhII2OM6pzD^5VFyE=zWX8WHk$?AJjm6=&=T8ufsn>a>pgD%URl z5x;~YoE}z>3044$X~P?=YQGrMC;Og5&=B=(l9d}vyYB$GIh8N$Heg8Q6Jw(N)OnhwKG zXpB|c;ZO*Ok54Wu-SSubAel%OcXkDCBe_Xx!tWc#V*JXOo;;eQ_%J7er$3m|r7`$N z*>8wxmZF%bac_5>qBqI}3N%)y(yK(5)O^9zd~lHWwT2a&WDf3tiMaYfd=H$tw9OtS zm;-xN4d!T?OKM?SO+ha?`%=HvS?cj}D;SlC$;}1 zpSX36Z$?DCX8p=ZQS@>%uX7y?m=>!b3HvUQt2|IsanW`jv{0leu%dEw=hFcNh1~Nq zVWDds0tS&#XY+&p0nFVPMs>;7Habbd$U^)(A1ZkwX$SH&29WI!soKgBt+FxVkH;UL zi^`4o*8@XoPp?aqihEBk@L*n-<}E2uxjcSbOpy%sa^eFru0v6AXP%`i86K%(xx|Lm zSOsU|dHAA@!xs!j=uLnf`<46oxxQI&r%26!L+@qE>V>Q>&&P%_@X-IA!LryYa2pe2 zS@-+NTgDHK;`c<|G$(g;U1Ac*Q6Gw9JIzV?N$WB^ew!U#!9+}WC37kvlVI!vy*p+{ zUOS1C_}x3nK0K(|k6re4XGy0mt@^wXH30-mJHb*Wk|TVwsih@2)yF%j^wJFw#PxE3 z+LGsIflHP}IZ@fQs9S_vSTO7H!mu}$@W{^&FvBkqOJQPnD*8Jwh4mQvZ=BaO?;k$E zfReDxKLOU*ZjpN+SMMf%(MN3BS%&<3MhaowJ-=4OwLm_23QY}w?cN4 zw_^QN1X}wqn$kwPq_eB_e}%q!iK+@rE{%-=PMO@NXeIoQUPL};${N9DYYOqe1 zF$4YPUxG^`l79N?B*&!iTOBz&$s&^ac@2OY3|=sk8GnROclXW6ly# z_JX`md7}z4A`+GVkf!<$ExCLrx}OPc>I)2M%sM8N>|J0Dv*$+(P{Y(d&_m|ra-vcW4r2wnlg z-^&mOmI3ScGIVICKXvsVLjOd*(>aS#Bd`{wGQK~Xtvz5DzrY=d`d)%1{_O7=F45%;grtsS9WxoX^SFgq zC4!Y(^laJ)f02N6@~3I|wT%#%x!8+uI4_RyO`TQrL+|OzSJa17ENcK~J&duBep$I1 zJpVBLgtLt~J;*OzCzo;}h-LV1&`)Q#^^jiBR-sT9C2L5sIbh56bIoK>pxjG}_z!50 zMP-+t^2ofbNDN1N^Td;yZMa3p02>H8U$lE4H=)UA1xh90ESG)?=#U-Dxge!(ih5LO z`W8u;ePl8I?f~Jq);+Ekb`>Xm+Uk^|KQJlozKGAC87^&CqrV{VXu~fEeDByq>=*D2 zW_q0H0%rU{$*o>ci-_0ZH(>o4?UHInd+>`7ta$XK~MBMpoPqp{3b)D zM1r|6^)7te$ST>#OaJ5kK5!=xska3MXS1}q99DeYS?&GhqJ*!bUu5DkaxNwR=v6^N zz_sgl;V*6*w5yT6^pOqmI3{8V3+!@NXUdBV5F%lhMeHCT4r6=~#O#^zdP*39vXS#} zqB2y}n@e5_ym9Kp4I&lPuzR0G< zf?uaf14gse6h;Tc%i155D-s)cx4m3F%|kNW{evx={d}M^cJ~JvOKQbbB+^AJ95jC( zIh7aajv41A2kHsTG}mCO2S-{P5W_fC#Pw-GnCJIP!|9k7&|*A7Nna^F&~8IS^Ncb% zH7z;A`dFmtuXq0V0?0R|i1J0U$88p4O3z}f2godNbpe7@*iSJ&?y$4l9(^L>L6A_9 zcs?OQA6pU0biw$&R8QAj1$4d_zZtB3&UfOdgrD73Oa|d+5J;$c8?d0odDS?B@-={c zZZt2tTo{-snUC~#86L@TUwb3?a{xBktJ7L?hwVQcmS*2Y*ju1cbfBep)#OS+$oma# z7k^zQYgC_D?XsW|5yt*CxsmZk;67b7fi5rdFS^r`VVq-p2xt#rB7yHtXty0VcPbkz zQMYzb9MF@(wh_ycZM^i?m{$5w7DL;lClx{ZH8SbKKX2|n=5dU?ng!w!jyA^16wQSW z!xr5LK3nuo{#t&XNPzqZBg89?%Z}=nB$RV zo9A5CEs!B&E;gZ5$swby-qwxtTVU7~tgL47NF3W?E|#5Wy+BE-B1o2i;7POIiH1u{ zZBSczYVsZo`pSi;oq}|f9>jM7gLmh4mGWzbZepFcna-2*ukTvH2pDwr+dl;i;~|lu zv8Vtn@yfIA5Af^kVwt)B;HTKoD`EHq>ntz?aW@xhRomS_G9ig1E@Y3r_Akjb z8{`n?{|45stB*2DQ(q>5hY!*~EkdETqjNLj&w-I>oN5@j0_+ot;b*Jw_in${n;|Eh z4~V}_PDr^Aw9o9`Vpd?z2s6-luARz00|S=Pw@W1%yM9CSPwc;;IgUmA*_GiPi#nPb z&2C~90lC~O6U$;(QFut@Zve57vr-P94gy$j*6Wb{zb>`WGgjcI zy{&p78~?ks%?t_xm95(YfrCdMT{@{a2RD{*-Z<%J5eIX(a17GbFUXJOFpFuwO?U2m zHxaqQN;)b(+&9`ZYXsVA=vFr<{N%|j0Ft?%1_p*`5&%isRWGfIc+*nQCR!!D8T_j~ z^Ph=3OYguWbXV$>+9ub76*Wuy%Jcv04!}Pe1$Q&{Y`}zHm+k2#xr16|g40bPv#fEp z^1(qXJ=kcA_pH*Lxg8d?7hyDQ9D7FiJ5ov9Li)AY)Bghe=htT2Q@$U03*E1Wrd%a$ zpNNXW--m_^E1-1~dBZ5$c5dC_gH8J*t-Tb{fa8@Yrs9o@IE^wj>2lvd`gN~-B>V-`Ef+WjaO?ZXYSnwUYO{`IPiAtZJ1L{8H6$sdJ1Fom_P>k-HS`BjJ}rqb!Bd9Z`$G4= z_5;xf1QKX#hG_Y`(+VCwktA(Rpse!y$VigwrijkVl;w6^c1S}se3YZ*=XWrHC~n}* zo-m!!)GOFa%72;Q*}iHQC?u2_g3+ne+`o(kKD4E`&hkhPbDA<&r1cS}EsvZO)fU|M z*P&dV#*&QBFmDsSXR}4r*)1Nv&qH20+j@%1-?h+DXjZp`e5dGMK^#5b-Eu*4t z-*@jJq`O0DkVfec=^Q{pItHX06loZgZWvNPkOlzX~z;tMNx)hnQn5kV~m~NmJn+Zvzh# zGLXw2+s%L$IH*#h{CUP+{snkvV)&q|I|cUyBy4AMlso<6?j;$XM?^vs!coer+3MLG z*0fJZmJh^5hI6uS+;`sn+ud`QLQnvrJ~cOFY)2pj9=7$gVg*T+mXtiUXxCzt{}7g; z%I<#Ox-$qL9KuPcoD#~pgW%sJhLdE3ToK-=3H6otGdUer9kcCPgKc%x% zV^NAk^8Qja{5e6BZKTdQYr3~gzc6^%_ z0+M9qgeuzme&sZJbOlYsn^I=w(Xms^U~sjZ35LZbD>R-r`JEi#i`2^4TX5p~?=zYN|r?WoqEYr$R99f5Ii zGKbb&$X(2P9zawGog%p~9h4mONIRZ1km?{pw!t~_i{1u}T4MX)t2JjE+h^UAVZzt2 z`;#nITuhc<_3Hv{!Y%R)jZTLee4|3Q!9*a*Hx}3&MvsVxyKUe=$3CyK(<7dXoLJo7 znAR(e_K#VEoH=FazLez)z;i{sk*opUY7go&K5ng-(0sAtqT7+O5woeH#hOF1!&I+% zK^X9&N(nI6gQ>se=dw&7fiP}KOQFuZ=X>78dN^;QmJY6Z;7o3WQx*QXx_^;_{@BET z2npGou@QLPZl@@lO{9H{u|ioXb)A^D&&E{g zakgwNTCCg`Wj<`gTIsMEHyHBG$al{B)%r|7s91ER&c3(ya?s=+n!!uH-3;ZlG?^I4 zyyMe5XlWgnN2T>r!2bvpP)!Giz@eVy+M}PWYP@Bips{@lEW60wZYDmjY*`TO-F?#b z`pHa4fgcM&%{Ch~#sbS|lhYx8(fl)=aiEiJzoC+ZmnQysy>HhtD(0Vc!~`5 z+^Fk)qaf#rD9yF_eIj6+FYnu;-{Wo7e#Xg{L4n*O)yv%9{ZR^iS56=yWalT_LzLZet=EF-;Y6;#kSI8n} zoF%TBm#h9V_u;`_Y@xp+r=L1dY^>_?&6!Ns&THCezJK%G`Tpy`Z%xfY;^rQu`Rfl; z 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%0DcMMagAM|R+%6{W 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 literal 0 HcmV?d00001 From bef58bec1ee6c6bed8f68bf1bb597ef9225c779b Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:54:54 -0600 Subject: [PATCH 2/8] cleaning --- README.md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index fa10ed4..0000000 --- a/README.md +++ /dev/null @@ -1,25 +0,0 @@ -pyml is an interactive machine learning program in python 3. It is an experimental tool for automating processes of performing -logistic and linear regressions of datasets in csv files. It is capable of performing linear regression with arbitrary order -polynomial features (the program itself learns exponents for the features). Pyml is also capable of exporting the results -into json files and it keeps always the best result (accuracy), in case of logistic regressions. Apart from computing regressions, -it also allows the user to visualize the data before computations and also shows regression curves after computations are done. -All of this is done interactively in a extremely intuitive manner. - - - -It works on linux systems with python 3.7 installed and uses only a few libraries, all of which are listed in the requirements.txt -file. All one needs to do is clone into its repository - -$git clone https://www.github.com/physicassio/pyml - -cd into the cloned directory, install dependencies - -$pip3 install -r requirements.txt - -and run it - -$python3 pyml.py - -All the fun thereafter is pure intuition. - -Feel free to report issues/bugs, recommend improvements and contribute. From 35c529daa2717d44eabca252156029abd08d7967 Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:57:19 -0600 Subject: [PATCH 3/8] cleaning --- analysis.py | 293 ---------------------------------------------------- 1 file changed, 293 deletions(-) delete mode 100644 analysis.py diff --git a/analysis.py b/analysis.py deleted file mode 100644 index 0d7a365..0000000 --- a/analysis.py +++ /dev/null @@ -1,293 +0,0 @@ -import pandas as pd -import matplotlib.pyplot as plt -import numpy as np -import sys -import math -import aux -from termcolor import colored -import random -import visualize as vi -import time - -__author__ = 'Cássio Alves' - -#Disable pandas' alert when inserting arrays in columns -pd.options.mode.chained_assignment = None - -#Function to get columns in selected file -def get_columns(in_file):#,reg_type): - - try: - data = pd.read_csv(in_file,encoding='latin1') - - except: - sys.exit(colored('File '+str(in_file)+' does not seem to be a valid CSV file','red',attrs=['bold'])) - #selecting only numeric columns in selected file - dataint = data[data.columns[data.dtypes=='int64']] - datafloat = data[data.columns[data.dtypes=='float64']] - - #setting a dummy name for row index so the data can be merged based on this index - data.index.name = 'dummy_index' - data = pd.merge(dataint,datafloat,on='dummy_index') - columns = data.columns - - - - print(colored('Numeric columns in file %s'%(in_file),'blue',attrs=['bold'])) - for i in range(len(columns)): - - #+1 so user does not need to type in 0 - print(colored(str(i+1)+'-'+columns[i]+' '+str(data[columns[i]].dtypes),'green',attrs=['bold'])) - - inp = '' - chosen_columns = [] - while (inp != 'q'): - inp = input(colored('Choose one column and press Enter or type in \'0\' to finish selecting. (Type in \'a\' to choose all columns at once) ','white',attrs=['bold'])) - - - if (inp == 'a'): - - chosen_columns = list(columns) - break - - - elif (int(inp) == 0): - break - - elif (int(inp) in range(1,len(columns)+1)): - - data[columns[int(inp)-1]] - chosen_columns.append(columns[int(inp)-1]) - - else: - - print(colored('Invalid column. Please, select a valid column name ','red',attrs=['bold'])) - - - selected_data = data[chosen_columns] - - #Prompting user for what kind of regression to perform - mod = '' - print(colored("1 - Logistic\n2 - Linear",'green',attrs=['bold'])) - mod = int(input(colored("Which type of regression do you want to perform? ",'white',attrs=['bold']))) - while (1>0): - if (mod == 1): - reg_type = 'logistic' - break - elif (mod == 2): - reg_type = 'linear' - break - else: - print(colored("Invalid option. Please, select [1] for logistic regression or [2] for linear regression ",'red',attrs=['underline','bold'])) - mod = int(input(colored("Which type of regression do you want to perform? ",'cyan',attrs=['bold']))) - check_data(selected_data,reg_type) - - print(colored("Chosen columns:",'blue',attrs=['bold'])) - - for i in range(len(chosen_columns)): - print(colored(str(i+1)+'-'+chosen_columns[i],'green',attrs=['bold'])) - - #asks the user for the dependent variable column - target = int(input(colored('Choose the target column ','white',attrs=['bold']))) - tar = selected_data[chosen_columns[target-1]] - target_name = chosen_columns[target-1] - - print(colored("You chose '"+str(chosen_columns[target-1])+"' as your target column ",'yellow',attrs=['bold'])) - - #removing target column from the chosen columns list, so the function can return x and y arrays separately - chosen_columns.pop(target-1) - final_data = pd.DataFrame(selected_data[chosen_columns]) - - check_data(selected_data,reg_type) - #plotting features against target column - plo = '' - plo = str(input(colored("Do you want to visualize your data before analyzing it? [y/n]",'white',attrs=['bold']))) - #mod = int(input(colored("Which type of regression do you want to perform? ",'white',attrs=['bold']))) - while (1>0): - if (plo == 'y'): - vi.main(final_data,tar) - break - elif (plo == 'n'): - #reg_type = 'linear' - break - else: - print(colored("Invalid option. Please, select y or n ",'red',attrs=['underline','bold'])) - plo = str(input(colored("Do you want to visualize your data before analyzing it? [y/n] ",'cyan',attrs=['bold']))) - - - #adding bias column to x array - add_bias(final_data) - chosen_columns.insert(0,'bias') - - return np.array(final_data),np.array(tar),reg_type,chosen_columns,target_name - - -#Function to add bias column to dataframe -def add_bias(data): - size = data.shape[0] - data.insert(0,'bias',np.ones(size)) - -#Function to check if x-columns have NaN values and asks if user wants to replace with column Gaussian distributed values(based in the column properties themselves) -#Might be a good idea to implement replacing with values other the mentioned above -def check_data(data,reg_type): - - for column in data: - col = data[column] - - #variable to calculate how much data is missing - missing = len(col[pd.isna(col)])/len(col) - - if (col.dtypes == np.float64) and (missing != 0.0): - - warning = str(col) + " is missing %.2f%s of its total length (NaN values)"%(missing*100,'%') - new_column = np.array(col) - feed = np.random.normal(col.mean(),col.std(),len(col[pd.isna(col)])) - new_column[(pd.isna(new_column))] = feed - print(colored(warning,'red')) - decision = input(colored("Do you want to fill NaN values with Gaussian distributed values based on the column's properties themselves?(y/n) ",'white',attrs=['bold'])) - while (1>0): - - if (decision == 'y'): - - new_column = np.array(col) - feed = np.random.normal(col.mean(),col.std(),len(col[pd.isna(col)])) - new_column[(pd.isna(new_column))] = feed - data[column] = new_column - break - elif (decision == 'n'): - break - else: - print(colored("Please type in 'y' or 'n'",'white',attrs=['bold'])) - decision = input(colored("Do you want to fill NaN values with Gaussian distributed values based on the column's properties themselves?(y/n) ",attrs=['bold'])) - - #plt.plot(col,np.exp(-((col-col.mean())**2)/(4*col.std()**2)),'ro') - #plt.show() - - - if (reg_type == 'logistic'): - - aux.regularize(data) - -#This is where the fun really begins :) -def logistic(x,y): - - train_x = x[:int(0.7*len(x))] - train_y = y[:int(0.7*len(y))] - - test_x = x[int(0.7*len(x)):] - test_y = y[int(0.7*len(y)):] - - #Reading alpha, number of iterations and lambda - alpha = ' ' - while (type(alpha) is not int) or (type(alpha) is not float): - try: - alpha = float(input(colored("What learning rate do you want to use?(It's recommended values in range [0.0001-1.0]) ",'white',attrs=['bold']))) - break - except KeyboardInterrupt: - sys.exit('Exitting...') - except: - print(colored("The learning rate must be a number",'red',attrs=['bold'])) - n = '' - while (type(n) is not int): - try: - n = int(input(colored("How many iterations do you want to run? ",'white',attrs=['bold']))) - break - except KeyboardInterrupt: - sys.exit('Exitting...') - except: - print(colored("Number of iterations must be a whole number",'red',attrs=['bold'])) - lamb = '' - while (type(lamb) is not float) or (type(lamb) is not int): - try: - lamb = float(input(colored("What regularization parameter(lambda) do you want to use? ",'white',attrs=['bold']))) - break - except KeyboardInterrupt: - sys.exit('Exitting...') - except: - print(colored("lambda must be a number",'red',attrs=['bold'])) - - theta = (np.ones(train_x.shape[1])).T - grad,theta = aux.grad_desc_log(train_x,train_y,theta,alpha,lamb,n) - - - #Checking whether there are any NaN values in weights' array - for value in theta: - if (np.isnan(value)): - sys.exit(colored('Nan values found in weights\' array. Try changing your parameters (e.g. lambda and/or alpha) ','red',attrs=['bold'])) - - #theta = (np.ones(train_x.shape[1])).T - print(colored("Final values for grad="+str(grad)+"\ttheta="+str(theta)+" obtained by using Gradient Descent",'green',attrs=['bold'])) - - #array for plotting sigmoid function to with the learned weights - xp = np.linspace(min(test_x.dot(theta)),max(test_x.dot(theta)),len(test_y)) - result = aux.sig(test_x.dot(theta)) - - #setting threshold for success or failure - result[(result > 0.5 )] = 1 - result[(result <= 0.5)] = 0 - - accu = np.mean(result == test_y) - print(colored("The model predicted %d samples right (out of %d), resulting in an accuracy = %.3f"%(len(result[result == test_y]),len(test_y),accu),'white',attrs=['bold'])) - - #plots for comparison - #vi.visualize_result(x,y,cols) - plt.plot(xp,aux.sig(xp),label = 'sigmoid function') #sigmoid function - plt.plot(test_x.dot(theta),test_y,'ro',label = 'testing set') #original data - plt.plot(test_x.dot(theta),result,'b+',label = 'predictions')#data using learned weights - plt.legend() - plt.show() - return(list(theta),accu) - -def linear(x,y,cols): - - #Reading alpha and number of iterations - alpha = ' ' - while (type(alpha) is not int) or (type(alpha) is not float): - try: - alpha = float(input(colored("What learning rate do you want to use?(It's recommended values in range [0.0001-1.0]) ",'white',attrs=['bold']))) - break - except KeyboardInterrupt: - sys.exit('Exitting...') - except: - print(colored("The learning rate must be a number",'red',attrs=['bold'])) - n = '' - while (type(n) is not int): - try: - n = int(input(colored("How many iterations do you want to run? ",'white',attrs=['bold']))) - break - except KeyboardInterrupt: - sys.exit('Exitting...') - except: - print(colored("Number of iterations must be a whole number",'red',attrs=['bold'])) - - #getting exponents for linear regression, in case there is any non-linear polinomial feature - exp,coe = aux.get_expo(pd.DataFrame(x).drop(0,1),y) - - exp.insert(0,1) - - for i in range(len(exp)): - - if exp[i] > 1.0: - x[:,i] = x[:,i]**exp[i] - - theta = 0*(np.ones(x.shape[1])).T - - grad,theta = aux.grad_desc_linear(x,y,theta,alpha,n,exp) - - #Checking whether there are any NaN values in weights' array - for value in theta: - if (np.isnan(value)): - sys.exit(colored('Nan values found in weights\' array. Try changing your parameters (e.g. lambda and/or alpha) ','red',attrs=['bold'])) - - print(colored("Final values for grad="+str(grad)+"\ttheta="+str([theta[i]**(1./exp[i]) for i in range(len(theta))])+" obtained by using Gradient Descent",'green',attrs=['bold'])) - - #Computing theta using the normal equation - xtx = np.linalg.inv((x.T).dot(x)) - normal_theta = xtx.dot((x.T).dot(y)) - print(colored("Final value for theta using the Normal Equation\t"+str([normal_theta[i]**(1./exp[i]) for i in range(len(normal_theta))]),'green',attrs=['bold'])) - - vi.visualize_result(theta,x,y,exp,cols) - return(list(theta)) - -if __name__ == '__main__': - main() From e920fdfb73608f55181c3541850ffca8faf29efd Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:57:36 -0600 Subject: [PATCH 4/8] cleaning --- aux.py | 140 --------------------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 aux.py diff --git a/aux.py b/aux.py deleted file mode 100644 index a6992a9..0000000 --- a/aux.py +++ /dev/null @@ -1,140 +0,0 @@ -__author__ = 'Cássio Alves' -import sys -import math -import numpy as np -import pandas as pd -import matplotlib.pyplot as plt -from termcolor import colored -import json -#import time - -#function to regularize data when logistic regression is selected. -#Might be a good idea to use for linear regression as well. -def regularize(matrix): - for column in matrix.columns: - #regularizes all columns with standard deviation greater than 1(not really sure if 1 is a good value) - try: - - st_dev = matrix[column].describe()['std'] - if (st_dev > 1.0): - matrix[column] = (1./st_dev)*(matrix[column] - matrix[column].mean()) - - - except KeyError: - continue -#Sigmoid function -def sig(x): - return np.array(1./(1+np.exp(-x))) - -#Function for calculation cross-entropy for logistic regression -def cost_log(x,y,theta,lamb): - - m = len(y) - g = sig(np.dot(x,theta)) - tt = theta #array for taking into account regularization - tt[0] = 0 #(recall that the second sum in cross entropy starts at j =1) - cost = 0.0 - cost = (2./m)*sum(-y*np.log(g)-(1-y)*np.log(1-g))+(lamb/m)*(tt*tt)#+(0.5*lamb/m)*(tt/np.abs(tt)) - #r = (lamb/m)*sum(tt*tt) - #print(r) - #for i in range(m): - # if (y[i] == 0): - # cost+=(1./m)*np.log(1-g[i])+r#+(0.5*lamb/m)*np.dot(tt,tt)#[i]**2#(np.dot(tt,tt))#+sum(abs(tt))) - # else: - # cost+=(1./m)*np.log(g[i])+r#+(0.5*lamb/m)*np.dot(tt,tt)#[i]**2#(np.dot(tt,tt))#+sum(abs(tt))) - #print("cost=",cost) - return cost - -#Function for calculating cost function for linear regression -def cost_linear(x,y,theta): - - m = len(y) - h = np.dot(x,theta) - cost = (1./m)*(sum((h-y).dot(x)))**2 - return cost - -#Gradient descent for linear regression -def grad_desc_linear(x,y,theta,alpha,n_iter,exp): - - m = len(y) - c = [] - for i in range(n_iter+1): - - h = x.dot(theta) - grad = (2./m)*np.dot((h-y).T,x) - theta = theta - alpha*grad - c.append(cost_linear(x,y,theta)) - if i%100 ==0: - - print(colored("grad="+str(grad)+"\ttheta="+str([theta[i]**(1./exp[i]) for i in range(len(theta))])+" in the "+str(i)+"th iteration",'green')) - - plt.plot(range(len(c)),np.array(c),'--') - plt.ylabel('Cost Function') - plt.xlabel('Iterations') - plt.show() - return(grad,theta) - -#Gradient descent for logistic regression -def grad_desc_log(x,y,theta,alpha,lamb,n_iter): - - m = len(y) - #print(x) - c = [] - cost = [] - for i in range(int(n_iter+1)): - g = sig(x.dot(theta)) - - tt = np.array(list(theta)) - #print(theta) - tt[0] = 0 - - - grad = (1./m)*(np.dot((g-y).T,x))+(lamb/m)*(tt.T)#+(0.5*lamb/m)*(tt/np.sqrt(tt)) - theta = theta - alpha*grad - #print(theta) - #sys.exit() - #c.append(np.dot(grad,grad)) #Useful for checking gradient convergence - c.append(cost_log(x,y,theta,lamb)) - if i%100 ==0: - print(colored("grad="+str(grad)+"\ttheta="+str(theta)+" in the "+str(i)+"th iteration",'green')) - plt.plot(range(len(c)),np.array(c),'--') - plt.ylabel('Cost Function') - plt.xlabel('Iterations') - plt.show() - return (grad,theta) - -#function to get features' exponents (generalize to arbitrary order polinomials) -def get_expo(x,y): - n = len(y) - expos = [] - coeffs = [] - Y = np.log10(y) - for column in x.columns: - column = np.log10(x[column]) - den = n*np.dot(column,column)-sum(column)**2 - expo = (n*np.dot(column,Y)-sum(column)*sum(Y))/den - coef = (sum(y)*np.dot(column,column)-sum(column)*np.dot(y,column))/den - #down = n*np.dot(column,column)-sum(column)**2#sum(column) - expos.append(np.round(expo,2)) - coeffs.append(np.round(10**coef,2)) - return expos,coeffs - -#function to export results to a json file -def export_json(fil,dic): - open(fil,'w').write(json.dumps(dic)) - -#function to look for past results for logistic regression performed on the same data file -#this function is called in pyml.py and if the past accuracy is greater than the current one, the current results are dismissed. -def check_past_result(fil): - - try: - past_results = json.load(open(fil,'r')) - return(past_results['accuracy']) - - - except FileNotFoundError: - return(-1) - - - - From 30a9d92291e6dee6abf49352964dc47078c9143a Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:57:53 -0600 Subject: [PATCH 5/8] cleaning --- clean.py | 84 -------------------------------------------------------- 1 file changed, 84 deletions(-) delete mode 100644 clean.py diff --git a/clean.py b/clean.py deleted file mode 100644 index f984674..0000000 --- a/clean.py +++ /dev/null @@ -1,84 +0,0 @@ -import numpy as np -import sys -import os - -def clean_file(lines,in_file): - new_file_name = 'clean_'+in_file - new_file = open(new_file_name,'wb') - for line in lines: - try: - line.decode('utf-8') - new_file.write(line) - except UnicodeDecodeError: - i = 0 - l = [] - while (i0): - - if (decision == 'y'): - #print(a.readli) - clean_file(open(in_file,'rb').readlines(),in_file) - break - elif (decision == 'n'): - break - else: - decision = input("Invalid option. Please type in 'y' or 'n' ") - break - #break - - -def write_bin_file(fil,content): - - #try: - #text_content = ''.join([chr(x) for x in content]) - #ontent = np.array(content) - file_size = os.path.getsize(fil) - buff = open(fil,'r') - - - - #for char in content: - # if chr(char).decode('utf-8'): - # continue - # else: - # print(char) - new_bin_file = open('clean_'+str(fil),'wb').write(bytearray(content)) - #except: - # sys.exit('Crap') - -def main(in_file): - check_file(in_file) - -if __name__ == '__main__': - main(input('Type in the file name to check ')) -#in_file(input('Type in the file name to check ')) -#print(content[content > 130]) -#print(chr(0xa0))#.encode('utf-8')) - From bead615f25873395c70589b812b3d2494f9f20bc Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:58:10 -0600 Subject: [PATCH 6/8] cleaning --- pyml.py | 143 -------------------------------------------------------- 1 file changed, 143 deletions(-) delete mode 100644 pyml.py diff --git a/pyml.py b/pyml.py deleted file mode 100644 index db153bf..0000000 --- a/pyml.py +++ /dev/null @@ -1,143 +0,0 @@ -import sys -import math -import pandas as pd -import numpy as np -import os -import subprocess as sp -import glob -from termcolor import colored -from colorama import Fore, Back, Style -import analysis as an -import aux -import matplotlib.pyplot as plt -import json - -__author__ = "Cássio Alves" -__version__ = "1.0[beta]" - -version_string = colored(str(__version__),'red') - - -print(colored("\t _",'yellow',attrs=['dark','bold'])) -print(colored("\t _ __ _ _ _ __ ___ | |",'yellow',attrs=['dark','bold'])) -print(colored("\t| '_ \| | | | '_ ` _ \| |",'yellow',attrs=['dark','bold'])) -print(colored("\t| |_) | |_| | | | | | | |",'yellow',attrs=['dark','bold'])) -print(colored("\t| .__/ \__, |_| |_| |_|_|",'yellow',attrs=['dark','bold'])) -print(colored("\t|_| |___/\t" +version_string,'yellow',attrs=['dark','bold'])) - -#Function to display files in a directory -def get_files(directory): - - while (1>0): - if (os.path.exists(directory)): - break - else : - directory = input(colored("Invalid path. Please, provide a valid path ",'red',attrs=['bold'])) - if (directory[-1] != '/'): - directory+='/' - file_list = glob.glob(directory+'*') - file_list.insert(0,'offset') - print(colored("Files in directory"+str(directory),'blue',attrs=['bold'])) - - #Printing files in the selected directory for user to choose - for i in range(1,len(file_list)): - fil = file_list[i] - if os.path.isdir(fil): - print(colored(str(i)+'-'+file_list[i]+' (dir)','blue',attrs=['bold'])) - else: - print(colored(str(i)+'-'+file_list[i],'green',attrs=['bold'])) - - while (1>0) or (os.path.isdir(chosen_file)): - - try: - chosen_file = file_list[int(input(colored('Which one do you want to open? ','white',attrs=['bold'])))] - if chosen_file == 'offset': - raise IndexError - elif (os.path.isdir(chosen_file)): - chosen_file = get_files(chosen_file) - break - else: - return chosen_file - break - except IndexError: - - print(colored("Please, type in a whole number in the range 1-"+str(len(file_list)-1),'red',attrs=['bold'])) - except KeyboardInterrupt: - sys.exit('Exitting...') - - return chosen_file - -#Function to open a check if the selected file exits and/or if it is a directory -def open_file(file_path): - - try: - - if os.path.isdir(file_path): - answer = input(colored('The selected option is a directory. Do you want to list its contents?(y/n) ','white',attrs=['bold'])) - if (answer == 'y'): - - return file_path - - else: - sys.exit('Exitting...') - - else: - return(file_path) - except FileNotFoundError: - sys.exit('File not found') - -def main(): - - #Prompting user for directory to list contents and file to open - chosen_file = get_files(input(colored('\nType in dir path for listing files in it ','white',attrs=['bold']))) - - #Prompting user for what kind of regression to perform - x,y,regression_type,cols,target = an.get_columns(chosen_file) - - result_files = chosen_file.rstrip('.csv') + '_results' - - if (regression_type == 'logistic'): - - theta,accuracy = an.logistic(x,y) - - #checking for past results and exporting the current ones if the accuracy is greater than the past one - #in case the past accuracy is better than current one, current results are dismissed - past_accu = aux.check_past_result(result_files+'.json') - if (accuracy > past_accu): - output_dict = {'theta':theta,'columns':cols,'accuracy':accuracy} - aux.export_json(result_files+'.json',output_dict) - - else: - print(colored('Your previous result had %.3f accuracy and the current %.3f. Current one will not be saved'%(past_accu,accuracy),'yellow',attrs=['bold'])) - - else: - theta = an.linear(x,y,cols) - output_dict = {'theta':theta,'columns':cols} - aux.export_json(result_files+'.json',output_dict) - - test_hip = input(colored('Do you want to apply your model to a different dataset? ','green',attrs=['bold'])) - - if (test_hip == 'y'): - - test_file = get_files(os.path.dirname(chosen_file)) - test_data = pd.read_csv(test_file)[cols[1:]] - an.add_bias(test_data) - an.check_data(test_data,regression_type) - - if (regression_type == 'logistic'): - res = aux.sig(np.dot(test_data,theta)) - res[res > 0.5 ] = 1 - res[res <= 0.5] = 0 - else: - res = np.dot(x,theta) - res_file = open(result_files+'_log_reg.csv','w') - res_file.write(target+'\n') - res_file.write('\n'.join([str(x) for x in res])) - res_file.close() - - - - -if __name__ == '__main__': - main() - From 4f2257ea9f870de03447b17d88097188d15e762e Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:58:29 -0600 Subject: [PATCH 7/8] cleaning --- requirements.txt | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 55fd601..0000000 --- a/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -pandas==0.25.1 -numpy==1.14.5 -matplotlib==2.2.2 -termcolor==1.1.0 -geojson==2.4.0 -jsonschema==2.6.0 From c7ccbdbada45d7c7da08af120e1762f8f7983a93 Mon Sep 17 00:00:00 2001 From: physicassio <43763103+physicassio@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:58:44 -0600 Subject: [PATCH 8/8] cleaning --- visualize.py | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 visualize.py diff --git a/visualize.py b/visualize.py deleted file mode 100644 index fa92d74..0000000 --- a/visualize.py +++ /dev/null @@ -1,47 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from termcolor import colored -import pandas as pd -import sys -from mpl_toolkits.mplot3d import Axes3D - -def main(columns,target): - - print(target.name) - fig = plt.figure() - qtd = columns.shape[1] - n_rows = np.ceil(qtd/2) - print(n_rows) - - for column in columns: - - col_ind = columns.columns.get_loc(column) - - ax = fig.add_subplot(n_rows,2,col_ind+1) - ax.plot(columns[column],target,'ro') - ax.set_ylabel(target.name) - ax.set_xlabel(column) - - mng = plt.get_current_fig_manager() - mng.resize(*mng.window.maxsize()) - plt.show() - input(colored('Press Enter to continue...',attrs=['bold'])) - -def visualize_result(theta,x,target,exp,cols): - - -# for column in columns: -# plt.plot(columns[column]**(1./exp[column]),target,'o') -# plt.plot(columns[column]**(1./exp[column]),theta[0]+(theta[column]*columns[column]),label='%.3f x_%s + %.3f'%(theta[column]**(1./exp[column]),column,theta[0])) -# plt.xlabel(cols[column])""" - #print(columns.shape[1]) - for column in range(x.shape[1]): - - plt.plot(x[:,column]**(1./exp[column]),target,'o') - plt.plot(x[:,column]**(1./exp[column]),theta[0]+(theta[column]*x[:,column]),label='%.3f x_%s + %.3f'%(theta[column]**(1./exp[column]),column,theta[0])) - plt.xlabel(cols[column]) - plt.legend() - plt.show() - -if __name__ == '__main__': - main(columns,target)