From d866a21f6d13bfb02c2e8899af31ee82812f8c37 Mon Sep 17 00:00:00 2001 From: pkaf Date: Sun, 20 Feb 2022 08:40:15 +1100 Subject: [PATCH] BUG: Adds missing X and Y axes labels in ClassificationReport (#1210) Co-authored-by: Pkaf Co-authored-by: Larry Gray --- .../test_quick_method.png | Bin 11266 -> 11265 bytes .../test_prepredict_classifier.png | Bin 23830 -> 23825 bytes .../test_prepredict_regressor.png | Bin 19686 -> 19605 bytes tests/test_contrib/test_prepredict.py | 3 ++ .../classifier/classification_report.py | 30 ++++++++++++++++++ 5 files changed, 33 insertions(+) diff --git a/tests/baseline_images/test_classifier/test_classification_report/test_quick_method.png b/tests/baseline_images/test_classifier/test_classification_report/test_quick_method.png index 9764abfa84dd89945ab7e68858b166b09e3c57a6..e6ec1b4fc7569abbca11a0c42da90d543e98a0c4 100644 GIT binary patch literal 11265 zcmdU#2~^Y9zVETNQjY^|Jryn0@13_iim=M zj8PGgS;2&vs3`L!Qy>Y6K$sH(2_%G&clEw|-@9wQch>8wm`~BpJqg(#6^DinYDqEb7{p}YOmG!$+R6g7PT8ynmhI|Dk| z7<$YLt)imlul!l}44NOLqGEt_{@V|yu4eK^@R=zQ*A)t}){YHdeSYz)lMBCH3;W8I zrsqwp!JP375xxv8)~rs>Ba`RVu#AT7Sv?w21l;=w_nf!%{%A;#- zUD;rSJ?JmL0-tuQ`%FdUuX_)xs9Zb$`IjmxC-11NQ&GA7^)3~a!zQ17uA=hYk!zs! zyMN8b(FMcU zOc$vMQoFcs4clh&Ni2T`n3b^AEn09*W>#Bkq_Ha`BqRudnBxL>(t1!cHur3Dax!?B z`5-TOi!`Lep>bBkI8$43u`|7&M#B!B_VXhh&#(*x6D%kxfqXzuBWo^PTbu7_{#}=V z*6;qjCZ!N%bRzL(-4$=;r>%3JVMOf-?BQYepW#=to9#If1s*!^-&{5%BMn;_8*_k+!(PQ zc+xeU@muP?E#nE$>}Fk}y|aK@(LK4?tlKS^Xiw6sfOmI+>C?qTVFo)BjCjI~Byr7- zoGs|cva@1Ky08LDWqpZR9@{Xy6%U^D;qX=Ni{>!NL~5nN9x+&~*O~zqoG|N7YE#>$i&2zCFBjotbAF`Xx9LxIn00sPLnW=jBQ@ln;9A{}5@14< zuXUtb7?V=i2xHsQpu}hg zadr3hY@B#EaKLGk$&R!n7vp+!b)WE`kHqgxPBVk&Q7D$e$xgZ!+}5~+C@Bu5U81rr!Ow>_XAiL<@&xt+OK@LQ9YBFAsAI7T7#~!4GXu7IStbJ z_INAS(6GDRC7bn1jXZRz=g}z-4_)$*5{qs&|-k;)RZfCc||& zw8PS4wTZ%_(w_oz#X@lkF#yEXmlhTl8dgZ}Z@)j&(@;VtTWtFF`xZ`X66hnv5Qe#Z zr?9Y4&lv_|T+ax$n%oTb9Z1vCOdonAf~HjLH0vwpk+nRExrN2Vn@z^9iQrLt9b>n4 zl4-sfdNy;#6{hg6%uEos%9bfcKIwC1R0nug#A*C*&#}sF4AKPFG=q$wO~z; zS%LJIL1~sDbR#0RSsNR^Qe9JHtMrP}>dEwP+~>Y#0%QHh{ZlDU-#zh+KpfF+z)|BX z^J*ff@lG~>jIPvk5oR#hS>dSuY508kau9PcapU^Pshj|{c7&Q8ComyHQZyxep-bor zwy8mNIyl%4S*b?)=(Vnf7)m%v2tjAErZBjVqBU4+OEiD#C#OyCwkb!IMeW?S^=0W& z=6yZ3U;TlKZ11FIOJt{LkfKFAcD&T)VrX8xR+U(7>vZ|&$E<`Rr*<=xB&JS0RHMZ% z+h1u2OBL#Rr}N!xY~ANp=NDHr^|!X~_At)gQB?SBdO>P7yE;i}jpc_km)*)bjV*&) zhnHpaO2~7{0l%w}At$(OJAJKQyEw~W2}DPOTf4sA=q!USSpA}#vltIUPrScjwt6pp zZS~e90p}bbAD0}*ak=BY)SAm>O*g-(=|wkHo4QrhoX6<`uPLR;Iwpr#$rd)|XF8DfGfNSLo%F zI+udm%JV|-S~-TTF(HN^#_{hIOjH^3VLStd9{xHOGvrW}cR3#$_4wsCbLSgH+N3w8 zOT@abq$6=f^ujDf;YccZgVfy<-!=5S-r`222f6uZ;wjJ5PfM}OMzpU&7X%`hRrw`Z z%AI-7q;>VS4b#wwb0JdxQPB*!$dRF~kom#gT@b4t9-R2b4IJI3EuB5|R7HSbd1^4< z&BKWmepSKduY0xbz|PO&yspmf9uFL4?#OB62x~N4#NS*tviN!V z`F7EWj@`4ogPyu(-<9d~Th$vF2*$}7!guWAPB)sx#A~Si#eDr|Y%c~gkq=S)$g(b` zR%nMi?;CWA;?ELf55BGrdw;tQ`Pz)vOhq1}G9zYNfGxPoe;=0GU7f^z8I^&9Aa+{W ztPiZp!aa(}wifS0Oik~etS|2&p906IH^4?$7K$p3qtnk~6oC*vgfdPhtLr%I%HPUO z0@8w(^d>fWV+k^&gp5jpV>*msOSru;d|&S1yL;)guC^~N`8rJf@m1Qz_c4YNZW)bp z`&RdaX8v7fzRBp}*~{G;U}9lwyDh4x7uMnW7UV%eE)4?L03&7B^D{>$2X2T7?)IUf zp+5&&_2w6v!eH3wH$%PjLAkVkG3D#ni)Z+=N)N=;cGE~O((C#{K@5a&VQ+ZKH*;e% z>gnh%nTx5c<+`Nyy<^zx1-Yc>;cm&Bo1rY*al9T;?i2$3Vz8u$r7J zv)x0)ynS39{PwXVp)a9rfj(QOc#({^P=AEjwriy2IcvbHI?jF4fWoc1AG+e;?dR~s zEn;USnJd7$SfSbzG%csbK$v;vCVZ8PIQYT{38NUn&e8??j&=>tY>7j6+mFoqF<#OF z-drC{&Nc%!6Lh<13Y#6J`GS4A6O5wrJt%ALJ^MPOOFAs--1>0!&z@@9%=FOhB|oAq z*Al2}x|f-YWANU`WW0qh3{t}|S=sBK6QcL7f|Y=s@!JT$?7Z1CL+qil8!B*giw zym>Asgetr6h=*Uf`3O>CVf__Qmm`isQ83EoEat^&3Yna1Q7hLD4gCg8(J7XCwUf&a z4hiZEX&;l_x18_4P|>AoKo8CWBTbRjq7WStR7?c=5LwJh*Q(OMGfWJylmE@`EAN}AA`ra^~8Sdzr<-xOKRK%Mt$QZ6<< zt2xD;)Xb!z5UuLb6_(Cn3VNqAhVZ`sm9K}!P|-n8DrXbp!{GxjjO1f2j>78vonZre z4V1c(IYh;NTgpy^rCMI}Rlas)YY#U2i8LLNF>hN%BpTa#zifh}N6y>V=(scRO?kd25i* zjU#~6UHl=yectzl3GD1y^eJ}wTIaJG!nyFM)zkd7(mon#WU*@=<~!L}2D}bP(Ag1x z2GoJP_t@RpK9_4JJFfexM_3Ht7Ss}2k7l3ALY2`UW@HDs`ji#ALc`8EIEbG2*Ks1n z^*)HuT@krcchv6aBnGSwa$@o|1uyhH;Rpn5|K?|%KKXZAZpGI2tJfsmrWmbQ)Fn8q zUP|P=RcokDf`8`YGGL{y?|hbJU8?*P8?nw#I?>E`O>}*D=y4KU@Z_j&l)0fxYMwmH zbH37q#$1~?rH#9g8kxyWt7QDkC*=RgA5IR`nl`#=JZCo{xV-wM8}}8L|6FzeX=7HS z(V}5E{LRgc)tp2ZLCfBRI<8#PGPtE9&CD!fw*QVU)S-+hn?tjs#M{$D#O@=*+knA; zQJ(d^DlP_slfBK%)1)v)Nae(BgVGi(RXWl?Fu;3BM5EDpZlvs*ni_ASY+1uL{8Eas zU-r878^YgkYgIp`7T|2^9XXR*J^dsuQO^wC)uBdQY3#_bGUgMe?67nqs}AQyjgFeH z6LtYEVBlaHj`sh@E zG=jj#vt7Uo*&vy$laBDaGHuX;T;r&Mw-0LfDU;n-NI-~kOG}M(r9;iXcz7f)jyJ;x z3O%Zq2Vv+=3tG5nY3olP&&2*ckA5g9Ec^-N1+ly>TecLGm9ZyG9Ah>+gIolh?CF)- zc`~PRe<{ANa1Fos_gkriKzLixreq~|NZ_A&-<&+G} zI3H{}cKE;a?DNumZZ`Ls@7VjJcK8j?VV}~Q@ENmRB_z9?ihLEHpCcY znIr1}9N`(xq$;FTI7ne};#zjpHTY2dMnGO8??{AGaDdOMS7(cWTZ=Dnhh9{V-8Sg$ z=~*amh5)D`S;~iIxu3Af?fD0|H2H(Hm|pIG){$vr2C#0L6^eyS04mVRUh8CYAbgzL zk-J)6p_Gv%W%wMughY0Yy^B*Si6|sFIXTTV@FxH!s~F?Ry2U0SY!ittMh8qfk!2s5 zkjlPK8nO?Bvo?hW{;hert|1^_;BMzb$34seA zUS~nFkc}G3Dc=0y#)jO&!pr%ZU79<0{^I9H?fVE@!E{rLN^1(EUP?3dfzI+O~l z1Ug@$H*4Do>)n;iFc;~* zGX|%Nj|Jv3o~r46lzio=e0;-_^{~t<&FwnU0=KBy!>$EK?_>Xrt?<)s_9%9Gz(4~% zCf7u{m&vTYeP{ijPzA8_pN0CBV?3vz*VJ3+%ID1_^v0sTDja^l4$De6s_|zW@8J)| zcxDG5l9V8CF3+NfOG{fO-KcqultKituHD1|H~(|>e8Lfmg3z6V22#4A_gRc6+ zVzhb<^0fz`Afvpm0j*;@*na{c<{^ky{Cu>nn&HU9z&T1@F4?eoVBq4a?&eO9GL39s z4{i1w?&@$JfrIbnjKZw~`vz0AV4fKUCp1&A)QeXO4;qNNZ^U>$dW&vyk*&-u+X$PE zCg~Mj%uZQ#jFhngK2y~NM^{%xs=gWje$3i{u1@yP%TZxcH_wSWSah1A?lK`y2S2To zKwW$?9(IghC?XXd#K_K1XTD!AoXXc4^k;DP+8%iqU|XFa7!2(-H4qmRL}|t8Iw(n3H#Pyfbd!zVJG6i)2nA%doEs zcb`0=+1J2tY_|-Yh069ctIZ^7z~hgR(%T5)#ilwwD_?lZ(cM9j-^`<`ZpELRwb|=@ z7NlC9V*9LUi)7s6>Imwcjar$2`v`h^<0VZ`EF>Mcqf_*XBYMt8(23`+Yq6v$6t!Lt z8qIgcYmJZnzO2o}=Wpq}uPX~`ASl`hGh;vF*QQ?a zi{94kU{-q0D~j%pd)owF-C9!86%X~gKdi2m`5tFMW0C%aP_}kJ!`#xS z&0N#bFoqjReb-;z1z@zu=yQQ7C5&|C8fiwqBzzn$bA4}ohxA?gDUbbp>!>q;p7{%SZd8A|(cCVLz3|lR?Vo$j0qAV~3vFAS#F) zjuJ=IuTxcnAFjE7tGoW5(iX22SN+kmEpq2Xr*^AA&LftwUDGo+`S%$V%2U7Nfh_9= zBU1f`hnsnR6@Af_vT%=vaK-JH^c}Z%SW~QlGb#rEW=F%x}m<#MQGPrA5LAKYV zyyS4lRp%KuZq}a)^D#%EI>8`==!5AbNUcc)amD-Y&VIX`S?NnYdh$x_WT_J(Y=SDY z~zfN^#?{&9big#0_C8CnR4d#i8Cd+n2iB z*$i(?NwKfTxFGSDJklxTyxbDQvL!}z_h}4L_Y-X&BmHy_a+7~Sj7NzblCAD& zKcMkOlgOW@pst188x`r1hm&@>?V#enDHv&=Yd5x&Jl{OWHc&{|bG{gA`fOVres-Z4 zak&-5K5t3dm!NZxmZ1HhC~tE&mSy9BCdvs83;b^GfH!b+Z*@m0jg$G_?#)=7dO{m1 z)7rX>8g%7!11F2)rkE-xOsaNI&h<4-3fyBRdz~G_#7o=EmLIOeb&t3O;^XF62Xfxh zSDM}oR1;g92%=vD#6fq-h~*92FqUcFToNn6>%)D7}H|K_;7 z-DMwg0AeR!kfo$R=2fMR@Y1-v5IcD$>Qdxlx3n<6Gidl-zBE|MO9KJ_UG7`@84401 z4;-CcYkxCf$0N2ujoO@J#qHf?S#_RZhkz<&A#VR*ey)Y2?bl=;gMvhLdJ=06=4%gA zWqqzGmdMt!(;@Sr+}Yy{%uas0xU2)b6U4l@0TwnMMwwbwoXuX19>5L!rcQdE&3$(DCp2bUz65JgbEYDQVFWc@8dSwFFUSj1*KoR!r)~`jPK|lp!q|{uNr;5z zSM01{dDxUTV03j4aI?Na1h5zOlh*V6vOA*OLXNd_3wVsXk`*`f%+poZ9V}z= zK(b^JWy#TuI}Pt0l?l312}jn{iRJceLU2fz-IdTITW7P9HPg+e9(#DzAQ4D>`}9^T z^X#SJTQ<^_>uKRvshhd5EWa{j8x;ETAOm2+R&;`qfd4swXw^`ngVhMt6s6^t8Zdjg zB4|!T;Qt;WktfZCv3|c{N8m2qsW{3JltI(_$`np4ARIG&i00$dYS7vPy3+BS-l8_? zj}Lx6AHtn=+#dac&|Lqkax;xJ)*|F8*9+|EOi{{vNzWs=fE-J511Qc_i)E~k-rgpR zZPs2bZ}!0m?tOoz+yo2ly=Mq8eE%bsM4_O5EqP_Lx3_Zg9bzC~3$jaWJp2%*>zx+U z$>=M~GtIxtCBfv}m8=HFc-w(SQ^jHvf$teVTt(g&tKDl*rVTkn#CEl~?wAj^ozR+& zSWFMV6vx@AmvjN2D<~~)dDysmLG(p4C%qsRyF*w~X8ZlJEOMd`dM2e?zAzj-)SGA$ zyWFa7>|n&V9cf)!j zO?6Fk(hk%7eO`5aOBKaACvM!fKV0DIyEL7Xu%9t_ac#Fy%y^g(Vrw;HQRM7$m|N4(B;s4#8Zo?B3ka?6xNkv+b(~ngzr;lWR zO3Z?TT>+B;pvE@1tf;6x-2&nJeg{d$g`mEPey}Z0^jOUhAveGk94L0b>j@F?U0csrcT8I+y z^z7~L@4vvTx}uHTr5M>Vk)-d&;$88Rw0R2N8AqEabDRCH4^N&i97#9Zr7Vx=%XjOJ zp!uXKQP9}i->Z2PMsI)rgH6VDhn!6Vn(l1Ywl$~u;zJU(Q+-B48@HrE@R+;SW4{&q z*4sMwR-)KTbF{KPo#xlBN>&n(iJ!0bs>OsLt43p#P4qKEe?(SKq=;OepDsRgzpYK( z_?sGGmt92&gHk81=kpGASW4CIu7GjkAWQs(Lo(EN1KbrBfKi%j9_csHDKHgEw1K@HWZ;Ig# zd0%-FUCLm6ftQLrGDjl(x1uP{FYe zlzT8IO#VaRR>h_FPuANEAWHyLd2YaDE%|55?eLKNA+ z?b)~fse#cBm1{Sgz$+CG@u;xMUAWzBe`q}HTtur1;HzP9w{>j}M2opB$otJ((FD&$hLpx&p- z2_F9#+^!@C2mqg+%4!<><$iZb%Tb5Kyu3W`tE0D^6G3I$1rc|cC-sY#Oh^F0en6B@ z5xd;oAj!nld}3Qb0we`QcEq5g^>jq5%X4Lcm$jIQuE6lW`-H?}h zs^rXzJ;}+&4M&NBR{g08k}TK(IKUK|B=x@QusY4WIv%e9i42EBZr<>90%nK7-M}t0 wt)WEhf81>TXO%ntS>*Izv-tD>Y>hQ&ZBFCvNY3z(3V1m?o%mbnkLP~ww5qMMPwX$|OSwCd?$kiiK(g1e6(~ zMTtxag9O496=fztkU1eDkT3@bA!HyqD|YX5&pDsF@40t>_PuBC`v)IL^5$i|YyH-< z*7IG@-Jcw+w|}+!D+mO#-RA763lPZWy%5M}2fy3`-YM~1dV)(Sjkt#L zf!JRQ4GBVq2Kis#8}5Tb`y+!5bPaX&kL8XAH&)6+xz+XcEvl%Jk<+{eq{CR;;nt#mL+RW=w8+*v~SVV9%~CfBM|_Uw&Hp^%m++c7xw_ z$mQSGzWS27&y`{^JnHt?QqE34#1{AF>Gox%c&62;}(D&pwAhzCUvdT>bVR z^Wtd(oTv}a?zPqHw$aLaxIEFyA=WQO4|^@vbDJ8bbdc>&ZPHdmgH)>;7B1%JtTj*Y zNVlxKI@5JjVK|J{N=kCW?;9C<@cam>m}$EFW(ThfiPer3X2fPGW2a9F-zDSTzcpBB zEUu3M{q$4EAwq7dlY{BhPHya6S&i@N^gCfaRa}3dJ;hohOF<)YFI+q_h+1jais(0t zsn$^0`6L7m&StZ9RqG224^Ffu zb5kpzn59<@Y$MW4`NGpQhYo@jzerce;eTPNdwgVMq<3IofY}Fu4Egcj3|{E&?jEjt zcF4YD_u6dj<}(8e{mVGkNOhnS9L~DthQ(rykz=`KZZ(BuGTBxpY&@T=_<)rsJjOnW zTwrG%r=RDSY1*Wwn>fzPUtLEW=ir2Q-Rfh$$_u#C|3D`8K_H<}&v z=(L}PK*|;Qe7%fRrY}>(F}n%U6Abi_TEmLR0^8oJ5cJnAg1!mklia&oxEW> z&e+jn`4pRu$8&Llddm98-|D?YjXx&WD}cJJ>)4-ck@}l%-SZ8ODVlx2W^5(BX0i`2 z4F$JJd!+3`mf^ZGk5U%v=Jfq&xeN@iTh$chZMA&YasA6N*ey`zkLkzcBR=Gnys#p` zOIHczmTa0icmB02Uq|;981H|UY4EpC-J-?Ctw0M*ww*CqDk#nd+aNc-wc-)N2VrAxk|)fv}@$eV;#yBuR3@QJ^2(o|;# z2dEkiD9{COTI2b!2uGmH=WYZA+1c9K&d$!71(8ZhI@27jhG&lY<%M0^t)_+^|3#&+ ztW3u|e7?<%B^q##o_VHO$j~<342ruxgoPDM)y)w*t$_|Qz$6xaRH0@9;WQugj6p;= zBJfk&&;M_ zPliW&$2l&Ct1D}PK&E#D1O({c{P^a`l^4&kZh?V;-|Ad>=-*cu7Tq;a<`!}9esOW} z0UMx@gZ5+<^p;QR% zmzo6gWlcQMy8_a z0(A3slNa#Y)u^csB|i(@`uWO>7cWjK!qlrF+vZ%SRUtD2mzJ!e9+Oe5*$GbqjRE zVMRlGjLUtMq3ZJ#qNkco<+T`FEB^WjCa}NIg89NyVU0wCLVx&P7RcCS>V1`JxqC<5 z702kYv#Iq1LA2b~L3WD$Xk|gQj`e~|nzj-&U)3vqQ5v^7+Hg~^ZNtQ?ov!8Ay~ZL= zc_i(=n3j`HqPq%oIz9T7J8i-?!`IdW3HQ5j&U(3jDk*+Gy(CVX+rlpNS6B#T^g9we z^^AkN{rPbtHOzYAAvgx*k)+CiS#t+r%E1hgf`$Hib0~l01|qOiO~vw&wF#p0S;BUD z?MA@L94DLi=vktW?q|YD=}YSRFk8&rz2n@p4PA}pS$&AZpjwbLjQ2t{VviqAm5km? zq(m;?D@6pii<3)7c?w^x9{cR6N-eeG5DVk$WrgngnSu(!rcUa$%;UXe+#SMtIFXj@ zXeIG!Jr?o)!FvIV4^7y=rGN6*6YBJ( zOQR7Ql4p=7F%K`R35<=W{N`%d+3ovz`OOJ6NGKI9lk~@FufPNIJMoFTE8V<)beZ#~ zs|`whJe2P35zC5kVa*g$sJ-XWUW~N8P~AVC|la!g8%XloS4f{W?y-EyqUM_d9Uce~kFP!q|8* zQaS;(mW(M@uo`QN%SMExVM|wJxe5OTCo$3dia{ydIR6?*bIN8Xy;^H=I96u8ESmpy|Q1tGG(KiksPL0JzpVYX_dgul>idNRx*OM02GWW$L#OS;6 zi)-Bb#aL;(*VKS|y+!zCduLr3=CY?{&{dJkrODPg@}w=*H3LsXc3?^77=jjoiQUGQ+N82$4gL3c+S zPY)i>H%%sW6L2wc;+MtuB%{k-sI~8rs1wNj$D@BPOdnV!F@$-=Bdn$+|A1k>$(<(d zuStXb`RJYpxj%#+mwx2XCp&G`(EaE6c^WlfObu(uVe6monD#$cmbf{f*dRc!>J)4tJkt@*Iwex3 z!L4IRrUytG(iM}po5e~hm)1VpTzt5yER3V|TUi-mfyz=xsx`)*0W&_fEGjrdjG4&V zt~y3KjEv4o4!pB?@jAjn=#F-v`uY26=o`ku7H{QR2838yNN-_ot~@_-nR1Bb(db{( zdWSgBmv1sASSpsZ7TXJ3N|b1LXhW=AgQPs81mBB@Fsr4uVrI5t4{z%O&#T_D+0xm` zP+>^nXHv1BE2-0{L zGV?_elWLp{8_Z3l3RGkpiFE2xR$c5uaN^*=KstdO!qO zgBNh0rfQT^f`NKY#0$20iLuXXoKZd2W>-%YWox6#v719Lb0c~lNSX`i>|unCs`>MS zKtS-%+_KRd?@x{j>LZs8gxq+Y;hSqm7ePMp;DKZ^*^)?P^qb6e^5GxnW* zFw!u08m}xfPYz;aCm08JmR5un4ZW=~K@N?j>H(!noy-q&OSO<`I-L|d``n-wyGwu9 z3ydRz@{vsK6LWZuhLe>Em)NhiyP>;2NL?GQ1qQnhWZsPvN34JIn(2Y;aR!fc#`*MV zDZ8x>v+feOG6LN=XmEy$PbYhiRkm0(hFJ$&Eq)*hGa#XAV41-nMotKqZsD?ItMP`x z$o9#78@#d|%I$Nr;ZmjBD)mbrHmaUi9I7EP9)dwJ4ZUhF4G;3LI!3hGToQq6ol$dy z$%u=io*(;2U~Qe;PrcH2Z4_p?jCruf>@gnl8s9s{x*&jp9Y3$@DqPnW%}l38l92&4H-ywC%$6iNMOTYMr!%_iXZnH77UD zeNnN|{$*|b`*$i?^l^2xQ? z%*2gGd=qIIzU?1?C9EFeap-h^LSA}%nifaGqtj0+Tdt;xk&N1-V9)+(Yi^Tv@RMO! zY!WZZO~PNS|DSC_SH7irt42&vaNSIy+$IRe1Wg%rb#-}b$lzdFSC)a3i%W)ld%XY5 z{kD5Mwe`K*9t3A%xqFX;ZZTkY=VU1A*6!ux#{{Q(ugwn&$CYC4Etnte)RJ4x^m@8c-{MAB2gDu z_l4C=xvvnjWH|6XYJ)$>vE)WM%3G-yE9{he1nF;3C4p!i4Lsuzav%x63v> zRN_LSC7O(7%J;wZgc?V={a@YM9KYSx+1Yvb?%ifV$Qw7#0t7*5-4pV1QxTEq06q|t z_a`0uE^wgK28~7oZ%_vwF6EDh`|D0Y?w)|Zcm@a-cC`1IE&AmqgbHY&v5waP4!D6y|Djr*?$jybYe1h z03@0`?egeeLHr{B=y1(3xl{go;n7=GK2nL$bm2vxe$>ijZmd)oHT@*P^W9C^GE|l# zhnMonr$R4}_*6csiYmHYxu$58a4Lh7WWLyTXX_3iI2li$JQ>$aj*;WDEIQ_3D>N4K zB8B5SKU9%r851557+7`n)ol-rzTVzc>c%LwJBB4519e&WAt*-c zleg_*Fmg3*)4c(ASQtI5t!)4lN`U+Pj zRfkjDS#Xo2M~lM7OoUw%6P2?I@K z)zwB|0X^C}3EJ$bWIFkPm=~(|Y2yDovhY0tkBd&_#9e>)`{}HsUM&t{=*>4@3)gC> z%xj}6O-sL62pDK#LhO3N{XM3YZ4EJMpPu?Cn%(6d*6*BU=zl?uhjN1J4%yq=1KmKU z9;ou|?)dfV{ivx&E`_l&sj5k^d%{G*Hr3Pv<_ONCKL*Gz_vRTuF){*)l!HLh+5y|l zQwy$rvhhtR0FZ^1y@*~9n_B=75k7$fTVm>Dx?6BmyBBO@#xdgUL(#uPDg6D)>u*B! ze~}Oo-?jx>717FIAh}7_8FCWyH{I|5-Z_E1r9`h8 ztl?U%xt)%nZxZu6?Z@)1^UGEP=xv9!t#8XHL6KO2Bi`v+7U^MtA!Y_EwdG>q0T zo*^W49-Ml*e=T-+f@CRZn;)bWZ*Yq5(coX^Sq0yaeq7&d9+VRv()v8odn$dK+T}b! z9_FXnEzW-Y!iB5|*=&Po7Cx!P%}MoA9zg=rJf8)2x%Q)OyiRAg6|EidQ|05;MbFQE ztHaEs3R%>4Y^SlG^#1aK*s2_Zb`Wvklg~GA@g68DFnC<3&x(0*luPBcTfFOes3#dt ziQ)d--1$AfA>{xtmclvn{I18@9TtO(I+vEu*F5BKC3d(F!+TXNoX<*_>Tt5wve7k@ zzO)mz;yK)=Dnl5KRiS6z66G{&-k?^kJ)yMgfhx&tNmC$%Bae9#5E%d^Bw*$V!Vb%l zl__3J(>zRJE&iK8ul1KW3WsE#gq~SFKTIW?4NARz*!kGVGfG7^sqV4djsxw=didP& z&3Gt}Nm6~}M8bY=va#yA>Bpm*c$3sgQH+a^P=ugNzDc35t+m%WGG8`z0{-^$HoVl{ z*=L0|ct41BX_TbTJ$Ccdx0cn1I@M|#=XW7&jDwje;1DH)S>qpLOAco7%`fMfhEQ>; zmz}cs_U7Sp$JS3i^il{S(9;c37d)&Y*2Yzj*7_1Qf<-g47-9Y+|3KR$jiY;^7Fau73nI_pySbcj z?-*ORONankzpU{)wHor|3$U;a$KA2~3577^-slF6^dA|^##=TXLdUM#DX9;@yyg^M zaM2wpVh&khklhLSwuGofPid!(NDaz#Z{MyrzAPkEhi^TQ;opb(LZ3%k`ZxGMu! zsSooY9}>h~4M@-;%p`2530ns^pf+7ADoo+h_72HgNo&=$KwI4$s{ld;0lx8@1-bB$ zO(k4bENPzcLbXE^*H1!q8?HYaIFrhdhMXLe@>@q@t#Dm9$~ZmwTv)&2U^$i7zh7SX zsEx)F)C9I9?SS*6b|a*zenxm@{Ns{`SJaftB6SB@_4+Jf$z46+KE?X_F~GleG8GLG zNPBxeEd%*px|W)hQRhAjNK$Pxo#RkM-bxB z2@1R?zu2Oew<`D^rzQ~wkeIpi!?o3#j>OUIoJDwE;X;`|7%?Bl#j~pNrstZ4%P=x# zT4j^JHEszu$LqPrS#d|(CSZ#XYooleh_N4VH)!T$tLpwol(6M&318jOck)BFWO%a9 z68pT|4G<&&OL%I`@Y?0EC4GEpb^YA-p&H6`t;((*l76>&IIeP?x#R3Yu%{bt{H6l< zE>1|2xyn+-{TE%>mRgA&qQZ2GatzOb8ryyCo2oD7$VhL4^U`!UlqsMj!EJsi^4I0`mldnv8RD}k*Biw&>gd=^t|KG;HO9q{9k z(=mZIC&gqvR@GrblKRNF*O|1*(!0%7*S*l`U=}Y3U*-cEN)*w0b4{LE89DECtqTrJ z2cyEbr{j0JH{ska1w{(gnDCkC&1>KwaQ2Hr4U6w#nCn>Z?RVp5!{Q7?v{XG2Xye5=0a$`g)!SfUC^(0yF#v)Ul zJWL&Zjg>D9*>dLspj}gQHB)dEQae@Gv#L+pD(j0gU3+{&D16ix9%%PCB4o=`m17a- zuvf06k#w*0Hz7uo1~3bR67!wr_m>>uVe z1*0#*tcgCX5zH3wQox<}17+IrNuSm{BY zOXDHQa7$6wg^ZaDg5e~^|RLmfN(47T169N9zRrD*{oF8 zBz7`PpiQG*pEbrA06~>6sZn4m$0_1Fs&Z;LZK6$-DZi4cP$n6}zg;jQs9%Re=}gBU zyG};hNR7JmE}nh6h@WK<@KZpEHgAFz)MWy7Pb*T`-cj$lDqMn#+V5fJQo>Amnd7Pk zrLmU~L9_<3i{CI%^BKg18KWz5p7SjS2%PWii8%ext6{jt!b38YY&Hn#-wBrg(l+Xj zvmK?0LRhTvAhYT)GXG*m^ISkx)Mye$R>7ytE%W8~R=0|d9`G+fzcbOG2NI>H$Aq&f zsy$p`P7gFP8f_)jN+^Us65RQ|;LXVN{K=iTijP9^7c%eH*rcOk5&N0im^(* zDO@Titnd}`?Y;Vv>{N}umx)uoR_gW(V%sNlEf#Mbxl(ti2KN3znfVp;bh%V0lTqIZ zKg<*ul(T=CdryEG9}pa2K2+nnJ&M;c*MDB9uXSHFS4}E;p4T)w(L1xhYUy1IM&^<@ z{Gv=#VR2B81T`^?jTL3uX-r)-^9kdRL@tceNr`Tt5BqbnojhDqmKBuR7*)#jom%Se zuXWW>XJ5Wop3R_3u0~l2nh8}m1Hl&X*j~69x2-{JWEG!LSr?6%Pa^KxF-X@NSq&e?6QB-cQs>i+ zZx{P-LWePDdXbUI(WMQB9Py_AB5txSKRfGqUTkxE<7iAoS7COexrPVruOCi7cFcms z;vCEuUfAVZm~!y3IF0D(CmxG2qllWR*NS>wTeWf@>~J`?PX&%ywq2xm{#Op`N#6z+ z9ED0|@KXQaCLx;fbK$t@>YF^HA z=15d49=p2}IL$f~_<#Qa%qW>WkS)fq0En@$QcJ?|ON6}{O%H+J*#`z(_h`Row|sm= z_p=QA*u^Ep4iLT3_vv`Z2<@}?4+!W0wkqvFmQmoPGxv9;Xpzl0TNPHk*1*Mb=YIHfEGuXdG@j;+xqTX>hpGm?-Yxf4^Q4QwfXyuN!<4cMNtJ1LsN=mr4!w%9^w7^ z&Q{7~s%>vi4~S~OWI{R`IDU2mkJgzNF_s0BPQYkW8Ss2SSsIqQVwC>?2gtDo_mEd# zm;$U|5I#R7XTpF@x|Ux(K@hV*(#TXenZ|R8<-3@!wC(3f1yoq;9<*JPluuI0kK&#O zoM|09T7z^1xrg)ysV&oT=d`H?Ze1v=(S5u>aI;xI;4$~^-CN9WamdbrUna+(yRx%g z>X7L4Bd)3PsM^1$G_`$R8Xz*}j#+-IPR3HT6J=k8_lo;2)4(Wc5LE)sauWipgY=L9t@KUu?ZvO zq*&8g+l6T7Go{FV2LhVQL>_`^NmLv3P`-wDc?VK=1I#oC zc=9b7S3!Q`A2bm8wHT{#Qf- B62Jfe diff --git a/tests/baseline_images/test_contrib/test_prepredict/test_prepredict_classifier.png b/tests/baseline_images/test_contrib/test_prepredict/test_prepredict_classifier.png index bd810c8b3c4a4ef76eb99e627ca96169e4931da7..fb72408fb24651f0bc35fcb0f4d88a9c6fc8514b 100644 GIT binary patch literal 23825 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 E2UmUR5&!@I literal 23830 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

lUHu59C#R<~LXn5%5^J0( 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 A>;M1& literal 19686 zcmeHvc{r7A+wYB}R8*#=WXMbrDf5td$vkFOrcma2Zty6r3=2udLSh+8B(nx{5ki@k zF(LCz*ypY1ect!m-~RsJ`#AP{9PhDumV4dny07aTe&_G}o$J1~rpgh@6O;&o9Kot8 z>LLgkD}s=69oP@=5G-cj!Hc-3(iKlV7dua%tM0al##K+(8!nzV9Iml?+q!!=xHz8| z5D^eQ!+PD*)73*lQ1IqI7YMkx+Y9pF8My*CIq0ft?13QESJD5IypYXyKoE63tl}ko z-{hHr08ewTl-=DP`?Slg*v`KmT@?A!A=h~=M!VPjSf&!|fwO$7(_-86~x;5MiZGPNzWsanAcFEBd`KH=Jb;ONlNZGILnFE0`; zVd3NV?_Rvwo7vlI5}%MjA>De9w{DuR&I$jv;MxZ-y1xWvRx5*R+!EgO?}~H!RGr59 z&%dLfOSwWfZ&SO#E(eB0sa_U%vuy6Q+MCjG3s-r{sHCGm)oWFU**w7#N%87jC97%9 zCy%q7e^h{{c}On7a84Js$57H3_>=F#wVQ#%Vf}}K7K9vT>)uiA$FVxU1FPjh64jM2 zKRVO?*O8MP*kRWzM*aR35`;Fx?lrPhDvUU4=yD{k=0@4c?h&aWJAPpwt`2y#Nt?X6 zkth*>cf8@OCxwsJ+b8Ku;u2>15?yEQTenfqxvI6PCr$;7_o%VCCs=xJKKSwTuCG4L zwPc;Jkp@cirnfM%!Ii=5A6V$?j5%vxT_Xo?VMUs3bm#oq0+xSfL{a&rtjp!>J^Nx_ zNGTyZ)nAQeXFj~dd7wO9h4havHfAWEep>f{f%=!XEiPudoJ5O!j2d;vXzu%pBQNv4 z=gKCS%>!mi;E~6U?frq`LtVpw4^jGMAKf{_mxt&Pq?RWjBc6JM%=#EVD?CBQy>;ZT z({k`HWgTnl3=7|3a_mP6)?=*jPKM)nbA0(qx2b`lp>iNH!ia9M4&8ml<+8RQP0>N$ z47<-y=$6IghOUr6sK8vhuP9%$UMKihCH;NHd(`RFd*8rrGfy^g^XARXEB2wB(D!?hgehB8!p60?*nvcAKP@vFREES{TPa*U_m0~x5NmbZnN;RNcDLxF8tzjM@wid# zy(wJ(^GA}4ArGytk`nm>2^0C={SUk?AZYVsYV&aLGO(e0e&-Y=k9_}aas-*D$2Vot z3tHrvI+rO`&rwKIX@A{&R9~9yg;!TU?7tu?%1{4bGBsfKp#Pcl>#s;*HS_!TH-yLa z%}f=w2psa|OMkn!mme?!GT&w>#e(Z6YGy#qn)JYGlh)KB%XQKP5*#V|lsMia8fP7Q`wL!>6`C zJlnxns-b$MSr6&J0?*l1`gD(79kuT0e?T!vvTSoF3zjcBUbtAABN?w_d*<2rl9Nc*?RaXd;$y6} z=kiL_IF4V65;~1<8jFs~diGDm)X1^u$uAwumEE4y>a7YWovmEbJZoH}i0?W((TZ6v zc)wFYG~w^`aXqd530DHacb~SZiHXTrx$_rm@W*e2!s^@KC?pYhTSL|}3S25Q578cCQ7D9|@S}Mn+OeuYR+BA``S(+XHXE-KNaCebbi&wnvpK)}+$+)x{g%(&4JAwW_)J z3BOBGvwyJE8;J8X^W=7u?#U*RFprvIRFE(nf8G z$MGYDwi)W>+Qkq$)=}q3=gHFL9U>nJG!{J+{_$L4 z`mRO43%L@*`?l8`WV;(=R)x-5Rwu6`5&O`uqr4kS$`$GO^{Y%ssL8Edks9Dekcx!q;EqF_;$x`?M9*Hw}P1fDxQTeM)8g= zEkW%E9qKy_p7?f?muWrJ@!_NCe~Cn%*n6_~PpOk#LT=Wq?)*x#UA@s(^;A%X>vNUw zP(Yy51vdJF*RLTBx6x!JcS&sd*3w{j^+g^Trg%%g&gk{%%$K9rH!7d}ramHaR)EW2&H7? zl)aIYSCIKj29lu{XozGzx?O4(c1oq%#g?N9^Zm78{6LMV-E`Xi)D2a8X)k7V2Y=hL z0&%DEM{R}eag>HKq1P1A4XZpESRc+2CLfu{!QON?ql2?0>$PC#+tM^nEZ?DUPc_@J zL7#5VAoupWn{raY>O}5RjRMt@uG=Ti_OkivT_`{z$`|gMutAi zVgdhnvyk0T^gE-F#S3+Bq}U~YO4mQWrP{PvP5(J>L*n zEhuQcvUBCt1G}YKacz0j3!;r6nTiIxPDZa|0^j?IjJ@y=REOPO*{uw44vi(n96_C; zF$oX>=jBJ&Km2tB&%qt{AnKskTpY(nw|hN>_Q>9S7{cpS#F)CJ*ZMP*j4bl&e_Vv1 zn~PHt8ztj$+l%5}sS}gs(*=@eWFDP0<-(Rfd@UU+bjKV_ruN18`k#=-^f-=-pOHau zXCd$)p~t{R^sPOT%5@9i!6Eu)X@a)_abweD^=SZXsx+{^u}5 z=`=o(+rcX+MP?;Oi(Hy3G!#Ajp|{{FUY#{ESqwfb+9FIHV=vm@ux!WjX{O}sJ<8MX z{Nau5ICXBp4y5>yA2bC$Hs94kz354mpA{99T`&g{e*stTEBZ+QZcK11Zmey)WQ` z*plxuqy5coY{Rg*Jp5xgyZIYkI(zfSTVFA-gCv@V(~qL3KlE7SV(IvM1w5mGjDR`s zX9=xS6nc2~>}0KbO1Doi$lV%3VUw#m>=vZyGKUqJ<&qC0A3n)g;>Y}|Ie34GnaC7! zr8|(&QW}Dp)C%R`l;W}3#p63|{8beicpK{b)cm}(?r|$YXP+3?k^Mx_V|BgpsEwfG z*g&7PHrrY?bXR1yImy;8P0(qkb}P4`!9cdcgfKl#`h-@FZI~V)g{$JlH*-CwYJw~% z@CBOpR93PGKc=dTx~CZiD2k^=sU3T}L>(ca#<%)UNj=uBU-J6#Rc-tFhU5h_&mnuz z*jLZ_BB5n2$gFL)pPN|fj>~w-o=+?{wNDe)>48kK@_M2E-TN>l*8~&3wz2 zrqC#j^Y&LOwN|GzZyFjC(Y=sq)FGig zwzun7EhHaz^fJ6@X>PRXP#F1eLZvB;KQ2XBp}w?vv*T9g$@z~+1UZUlhtA0oUz#W8 zamNPTS$|w6hqnQD>p8e^J+zaQhYNKO1gmSWrAsaITFKO>^0^T{@|NNBks7l#Vvz2?qY$v;I&Epg@xCL>m$O!@h>XL+MMO9dxsC6`X+-usKr8^>f# zd$Gf>lY4SJq*Al}oTxq`=KlL3I1Z-!TR&GDoH*m+=G)2F`dd$HdJ4>E)YJ?001df{ zW!~u41D`GN>RcJ;ToM~+s?|Z^#TBP`RgT-t)`}dlO>8WemHq)H<!M@xca}&dhH1xH$HP%MyI01h{GO9AO+mBM}}KvQE?Y4>jam z39-0ybD;df&tsv-E&*mcSO222QtGFWvc43vV3`wMZK+&s;Ry%SAC+r^4a@xnWR#5T z+|z0`<$6yqO$266O+lSUL&-ZP*1TCgc%j1Nd@dKc)J7xEo3tLQ{@^g(cd-BzamP;f ztxcDm+M*R!z8L$cJNUAM4PjuAap~){-FRRBok>U=CFQB6!3d5CHFgXc8Vl%%F1kK^ z>-ZXM&n(T-de%+Q3L;K+F1##x?+(S+V7Mg(wW-nHAHh;D=*eo%5kW}=CK;#-B2wLgblFbJadmE1>W(?3vEI594> ze|D=|Ozn)>)8)xSV@G;pWNmQH(gAAKD&*(>LW6G{rfqHIzNJjYk&24&O6L}C9=DCN z&6=rCKfb4HZZ%`Ys@YZcuNf1{r_??tH|855%G9M+B#5>=l=J12mT4WE`4!>Y<@t|a z3=&*olfTqDRi~Mf7@yl#++N&#@U?tAtMU`2)s54zYdj>Wb51K6pEt*s`icpXIk>sY zj7HT>}B}}?1#@;+V*1<)ZwB`CW$cPIU847=Y zT4A23Zt~o|?IlriZS20p>nH0-v@CimN~mX-2;NB8^ez(qUVJSoPv`mkdD-Kc4nqq%r#8Wr3g|l;;`*Sa)g5ddzoqlXjKa6USMaE>)Nxx#%;suO#GZ; z_4}hOf9I1Sa>u6C$|A%f^OEqvUfG{gFNGhrD3bU7QATOp)XaB+GDqq}2Vm~aRWF8p z=yOJ(&w0VOY~IgJlQtksQ`ek2 zge;;lF#X<*8^l7%;H^q34)c_wQB!mDsZZy&iI$N0%>6T(?b5Pe&Vj{k7?!`Zi#XwO zo(Cs3 zQi$)6_mF4 zZ*}2c&*=faL{FHW@_g+c%Ny2{AG1lt7&oe#5U9%aq@u35)R6mQ28reoMCC8Es-{#2 zHsQ&|(w5%-=K37EWAVFopQCA7y(S-mXP;bWZomXh=9XQ0cozMru{XM^`V#fSnPIDzpc z$J-~5Baviiai+~0NHpqNe=CsahcBuYq@i@`#h(oSsM5Vwa@{UIx8CEuc<6{CdLaT7 zXhG$oTF`_fv3+V&qN}Z-Rr*lJTDspZ_UB$at`-<_AQ}4RhH`QwmpP7`6xrNID`~VC z1@_A4_Y4s|_J8ntabWPn=lU-fN&XN@`>wkNs_FvZ{+gr5i8UAE^5DQb|2sEuymfSS~WywWvQCbM=A^6A| zSFV?s-asB&IfSyp%8!#iJ1zv(^ejoP^2RL0l^AxHN<@2Js6O+o{7}KygDy34?aeft z<5Y~vM<48yx`2#PplA;FvTkkLB4n`I$WS-2DB{L-ymg*BQB9>~w&2!3<#Fu~^3cH3 z=#yUhFPYYO>umh?LQh1&?tPme@kkvliHy`Zek|l_C=YeJd^N==&Rs;01ecCRw?MS! zaM-I;II+VCY4P7{ObziR9sFDVeo?~nO!tg)tdj~^< zknWLZOx#ZSh6QFhM^0W;#lIhZsaZB_Smi&GxR@Vr{i(Kryi@C|i*wnTq5CAPVyGXg z;+!eV);GX89&I@l6{c(b9#K$nK7Tl~<<;Pl)^jV9aDU-N zb+K>34|Usdvf6LTp-{No{WsD1*udwYnE%2}=bn(H9I^!x1j7t5y!P17Us%T= zr||cY>}?u^l^wzB_M@U>75~tkfD}lyD3P#-rZ4{|M5`~+vodtvbj(irJC4vzQJtyWMEdiDh(xKPRn-GJK|V?HJYLlPy$;fA3}NWQ#lKe|YFEqZ8102hyX9 zi;Ek*2GSc4ZL3))KaG&yYAwm&)eB{(3V&F5%IB7Ea%qSy-M+PUR?Hz;#zd4eomXe- zS^JBrsj1t{WMTq&05Jb2QgF)s5B7$YdQHvZg11+?!s}GJeqSEDE05)nSNzBYY@Lt!Kl~e? zfL4w3`lng|gYr*;2lDxn{34UJRoS@LRBbJIfc=*+#> zV4L5SI#>*$O-kz^l65B*cnfR803&%~h~v`qLW~>TZXrv{GBakeI`1I==!S4T&-B)l zqYuVHt{^(iRv?VkE71)5XiCr@$ zN!N$i6e`rP6cjX)(Dt**NWwPj*7||DJ~phouC)8=%!x(mZj&aAxktCin_lwJ(c1Iq z^;uN}qq*`4p{k;_bSVN*87EXww5cKM(YVIQ{yFI)_J~m%wUr~na|&IL`utvj>pwJk zw)cBVTu|(KW2@P@v4Dq}bcZxMsduKH-O_6#K^jn)j5~;y!WF{?C2M0NADEQ_&GgS3 zQ~zG6BT+wsWT9Cku5z{DF0-#4p|>Koc~c@cKFa6Q8AXd^0l0VG5_jKdRZHe@9Vyt z0$cZzw=2d{0_$tHPFd4>Kb2@DUhu$H)15JF&eeL zt6JnXq`rIaVN?P`h_nnYb5T`wDLd^&MS-*+)a_Ph(A3IVw-oewXTs8<;nv4!h5ZTx zDN|L8F5?DWs#B&18JB}zz08QR6uWF$?Jr|GLt4u-;&KIedDwA=0^{r%KqkPFB<2wo z8)^h?&*R+}h9CDB$)r}_d{w_k#>sL=h!zK6nH~ zXCq+TO!;F!GtsjE1v7T)ILonypY2f=&%@3W?qE(L^&;TF+Hnw;firpPN}LLNRsAfg zpY!~u=J59E3JXT;L<*Yq5R$8(8R5bcNqu7*g)W(<2Fx+y!yMQTMDMQMRtN65X<0+_ zm^K{}7p*Uaus)kFuESWQdT4Z}!x>f{#HCC$_q+0Lf# z&$A#$S@#wJ^rv67EC-ikE*Exg<3+hHV^|OY=RyZ{hVHS>zv+;B)W`vp4&_nnN!7`6 z30$;G@!c7hSV&gFb6DdvCEY4JjI~lI^cI5%NrErB&N8%i#6|el(vTq>=$CN(-FXH? zXO{EPi2G z)>SEGvKA@(^s_5u;~9SDCZ40gjg~TO+;p#6;`=35w*I2Vdlh1v+@&d5oB8mz z8wM&`y7d@i(R}Hsf|&2GrPsK)Gx?3ST?RH14bWD&4_`*}6~&f`9@iE+gq83=1mUfz1?QHi*-u< zCc-1L7p|T{omrlc_vLM=<%_&I!mF~gZ*Rf%XrV|OhX&2HWqQADZi>}96<_VZO#1xj zfZo8FDa~df<$)Y^S28jrk`mo*3?wJ%>N4~DIMI2Nv3PsB-kQrD)7;4w*@DqFUsK%2 z_qvL5u+4j&3m%M50rAC;QvvZSGqp~My-V>0ganodo>#76Mduk*@qtd9PPBh|jbA<@ zp&4}wKatSdvhR8H#I*qF?Pe#nfSoUb5|JHC^ey?)mT%mfqXiA(!ix9mg4d(4Lx<4# zajW9@V8cqdk%eCOCXin-38^PG_cs8!E+4u4&hJ9<3JIcw)?;#3QpBFKyPF{^;cukz zF?m~?WD_~F(rRgI)mLlUVwT%|K6Mxo1Dt~?_9IN9dv^w}pW6wJ4essd;>XT@87OGB z_^p*VE3Hu7pc)~e{J>GGqm&pDJZKM}klp*l6_g(xcxBYB#x*H4{5XxZU}qkT}QA9S?>hf`mjUsqk7@wSaSM9t{XJw}ol{r1mfDKhLh0M;cqgTOm^5~KZpLJKyVmX!?`Ib;#8i?j`9qJ zUKvAPp__)R*ssJWh0zbMI&M$KE+?4^9I|soYVVC6lz|S0`|Ik#iq)*1Q3brsSa&M- zNdeG}*hbQNb2N;}47xf$O#S`wn$m~g)rS!^@{kO`7F~3*>s70nRN@2u7+c4-1RVRc zSaWKs>BhW`h`@j~ko9a9J&KJ~g|L9vB9gVO2ol&UL z$Ql`Ar;(TrSq)?xNZh&Ll6?q9Cv|Sx+-Fy_?M5HFB{bZDMVlKa_!;>yVz(zMe7pL3 zqt0kV*hdN^PR#KC%)REAb;?Tp&P)CNMx}ddWgS!8XJA*~f3?QN*(=MDuO;F~n?=s= zN~$_9IsvDAoY18x5++gW{E|!5B((TPkLb$^PA+5Q+7|)|6={9>X)c3;Jqf?gEeQD% z2HtTsFy#jkZzz2@^NGxb>%_xc=sEus3LSk#b4P4NXHk8lO(&o1`}G$EJe|+m%<`l4%xb=$T}|sbIb2TJ)17a6 zhnWNe80Xw!Yg}_n%N-z=>qZyw6Tee z`AV=G0^#8{dSH?F|7m4aRc5OUPpY_LErQP<@c=*MFrrOT}dUW1WM8aW+{$i@&Q0n&#)x=zJ1dw1NJSJe!KBr8WUT zL)1E8Gc=Jh#qZe5SPXWuH?%c}EV5}>23Bd_Q-X$UvuZ?L3*AEgv#Tnj&#u~@FOYF< zb=d3%`c7H~VYLG6G;|M`qrRQC^P3xg8Fj@rH+ppPg?K*vGJ

xc6tL^z`7Twp{v0?)k2GMI#wD$Aiu&|*4Xvx5 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 diff --git a/tests/test_contrib/test_prepredict.py b/tests/test_contrib/test_prepredict.py index 22ea7efe7..cc930b4f7 100644 --- a/tests/test_contrib/test_prepredict.py +++ b/tests/test_contrib/test_prepredict.py @@ -29,7 +29,10 @@ from yellowbrick.contrib.prepredict import * from yellowbrick.regressor import PredictionError from yellowbrick.classifier import ClassificationReport +import numpy as np +# Set random state +np.random.seed() ########################################################################## ## Fixtures diff --git a/yellowbrick/classifier/classification_report.py b/yellowbrick/classifier/classification_report.py index 49bd2838c..fca128e1b 100644 --- a/yellowbrick/classifier/classification_report.py +++ b/yellowbrick/classifier/classification_report.py @@ -94,6 +94,9 @@ class ClassificationReport(ClassificationScoreVisualizer): colorbar : bool, default: True Specify if the color bar should be present + fontsize : int or None, default: None + Specify the font size of the x and y labels + kwargs : dict Keyword arguments passed to the visualizer base classes. @@ -136,6 +139,7 @@ def __init__( is_fitted="auto", force_model=False, colorbar=True, + fontsize=None, **kwargs ): super(ClassificationReport, self).__init__( @@ -154,6 +158,7 @@ def __init__( self.cmap.set_over(color=CMAP_OVERCOLOR) self.cmap.set_under(color=CMAP_UNDERCOLOR) self._displayed_scores = [key for key in SCORES_KEYS] + self.fontsize=fontsize if support not in {None, True, False, "percent", "count"}: raise YellowbrickValueError( @@ -228,6 +233,26 @@ def draw(self): self.ax.set_ylim(bottom=0, top=cr_display.shape[0]) self.ax.set_xlim(left=0, right=cr_display.shape[1]) + # Get the human readable labels + labels = self._labels() + if labels is None: + labels = self.classes_ + + # Fetch the grid labels from the classes in correct order; set ticks. + xticklabels = self._displayed_scores + yticklabels = labels[::-1] + + yticks = np.arange(len(labels)) + 0.5 + xticks = np.arange(len(self._displayed_scores)) + 0.5 + + self.ax.set(yticks=yticks, xticks=xticks) + + self.ax.set_xticklabels( + xticklabels, rotation=45, fontsize=self.fontsize + ) + self.ax.set_yticklabels(yticklabels, fontsize=self.fontsize) + + # Set data labels in the grid, enumerating over class, metric pairs # NOTE: X and Y are one element longer than the classification report # so skip the last element to label the grid correctly. @@ -309,6 +334,7 @@ def classification_report( force_model=False, show=True, colorbar=True, + fontsize=None, **kwargs ): """Classification Report @@ -386,6 +412,9 @@ def classification_report( colorbar : bool, default: True Specify if the color bar should be present + fontsize : int or None, default: None + Specify the font size of the x and y labels + kwargs : dict Keyword arguments passed to the visualizer base classes. @@ -405,6 +434,7 @@ def classification_report( is_fitted=is_fitted, force_model=force_model, colorbar=colorbar, + fontsize=fontsize, **kwargs )