From afb269fa294edd064e3f1758b33d817f55b7a9af Mon Sep 17 00:00:00 2001 From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr> Date: Mon, 6 Apr 2020 17:21:26 -0400 Subject: [PATCH] Doc seem to be OK --- docs/build/.doctrees/environment.pickle | Bin 210281 -> 209632 bytes docs/build/.doctrees/readme_link.doctree | Bin 34399 -> 27946 bytes .../.doctrees/tutorials/example1.doctree | Bin 402122 -> 402248 bytes docs/build/index.html | 10 +-- docs/build/objects.inv | Bin 3717 -> 3721 bytes docs/build/readme_link.html | 48 +++---------- docs/build/searchindex.js | 2 +- docs/build/tutorials/example1.html | 8 ++- docs/build/tutorials/index.html | 8 +-- docs/source/conf.py | 4 ++ docs/source/tutorials/example1.rst | 2 +- docs/source/tutorials/example2.rst | 68 +++++++++++------- docs/source/tutorials/example3.rst | 8 +-- docs/source/tutorials/example4.rst | 2 +- .../images/example_1/folder_description.html | 6 ++ 15 files changed, 86 insertions(+), 80 deletions(-) diff --git a/docs/build/.doctrees/environment.pickle b/docs/build/.doctrees/environment.pickle index 81d59798d6abefaca21321caa3d157dae8b1bfce..c8d14d6b810658976d1e863d33d0dd3857c954b0 100644 GIT binary patch literal 209632 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 XnI)jb6!DqqdHF@DQ~IZrCg}kHRf96b literal 210281 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 Y^D;|7iz(tW)ARC+Qm6D!DNWJ?03G_cmjD0& diff --git a/docs/build/.doctrees/readme_link.doctree b/docs/build/.doctrees/readme_link.doctree index d1506480256495f322bd5701f969869fe6624435..a58a03182607462323c1531e378980de95559100 100644 GIT binary patch delta 2710 zcmccL!?fxaBWnZ8RQcSEtaYr6`jcB&)r8cG6@pR|Q*u+MWU$9h$q?uP3v<GSH{WD! zF=Fabm|S3`zzI_W<_S+}ozgg^c8W#@Yt|_i28Il=tP_(1O_e8Ua7?yw;G6u@h@0{I z<cU^>les*cCx5qS<^pTi$Pnl;oIKIWX!2YSE=CZ`l=0f+<5m@n_a_IM%1@5B4raVI zIo>{KGOLZX;CmJZhSCg`j2juxy%{savaU@IwAsvfZ8EFv6ecFt$sYqXWv_vhBxMNn zFzO*(1mb{|3p!}Cxn+oDHM30qXe7+oJNbgG4|9T<!sLl|wv&B4xEOsvB0NYs!2*&~ zGQ_f^Ss55glQJ|lq2BCqfM|4;<u+3&DJ{t_%1q2DMrh4o%Mi;_VV&$~t;Wo4rZ8E; z-i=9`b#j7zDsK<6j>(DK!UkC;Ak&e&2DJ^<A6X)-;E<JOo!ls=#ppHJ*5NisBt$HH zvVx<!KnRG#n8BQ(n&FY5?(Mrd+|h!GF?I3;=NzUya0oG`PS$XF&y)%_g3UieEGvW+ z6d03ZTn}@0g0zcewX;s%D5o?@gM&2~B)>S^jge_8NK9^Wxw{E#C`fSg26snBrlqWt zPgs>Rtpj<p5X4Kc51ee^WvIUo%|A;)eDrvM`DZD_F;O6MStn045uSY6E0)oBvY~e@ z$76_-9)i3lcMrrtcrUgzDWeh|AGasp_KuTP2+3DS$yX@O*HK7RNGPZ*$;i)BC{8ZQ zEGSX1nLNS3&{9`FDJMTkKR2<sB(+FCEx#x?u_Qhvu_UoLwM4I=(k>xhA+uPapeVmA zGbJ@e51vl5LFP-Mn2(6<9<Z!2s%(Z>)_aJ*5ve8_o0~idy9w-!41peA6fYqh08VZ{ zK=Gh1gsLRtT2BDT<2D2=nF7jM8VEPvgokV}B;>*f7+?o+qd2G(kc^!IbE+;R^rs|d zNXJgekVQy9qXm=!+_N~?Q1do4-~@VjQDXyM%%Dqv9S+JDZ1EXlS@*z+nlXR!L@N;i z9fji5RD}fBip1Q4oKyv~$%3ASD)20;p9&E-(aR{w&9O^}2YUllGD(4S3qf=vLb?Ym ztOga%5X({oIUTuV2t~EZhJaNW0zI5?w;}8S$EeoikN)zL`RzIR5GpdR^|(#`=&5gn z!(4boLLG*PNKcT@U2$kbk3LRlxagW8MIB5~VR8buh;Wt_$m>YOmLeNC1`;7L0LsZn zvO^hTCmVXpO}5B!=7?qk7hsW-Kl&?8KA^`c5C#%J<mi;iyK)|IWP$|6veLn-{;PAc zrDcd^g|SV(oI9Vf6dWMs?gEn+<tedcKqNjI2~WP8x0j<GqOldOF%K@k`B}ahBhzHI z$#R9wjB~(-@Y{<`zFz1H5>zWH=I-Hy2Mj1lN@uM>^W0<*A5?~^OfD!;o&2H57^JmP zPK&JoVhzZ@8O4!|DU%NsPvf`+am)>{V?chr3KBs0wRrN}aM{UQN_?2!vrT3y)nNQM z`J=z`WWQ2&#<yTS|J6BJ%QD2WUV?cJ39L-d*e0(pH5EWJs0<vuLS?!fqU_+{6`p)B zSy==WHUc04gq4+(ANa~mo>QhSp$3v*kDZb=kA;B&meI4+*eBmE(`MA3>=*}ehz7_c zP(@G!s>~)IOjc)7WS@LbQfl(j@&G0;_Q~JNwHSTi$~|DpYcs^MTwuzVRfGwkIizMX zPo)dGKPo3DRJ!mNmnNlVz{?Q*$(t+HM0JaGiy-Y1L?NO-`DvvZsA&R`+00#K!Njzj zeY0y#2eV)!I|D;j9f-KZ#=wwuo^A5I`i=F0tPBiUejwr}3j;&eHxOY5;#z}<+aTfw zhzJJh2>=m7Ac7x6xPS;p5OE4b90w8GK*VMcQ3<lD3`7)yh&*-%hSDC+yu{qplFEYA zVo<{<tC5|Zfx$2965C{!#@s-VTl}&>?&!z@xuGKqWWQe)$Zo$Zki8vQAUiv<K=%1% zf$ZwY0@>r21+v4hG()m>iU!z|8L1#2Zfo375B6L$$X{U3eE_k*o-+mc3+y>i6Cvv; zh`S#|fV~N-SF^z0<OKN!>`iMB3+zo$9?b%Kb1g^=>`hP-%mR5c3ly`ZJ-li8`6YRi zZ#O-dyr+3N6B7rh1;JX8A(r)jvSXY)Q`XVRYg<gD{(_PnsL8>=kby{+(WOa=lU3TR E0a-zEasU7T delta 8324 zcmZ2=i}8LB6Key@)R4A~taYr6YLoY{s&P)qV2_=WA<zTnZGO$#V#FG;jFEw1a-oF+ zqr&6>E5pe<J)9@ESvE6rO|G%?VK!4pm~3fpJNdT<7h@1ymC<A$Ph`F+<B7>_RuxPa zStft<Q=hDE?ZtG0WpbZa;N&CL)`AaN7#K=3R5EU4JojeI5X(9-S-@s9<B7>fY^E@N znY=+yY4SN24xSSrRY@5FJpp=Ps|CyyrnF9JoKibQBZCztC~2lJ1!Mw5t)?bS+79GO zS4PgsjrJ0Z?2|wEsZXwp<eMDqWeIagtb>S8hC=L=9?p`|lKi5~#GK+Oi5W_<Q+n8n zQqxL{GN)vTv!b~ZVv9fzqaKn=81=v|n0(Ptd-4wpzR5ow&T-nZGB9L_Wm&UM-l(T0 zU;*MWW-w={W_V<%dwXqWbFyG!^qg$(lEV}PQlbd*Fr(+>>n`t^JXt3%wAEts$q>u3 zV4Zx?R(LYE+hNXJkP%{8*&x+QlMirnumwOA_?e4MmUVy0RLMHIF-Lx~M;QNPGY=KE zAc*WmTj9;c9=eQ-os$=ORxnPQ{J~EH6dR14lY70I1s9=tuyeAaw<xD3#I8<=L&6~@ zeRL3+-0U60=ruV}Pj2!*Z+p(;5M@U}PEwOQ1mYq57*(2-Q3;QYxXJmxaqzST=7}Ie zFzYHvuUOV)kV#<A@x)|^Wx-4YSy=DnnWj*gU#gIpQ<R#RQmK%USeB}gn5W?3;%2Il zl30>hoLZugmYI{PkXfRTTUuPAkd&&BmS2>cSW=RjqL5guU<FI+<QS!lZWcTtW<7&A z{t3wOY61^IJVY?WPqvDatAFL6mx^#?evv|IVseH;S!QavLULkGPHKumLPA((YPn}Z zf<k#_Nrpl~0*INEnwgibP?C`fQJR^Tl3D?gH&RF}DJjZKDlJMaR<PpY(o#rB0ErYw zE9E8TrYglIBq$^*6qgi%3`ncbF9Mqal2XV|1G7PvBWo)zNGvLbX-vw`&q+<pQz$M- zP0mcK1Q}AEky?_G3NZ(yS0S@l0is7Czepi3zeGVJ+%rIviwhje8pv_)Ur$rtLoF2O zQN$I>_3&Uuq&eKG5sEX!vVMXxNK#fJ3j+f@F>}Hr3v6|UKo2W8@(_k+uw{s4F|jc) zlqMx+h}TZusV51_;L#A%G6Z_qAkm1>0T;nxCo4Eb!0co6MCb(DCCWB=qaL^r$%EUW zsX%P{K^WFUf+ny_K}8iuQifR8S5^iFa9TIUmlAO#M2NrO#YL7e8v_HVUeZ7fctH%K zAsPjGc;Sg(6qNcA9s-As1w3>TOu><oA<(0Qls|B}3ZBP_Qk@}|Wy%H$54MyHu`EN7 zol27(#98X~Aa?G9C!ip>KOi{>nq4W*bx4^m0AWQvb#gX1sL>)s7-0+C60o`qfgXNn zloU%qrO+ZJ9uz>}BwHU12_S(UTZKdg@<Rb(0ci$_gGxS>QVdj|M?>N=HA5^b9OP7R zTr%l_MCB&0N#J4n3aTE#qV=EPg}z^gx?gEh1|qH(q8Cb_;yfoYDK)1UQTF?Q`LM!2 zKQ9$lyqBb6Dcy^q=_Mz#xCB(37uSQ!`C^6CyyX0p)D(rxJcZJdG+hgYyu@5k*^Ojn zW*)foFUm~MC{f5SN=YrkQer!j=;r#83<WetgHwS9D4!8F3n|`|h)|s&memJNFz~{` z0NfztN=Sf(BiMFOF$)nuSO6{#rh}probuct24x8Jh(ZcvbYCD!02~Uyjsa!*`iu;* ztS+#-GIqjpdIlS)6hlf4G4Kons*5oql7e`wheae(ArM6~+ls&;j9ePnWw7=LVcG{) zmm$!@2Q3Yt-bRa&-S8Nx-wp{vfgTTqL<M*XryyX85Oxt`CXu-YR6=YAl?7UCSs7wk zn?W7`mjz54Kukyp(FIZf7R6UW8~~;H^rHOI0#F+hoIMj$QZh?2^YapOz^z6^LE)QP zk_c+-CL|~%=jW9qX6AwNcVdY`PHJLtiGm?mIjAKJZ4)Y`RwU*Y<fPWeXQmV@B_zZs z=qMyA<dx<YR4ODE6(v@J%8!!Df>ecsgkVDh1BeQ66BJZvWTq5@6=b9;Kn*Ge6)qqt z<ProN$;eH<P;@WVrz%jvPf&XVdNk3^$7wt?^6No8MiO*oh-JM3Cq#G|11@5C5)u$G z0Cr7=Ko18@2x^x`1}nIj`3yDy)c%{IF?qM1IH&~}12Hv2phtmF1R_i$LM_<6;9@8@ zLoDkV*k(M%P<lcFEM-tRVbrH8V5AJB5-E*l7DMd~hE!_cxIr$SGFW>AG3*Ab$`I(` zMF|W<z=NYvoE_G*t`}wpwdgYhdL(e=B81)^DcpGtRCqwlLQP&AuuKSZ7z-#*!p-D> zq$@2f4l>k%)L)>SNnECdo66c_400)nc^>QqMs`q=W6RGF%i;$)3S87N@qn0+0`M6z z1z?0UBLjnDUW!6VMo}tK%Lk)ln*{1*LE1if3YmE&3d#AUc_p9%5ajKW{F1~RP|=o@ zS_CSzK%G>0X_ZnB86iOK@#ZBt=Oh+G>tG@bOvy}3OD#&xD^Y+p-=J+NP<dROT7qme zRLCbaFTErK?Be=FB5Xh}W1+@icB#d%2Nx{aV3C#pjT0c^JS&<VJU$f(iYxGl3rAsw zSXL-Iv=irpsL3e_bx5E?oQ3G!<$&yFkDY>+KM|dYJR`WJ5WR@rL>^QI;T3QuEd==k z+@!0|gJn`n(C`q6$pq?PM6-`%L-^qXJ)kU-2gxDD8Dd#kASZ%zNPRlQiHJ@@1X6HQ zHBmx>4-xc}KtUgf8TKOB901WQ&?5kAyTLLHTHsFy`3w^HQy@MQ=y4$`@Cjroggr!> zr%K4c46&>!kSHn15X+hXayX7C35SOWG#4UeW{UGNQjHh}wx_<RI9iFS7J(xVEr&^g z?ZRf2VFFlvhCq)PG_uhggNO=ne%l8MIY^Z6f<?IvQBjVgj6;~;Lz+3Fum&mA!Ju5X z3lhbp8Dd%6Kn?{*F;hB76jCpRf|y`YKGd%JWJfI-Q0KlLZ5THRWi-1cBm>l7hKw%9 zLoL=Ts7y$JjzAYHq~s@;=BDO>ho19N6p|D3K;zM+#i=O@CHbIser{rkLZU)$X--Kd zsHTE9+%xkO5*32$OMQJkLv)k#a|;qnGLv#rA>-Vj@ohbDOo6)AEFfnf1ssH*A(r(X z93`l23(<rGEbaxHl_Ah0h$bgoP>C=Y9OFMg0SSq5i18T$J;~JaE<WEP%3`Q>$(a-f zFFyOg;RkNllxK)#J!GBy(LuQ0Au~<4GQU(8I{Tmtntjks%+t+CNi)@jCIDSf?C55e z=z?Y+bdyqbAz@mQnxdNsnpu*LosuCNJEg}d6Z=dC$Sim=0GWlD$uPp0%18vwT!AL5 zK+|Z+NRuVdDW>?zIl)PcQJ|@l$!~+5In_A8^}PxQcs@!I#6wI{R87tgdBAA`5){ia z0x1DE3D{~f#Ih7QCWB^}=7n}LIdDK{m<-wKATprIsYzjbIfEct0}xtU;0iX+4mV?D zisP7kIii^<on!JxKefqqk<lQL+mXduAb(^ju`)2AO}&+KpiaHTaZIj{N&x8sO^&re zj2Dc~VXT^57d?%03B(19KrT=dm=EG1{MR`-I3|;6C&%P{F&a#}K}r-SC2%lp2eBYN z?E&@SAzTM>7N!jxle1$@(T(W=hvvChUC#R;^To36f^?_}+ye0sw)Ic8igRW9z%jWo zP6R|vkJD!Q3Q`HS^b?2$v2;>~Sk^lT7i8&cj>#V+r6woF2QZ0nPTm}^#U#cF>Uw~j zDg<IdbWP3>%i@D@p}LY1!qD9?Y4V8#7j*acPnJn^;qNR>O3e@l&7n%hPU%sboS&%1 zGbJ$tmO9lYuS!(gd^6F4iK&otvv5iWv!FL814EVvh?v8{z>qbQWAd8xjrFFi3=COD zAmTL(14Gse76u07nN+{5{UEtLAVLnLO&Uaqfe2v`F$F|S1QE_4lN~^WHHfg_WMC-m z;RFp7fd(duLDRiiASd``fvoq-`o+w^;FmG^ZAP*y$PIp3Ap1MA)^jp2bbu}O%K};G zmj$xSFAHRmUlzy`zbudiex(_bwNo^}9?D1s`DS6}hI+6^nqeNvdIVz0f!r<uBEY@? zP2y&)1aTLG2(W)ZQ<Pa?|9~otEU<q-nJcRf<g*G80rnXvL1uw`mIX>Ir9Hf9`S~Sz z`6a3GMX71UQ)(yQ%DTp=F?mDwa;CH3xMi!z5X(Bn3CeJcD<?0^F|jzo3C_VFS7aa( zTSRG6)=5sp<P>zo5#HkK(V2WdTTui)!>t6VJ~9L#5;DjV@RAl>;J-w;;~Cf;@*qDY y_ORxpmZj!Q@n-5_0maXh9`<m@AU{t(_sM&5B&DFP1cd>TE89zxQYXL9u?7IEG$NY- diff --git a/docs/build/.doctrees/tutorials/example1.doctree b/docs/build/.doctrees/tutorials/example1.doctree index 1a595c3c766728690e257293ca26919176ed58bd..9b08316162afd1d30755a3b5b338391c5346d137 100644 GIT binary patch delta 178 zcmX?gRN}-j36=(yseKz+1ST+cPF^uVg)2WVRUtPsue2m}@{I|R+{JoRGT39MWC-+N zlV&X5Y&bEIi%CO%a>uS}F6G3WoY0(Ng=((N|92HJPd>OyW^&0s84$gB^1cUBlk0b} i6QQ<w^1k-T`xx6N?_+A8ypOqk@;;XBllQTjrvL!Vv`lUQ delta 141 zcmX?cOybm036=(ysRA2W1ST+cO<q1hg(oeuEL9;lGq1EHwRrN?36WfSQ!?0Nr(_89 zV3*&lKQWPu>4n_nW4o$1`|r+Uo_uYe{ARxWkEJH>-NlYB(ag8Moo_#5JKuh$cE0`0 P?R@)Lw)5?0wMqd1U5GoH diff --git a/docs/build/index.html b/docs/build/index.html index 0d05ae4e..c4b7b816 100644 --- a/docs/build/index.html +++ b/docs/build/index.html @@ -26,7 +26,7 @@ <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="top" title="MultiviewPlatform 0 documentation" href="#" /> - <link rel="next" title="Supervised MultiModal Integration Tool" href="readme_link.html" /> + <link rel="next" title="Supervised MultiModal Integration Tool’s Readme" href="readme_link.html" /> </head> <body role="document"> <div class="related" role="navigation" aria-label="related navigation"> @@ -39,7 +39,7 @@ <a href="py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > - <a href="readme_link.html" title="Supervised MultiModal Integration Tool" + <a href="readme_link.html" title="Supervised MultiModal Integration Tool’s Readme" accesskey="N">next</a> |</li> <li class="nav-item nav-item-0"><a href="#">MultiviewPlatform 0 documentation</a> »</li> </ul> @@ -62,7 +62,7 @@ All the content labelled WIP is Work In Progress</p> </div> <div class="toctree-wrapper compound"> <ul> -<li class="toctree-l1"><a class="reference internal" href="readme_link.html">Supervised MultiModal Integration Tool</a></li> +<li class="toctree-l1"><a class="reference internal" href="readme_link.html">Supervised MultiModal Integration Tool’s Readme</a></li> <li class="toctree-l1"><a class="reference internal" href="tutorials/index.html">SuMMIT Tutorials</a></li> <li class="toctree-l1"><a class="reference internal" href="references/multiview_platform.html">multiview_platform references</a></li> </ul> @@ -91,7 +91,7 @@ All the content labelled WIP is Work In Progress</p> <h4>Next topic</h4> <p class="topless"><a href="readme_link.html" - title="next chapter">Supervised MultiModal Integration Tool</a></p> + title="next chapter">Supervised MultiModal Integration Tool’s Readme</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> @@ -123,7 +123,7 @@ All the content labelled WIP is Work In Progress</p> <a href="py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > - <a href="readme_link.html" title="Supervised MultiModal Integration Tool" + <a href="readme_link.html" title="Supervised MultiModal Integration Tool’s Readme" >next</a> |</li> <li class="nav-item nav-item-0"><a href="#">MultiviewPlatform 0 documentation</a> »</li> </ul> diff --git a/docs/build/objects.inv b/docs/build/objects.inv index 90b235a3a3f360cf68c847aaacf27492d944f789..420d88ace0de2d628be26eaf464b4a2e4a65b631 100644 GIT binary patch delta 3445 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 delta 3434 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 diff --git a/docs/build/readme_link.html b/docs/build/readme_link.html index 98b0f499..b145d5fc 100644 --- a/docs/build/readme_link.html +++ b/docs/build/readme_link.html @@ -6,7 +6,7 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>Supervised MultiModal Integration Tool — MultiviewPlatform 0 documentation</title> + <title>Supervised MultiModal Integration Tool’s Readme — MultiviewPlatform 0 documentation</title> <link rel="stylesheet" href="_static/classic.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> @@ -56,8 +56,8 @@ <a class="reference external image-reference" href="http://www.gnu.org/licenses/gpl-3.0"><img alt="License: GPL v3" src="https://img.shields.io/badge/License-GPL%20v3-blue.svg" /></a> <a class="reference external image-reference" href="https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/develop/pipeline.svg"><img alt="Build Status" src="https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/develop/pipeline.svg" /></a> -<div class="section" id="supervised-multimodal-integration-tool"> -<h1>Supervised MultiModal Integration Tool<a class="headerlink" href="#supervised-multimodal-integration-tool" title="Permalink to this headline">¶</a></h1> +<div class="section" id="supervised-multimodal-integration-tool-s-readme"> +<h1>Supervised MultiModal Integration Tool’s Readme<a class="headerlink" href="#supervised-multimodal-integration-tool-s-readme" title="Permalink to this headline">¶</a></h1> <p>This project aims to be an easy-to-use solution to run a prior benchmark on a dataset and evaluate mono- & multi-view algorithms capacity to classify it correctly.</p> <div class="section" id="getting-started"> <h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h2> @@ -100,10 +100,11 @@ <span class="n">execute</span><span class="p">(</span><span class="s2">"example 1"</span><span class="p">)</span> </pre></div> </div> -<p>This will run the first example. For more information about the examples, see the <a class="reference external" href="http://baptiste.bauvin.pages.lis-lab.fr/summit/">documentation</a>. +<p>This will run the first example.</p> +<p>For more information about the examples, see the <a class="reference external" href="http://baptiste.bauvin.pages.lis-lab.fr/summit/">documentation</a>. Results will be stored in the results directory of the installation path : -<code class="docutils literal"><span class="pre">path/to/summit/multiview_platform/examples/results</span></code>. -The documentation proposes a detailed interpretation of the results through 6 <a class="reference external" href="http://baptiste.bauvin.pages.lis-lab.fr/summit/">tutorials</a>.</p> +<code class="docutils literal"><span class="pre">path/to/summit/multiview_platform/examples/results</span></code>.</p> +<p>The documentation proposes a detailed interpretation of the results through <a class="reference external" href="http://baptiste.bauvin.pages.lis-lab.fr/summit/">6 tutorials</a>.</p> </div> <div class="section" id="discovering-the-arguments"> <h3>Discovering the arguments<a class="headerlink" href="#discovering-the-arguments" title="Permalink to this headline">¶</a></h3> @@ -119,32 +120,8 @@ to read it carefully before playing around with the parameters.</p> </div> <div class="section" id="dataset-compatibility"> <h3>Dataset compatibility<a class="headerlink" href="#dataset-compatibility" title="Permalink to this headline">¶</a></h3> -<p>In order to start a benchmark on your own dataset, you need to format it so SuMMIT can use it.</p> -<div class="section" id="if-you-already-have-an-hdf5-dataset-file-it-must-be-formatted-as"> -<h4>If you already have an HDF5 dataset file it must be formatted as :<a class="headerlink" href="#if-you-already-have-an-hdf5-dataset-file-it-must-be-formatted-as" title="Permalink to this headline">¶</a></h4> -<ul class="simple"> -<li>One dataset for each view called <code class="docutils literal"><span class="pre">ViewI</span></code> with <code class="docutils literal"><span class="pre">I</span></code> being the view index with 2 attribures :<ul> -<li><code class="docutils literal"><span class="pre">attrs["name"]</span></code> a string for the name of the view</li> -<li><code class="docutils literal"><span class="pre">attrs["sparse"]</span></code> a boolean specifying whether the view is sparse or not (WIP)</li> -</ul> -</li> -<li>One dataset for the labels called <code class="docutils literal"><span class="pre">Labels</span></code> with one attribute :<ul> -<li><code class="docutils literal"><span class="pre">attrs["names"]</span></code> a list of strings encoded in utf-8 naming the labels in the right order</li> -</ul> -</li> -<li>One group for the additional data called <code class="docutils literal"><span class="pre">Metadata</span></code> containing at least 1 dataset :<ul> -<li><code class="docutils literal"><span class="pre">"example_ids"</span></code>, a numpy array of type <code class="docutils literal"><span class="pre">S100</span></code>, with the ids of the examples in the right order</li> -</ul> -</li> -<li>And three attributes :<ul> -<li><code class="docutils literal"><span class="pre">attrs["nbView"]</span></code> an int counting the total number of views in the dataset</li> -<li><code class="docutils literal"><span class="pre">attrs["nbClass"]</span></code> an int counting the total number of different labels in the dataset</li> -<li><code class="docutils literal"><span class="pre">attrs["datasetLength"]</span></code> an int counting the total number of examples in the dataset</li> -</ul> -</li> -</ul> -<p>The <code class="docutils literal"><span class="pre">format_dataset.py</span></code> file is documented and can be used to format a multiview dataset in a SuMMIT-compatible HDF5 file.</p> -</div> +<p>In order to start a benchmark on your own dataset, you need to format it so SuMMIT can use it. To do so, a <a class="reference external" href="https://gitlab.lis-lab.fr/baptiste.bauvin/summit/-/blob/master/format_dataset.py">python script</a> is provided.</p> +<p>For more information, see <a class="reference external" href="http://baptiste.bauvin.pages.lis-lab.fr/summit/tutorials/example4.html">Example 6</a></p> </div> <div class="section" id="running-on-your-dataset"> <h3>Running on your dataset<a class="headerlink" href="#running-on-your-dataset" title="Permalink to this headline">¶</a></h3> @@ -181,16 +158,13 @@ pathf: "path/to/your/dataset" <div class="sphinxsidebarwrapper"> <h3><a href="index.html">Table Of Contents</a></h3> <ul> -<li><a class="reference internal" href="#">Supervised MultiModal Integration Tool</a><ul> +<li><a class="reference internal" href="#">Supervised MultiModal Integration Tool’s Readme</a><ul> <li><a class="reference internal" href="#getting-started">Getting Started</a><ul> <li><a class="reference internal" href="#prerequisites-will-be-automatically-installed">Prerequisites (will be automatically installed)</a></li> <li><a class="reference internal" href="#installing">Installing</a></li> <li><a class="reference internal" href="#running-on-simulated-data">Running on simulated data</a></li> <li><a class="reference internal" href="#discovering-the-arguments">Discovering the arguments</a></li> -<li><a class="reference internal" href="#dataset-compatibility">Dataset compatibility</a><ul> -<li><a class="reference internal" href="#if-you-already-have-an-hdf5-dataset-file-it-must-be-formatted-as">If you already have an HDF5 dataset file it must be formatted as :</a></li> -</ul> -</li> +<li><a class="reference internal" href="#dataset-compatibility">Dataset compatibility</a></li> <li><a class="reference internal" href="#running-on-your-dataset">Running on your dataset</a></li> </ul> </li> diff --git a/docs/build/searchindex.js b/docs/build/searchindex.js index 9e0ec50b..838b0968 100644 --- a/docs/build/searchindex.js +++ b/docs/build/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:50,filenames:["analyzeresult","api","execution","index","modules","readme_link","references/monomulti/exec_classif","references/monomulti/metrics","references/monomulti/multiview_classifiers/classifiers","references/monomulti/multiview_classifiers/diversity_fusion","references/monomulti/utils/execution","references/monomulti/utils/multiclass","references/monomultidoc","references/multiview_platform","references/multiview_platform.mono_multi_view_classifiers","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_late_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_scm_late_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.EarlyFusionPackage","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.LateFusionPackage","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.pseudo_cq_fusion","references/multiview_platform.mono_multi_view_classifiers.utils","references/multiview_platform.tests","references/multiview_platform.tests.test_metrics","references/multiview_platform.tests.test_mono_view","references/multiview_platform.tests.test_monoview_classifiers","references/multiview_platform.tests.test_multiview_classifiers","references/multiview_platform.tests.test_multiview_classifiers.Test_DifficultyMeasure","references/multiview_platform.tests.test_multiview_classifiers.Test_DisagreeFusion","references/multiview_platform.tests.test_multiview_classifiers.Test_DoubleFaultFusion","references/multiview_platform.tests.test_multiview_classifiers.Test_EntropyFusion","references/multiview_platform.tests.test_multiview_classifiers.Test_Fusion","references/multiview_platform.tests.test_multiview_classifiers.Test_PseudoCQMeasure","references/multiview_platform.tests.test_utils","tutorials/example0","tutorials/example1","tutorials/example2","tutorials/example3","tutorials/example4","tutorials/example5","tutorials/hps_theory","tutorials/index","tutorials/installation"],objects:{"":{multiview_platform:[13,0,0,"-"]},"multiview_platform.execute":{execute:[13,1,1,""]},"multiview_platform.mono_multi_view_classifiers":{exec_classif:[14,0,0,"-"],multiview_classifiers:[15,0,0,"-"],result_analysis:[14,0,0,"-"],utils:[27,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.exec_classif":{arange_metrics:[14,1,1,""],benchmark_init:[14,1,1,""],exec_benchmark:[14,1,1,""],exec_classif:[14,1,1,""],exec_one_benchmark_mono_core:[14,1,1,""],extract_dict:[14,1,1,""],gen_single_monoview_arg_dictionary:[14,1,1,""],gen_single_multiview_arg_dictionary:[14,1,1,""],get_path_dict:[14,1,1,""],init_argument_dictionaries:[14,1,1,""],init_benchmark:[14,1,1,""],init_kwargs:[14,1,1,""],init_kwargs_func:[14,1,1,""],init_monoview_exps:[14,1,1,""],init_multiview_exps:[14,1,1,""],is_dict_in:[14,1,1,""],set_element:[14,1,1,""]},"multiview_platform.mono_multi_view_classifiers.metrics":{framework:[7,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.metrics.framework":{get_config:[7,1,1,""],get_scorer:[7,1,1,""],score:[7,1,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers":{difficulty_fusion:[16,0,0,"-"],disagree_fusion:[17,0,0,"-"],double_fault_fusion:[18,0,0,"-"],entropy_fusion:[19,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion":{DifficultyFusion:[16,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion.DifficultyFusion":{diversity_measure:[16,3,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion":{DisagreeFusion:[17,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion.DisagreeFusion":{diversity_measure:[17,3,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion":{DoubleFaultFusion:[18,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion.DoubleFaultFusion":{diversity_measure:[18,3,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion":{EntropyFusion:[19,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion.EntropyFusion":{diversity_measure:[19,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils":{configuration:[27,0,0,"-"],dataset:[27,0,0,"-"],execution:[27,0,0,"-"],get_multiview_db:[27,0,0,"-"],hyper_parameter_search:[27,0,0,"-"],make_file_config:[27,0,0,"-"],multiclass:[27,0,0,"-"],multiview_result_analysis:[27,0,0,"-"],transformations:[27,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.utils.configuration":{get_the_args:[27,1,1,""],pass_default_config:[27,1,1,""],save_config:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset":{Dataset:[27,2,1,""],HDF5Dataset:[27,2,1,""],RAMDataset:[27,2,1,""],confirm:[27,1,1,""],copy_hdf5:[27,1,1,""],datasets_already_exist:[27,1,1,""],delete_HDF5:[27,1,1,""],extract_subset:[27,1,1,""],get_examples_views_indices:[27,1,1,""],init_multiple_datasets:[27,1,1,""],input_:[27,1,1,""],is_just_number:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset.Dataset":{check_selected_label_names:[27,3,1,""],filter:[27,3,1,""],get_label_names:[27,3,1,""],get_labels:[27,3,1,""],get_nb_examples:[27,3,1,""],get_shape:[27,3,1,""],get_v:[27,3,1,""],init_example_indces:[27,3,1,""],select_labels:[27,3,1,""],select_views_and_labels:[27,3,1,""],to_numpy_array:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset.HDF5Dataset":{add_gaussian_noise:[27,3,1,""],copy_view:[27,3,1,""],dataset:[27,4,1,""],filter:[27,3,1,""],get_label_names:[27,3,1,""],get_labels:[27,3,1,""],get_name:[27,3,1,""],get_nb_class:[27,3,1,""],get_nb_examples:[27,3,1,""],get_v:[27,3,1,""],get_view_dict:[27,3,1,""],get_view_name:[27,3,1,""],init_attrs:[27,3,1,""],init_view_names:[27,3,1,""],nb_view:[27,4,1,""],rm:[27,3,1,""],update_hdf5_dataset:[27,3,1,""],view_dict:[27,4,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset.RAMDataset":{filter:[27,3,1,""],get_label_names:[27,3,1,""],get_labels:[27,3,1,""],get_name:[27,3,1,""],get_nb_class:[27,3,1,""],get_nb_examples:[27,3,1,""],get_v:[27,3,1,""],get_view_dict:[27,3,1,""],get_view_name:[27,3,1,""],init_attrs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.execution":{find_dataset_names:[27,1,1,""],gen_argument_dictionaries:[27,1,1,""],gen_direcorties_names:[27,1,1,""],gen_k_folds:[27,1,1,""],gen_splits:[27,1,1,""],get_database_function:[27,1,1,""],init_log_file:[27,1,1,""],init_random_state:[27,1,1,""],init_stats_iter_random_states:[27,1,1,""],init_views:[27,1,1,""],parse_the_args:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.get_multiview_db":{DatasetError:[27,5,1,""],get_classic_db_csv:[27,1,1,""],get_classic_db_hdf5:[27,1,1,""],get_plausible_db_hdf5:[27,1,1,""],make_me_noisy:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search":{CustomRandint:[27,2,1,""],CustomUniform:[27,2,1,""],Grid:[27,2,1,""],HPSearch:[27,2,1,""],Random:[27,2,1,""],format_params:[27,1,1,""],gen_heat_maps:[27,1,1,""],spear_mint:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.CustomRandint":{get_nb_possibilities:[27,3,1,""],rvs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.CustomUniform":{rvs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.Grid":{fit:[27,3,1,""],get_candidate_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.HPSearch":{fit_multiview:[27,3,1,""],gen_report:[27,3,1,""],get_best_params:[27,3,1,""],get_candidate_params:[27,3,1,""],get_scoring:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.Random":{fit:[27,3,1,""],get_candidate_params:[27,3,1,""],get_param_distribs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.make_file_config":{ConfigurationMaker:[27,2,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass":{MonoviewWrapper:[27,2,1,""],MultiClassWrapper:[27,2,1,""],MultiviewOVOWrapper:[27,2,1,""],MultiviewOVRWrapper:[27,2,1,""],MultiviewWrapper:[27,2,1,""],OVOWrapper:[27,2,1,""],OVRWrapper:[27,2,1,""],get_mc_estim:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.MultiClassWrapper":{format_params:[27,3,1,""],get_config:[27,3,1,""],get_interpretation:[27,3,1,""],set_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.MultiviewOVOWrapper":{fit:[27,3,1,""],get_params:[27,3,1,""],multiview_decision_function:[27,3,1,""],predict:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.MultiviewOVRWrapper":{fit:[27,3,1,""],get_params:[27,3,1,""],predict:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.OVOWrapper":{decision_function:[27,3,1,""],get_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.OVRWrapper":{get_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiview_result_analysis":{get_metrics_scores:[27,1,1,""],get_total_metric_scores:[27,1,1,""],print_metric_score:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.transformations":{sign_labels:[27,1,1,""],unsign_labels:[27,1,1,""]},"multiview_platform.tests":{test_metrics:[29,0,0,"-"],test_mono_view:[30,0,0,"-"],test_monoview_classifiers:[31,0,0,"-"],test_multiview_classifiers:[32,0,0,"-"],test_utils:[39,0,0,"-"]},"multiview_platform.tests.test_metrics":{test_accuracy_score:[29,0,0,"-"]},"multiview_platform.tests.test_metrics.test_accuracy_score":{Test_accuracy_score:[29,2,1,""]},"multiview_platform.tests.test_metrics.test_accuracy_score.Test_accuracy_score":{score_test:[29,3,1,""],setUpClass:[29,3,1,""]},"multiview_platform.tests.test_mono_view":{test_ExecClassifMonoView:[30,0,0,"-"],test_MonoviewUtils:[30,0,0,"-"]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView":{Test_getHPs:[30,2,1,""],Test_initConstants:[30,2,1,""],Test_initTrainTest:[30,2,1,""]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView.Test_getHPs":{setUpClass:[30,6,1,""],tearDownClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView.Test_initConstants":{setUpClass:[30,6,1,""],tearDownClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView.Test_initTrainTest":{setUpClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_mono_view.test_MonoviewUtils":{Test_genTestFoldsPreds:[30,2,1,""]},"multiview_platform.tests.test_mono_view.test_MonoviewUtils.Test_genTestFoldsPreds":{setUpClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_monoview_classifiers":{test_adaboost:[31,0,0,"-"],test_compatibility:[31,0,0,"-"]},"multiview_platform.tests.test_multiview_classifiers":{Test_PseudoCQMeasure:[38,0,0,"-"],test_diversity_utils:[32,0,0,"-"]},"multiview_platform.tests.test_multiview_classifiers.Test_PseudoCQMeasure":{test_PseudoCQFusionModule:[38,0,0,"-"]},"multiview_platform.tests.test_utils":{test_GetMultiviewDB:[39,0,0,"-"],test_configuration:[39,0,0,"-"],test_execution:[39,0,0,"-"],test_multiclass:[39,0,0,"-"]},"multiview_platform.tests.test_utils.test_GetMultiviewDB":{Test_get_classic_db_csv:[39,2,1,""],Test_get_classic_db_hdf5:[39,2,1,""],Test_get_plausible_db_hdf5:[39,2,1,""]},"multiview_platform.tests.test_utils.test_GetMultiviewDB.Test_get_classic_db_csv":{setUp:[39,3,1,""],tearDown:[39,6,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_GetMultiviewDB.Test_get_classic_db_hdf5":{setUp:[39,3,1,""],tearDown:[39,3,1,""],test_all_views_asked:[39,3,1,""],test_asked_the_whole_dataset:[39,3,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_GetMultiviewDB.Test_get_plausible_db_hdf5":{setUpClass:[39,6,1,""],tearDownClass:[39,6,1,""],test_simple:[39,3,1,""],test_two_class:[39,3,1,""]},"multiview_platform.tests.test_utils.test_configuration":{Test_get_the_args:[39,2,1,""]},"multiview_platform.tests.test_utils.test_configuration.Test_get_the_args":{setUpClass:[39,6,1,""],tearDownClass:[39,6,1,""],test_arguments:[39,3,1,""],test_dict_format:[39,3,1,""],test_file_loading:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution":{FakeArg:[39,2,1,""],Test_genArgumentDictionaries:[39,2,1,""],Test_genDirecortiesNames:[39,2,1,""],Test_genKFolds:[39,2,1,""],Test_genSplits:[39,2,1,""],Test_getDatabaseFunction:[39,2,1,""],Test_initRandomState:[39,2,1,""],Test_initStatsIterRandomStates:[39,2,1,""],Test_parseTheArgs:[39,2,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genArgumentDictionaries":{setUpClass:[39,6,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genDirecortiesNames":{setUpClass:[39,6,1,""],test_ovo_no_iter:[39,3,1,""],test_simple_ovo:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genKFolds":{setUp:[39,3,1,""],test_genKFolds_iter:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genSplits":{setUp:[39,3,1,""],test_genSplits_no_iter:[39,3,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_getDatabaseFunction":{setUpClass:[39,6,1,""],test_hdf5:[39,3,1,""],test_plausible_hdf5:[39,3,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_initRandomState":{setUp:[39,3,1,""],tearDown:[39,3,1,""],test_random_state_42:[39,3,1,""],test_random_state_pickle:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_initStatsIterRandomStates":{setUpClass:[39,6,1,""],test_multiple_iter:[39,3,1,""],test_one_statiter:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_parseTheArgs":{setUp:[39,3,1,""],test_empty_args:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass":{FakeDset:[39,2,1,""],FakeEstimNative:[39,2,1,""],FakeMCEstim:[39,2,1,""],FakeMVClassifier:[39,2,1,""],FakeMVClassifierProb:[39,2,1,""],FakeNonProbaEstim:[39,2,1,""],FakeProbaEstim:[39,2,1,""],Test_MultiviewOVOWrapper_fit:[39,2,1,""],Test_MultiviewOVRWrapper_fit:[39,2,1,""],Test_get_mc_estim:[39,2,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeDset":{get_nb_examples:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeEstimNative":{accepts_multi_class:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeMCEstim":{accepts_multi_class:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeMVClassifier":{fit:[39,3,1,""],predict:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeMVClassifierProb":{predict_proba:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeProbaEstim":{predict_proba:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.Test_MultiviewOVOWrapper_fit":{setUpClass:[39,6,1,""],test_fit:[39,3,1,""],test_predict:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.Test_MultiviewOVRWrapper_fit":{setUpClass:[39,6,1,""],test_fit:[39,3,1,""],test_predict:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.Test_get_mc_estim":{setUpClass:[39,6,1,""],test_biclass:[39,3,1,""],test_multiclass_native:[39,3,1,""],test_multiclass_ovo:[39,3,1,""],test_multiclass_ovo_multiview:[39,3,1,""],test_multiclass_ovr:[39,3,1,""],test_multiclass_ovr_multiview:[39,3,1,""]},"multiview_platform.versions":{test_versions:[13,1,1,""]},multiview_platform:{execute:[13,0,0,"-"],mono_multi_view_classifiers:[14,0,0,"-"],tests:[28,0,0,"-"],versions:[13,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","exception","Python exception"],"6":["py","classmethod","Python class method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute","5":"py:exception","6":"py:classmethod"},terms:{"11_46":41,"11_46_example_1":[],"14_12":43,"14_12_18__":[],"200x100":44,"200x40":44,"200x55":44,"2020_03_30":41,"2020_04_02":43,"25th":41,"2d_plot_data":[41,43],"boolean":[5,7,27,45],"case":[3,27,29,30,39,45],"class":[7,16,17,18,19,27,29,30,39,41,43,44,45,46],"default":[7,42],"final":41,"float":[7,27,45,46],"function":[6,7,14,27,41,45],"import":[5,27,40,41,42,43,44,45],"int":[5,6,14,27],"long":[44,46],"new":[27,43,45],"return":[6,7,14,27,40,43,45],"short":3,"super":45,"true":[6,14,27,41,42,45,46],"try":[5,42,44,46],"while":[27,42,43,44,46],__init__:45,_gen:27,_search:27,abl:[5,27,40,42,44,45],about:[5,45],absolut:5,accepts_multi_class:39,access:45,accord:[27,42],accuraci:[40,41,42,46],accuracy_scor:27,adaboost:[6,14,42,43],add:[3,6,7,14,27,42,44,45],add_gaussian_nois:27,add_nois:27,addit:[],advantag:3,after:[41,43],aggreg:40,agrument:27,aim:5,aks:27,alexi:5,algo:45,algo_modul:45,algoclassifi:45,algorithm:[6,27],algos_monoview:[27,41,42],algos_multiview:[27,41,42],all:[6,27],all_view:27,allow:[3,27,41,42,44,45,46],along:27,also:[27,41,42,43,44],among:41,amongst:41,amount:42,analyz:[6,14,41,42,44,46],analyze_iter:[6,14],analyze_result:[],ani:[6,14,40,46],anim:44,animal:44,anoth:40,answer:27,appear:43,append:45,approxim:42,arange_metr:[6,14],are_spars:27,arg:[6,14,27],arg_view:27,argmax:27,argument_dictionari:[6,14,27],around:5,arrai:[6,7,27,44],arrang:[6,14],artifact:44,ask:[6,14,27,40,45],asked:27,asked_labels_nam:27,askedlabelsnam:27,assess:40,astyp:44,atm:44,attr:[5,44],attribur:5,attribut:[5,27,44,45],avail:[5,27,40,41,42,44,45],averag:41,avoid:[42,45],axi:[27,40],balanc:41,baptist:[5,13],bar:[40,41,43],bar_plot_data:[41,43],base:[16,17,18,19,27,29,30,39,42],base_estim:[6,14,42],base_file_nam:[27,45],baseestim:39,basemonoviewclassifi:45,basemultiviewclassifi:45,basic:[40,41],bauvin:5,bayesianinfer:[],bear:44,bear_112:44,becaus:[27,41],becom:42,been:[3,41,44],befor:[5,27,45],begin:41,behavior:40,below:[41,42],benchmark:[5,6,14,27,40,41,42,43,44],benchmark_arguments_dictionari:[6,14],benchmark_init:[6,14],benchmarkargumentdictionari:27,benchmarkargumentsdictionari:27,benielli:5,best:[27,40,41,42,43,45,46],better:[7,41,42,43],between:[27,42,43,44,45,46],biclass:[6,14,27],big:27,bigger:42,bird:44,bird_785:44,bit:45,black:[40,41],bool:27,both:[40,42],bracket:42,brows:[27,45],build:[],bypass:46,call:[5,41,45],callabl:7,can:[5,6,14,27,40,41,42,43,44,45,46],capac:[5,46],car:44,car_369:44,carefulli:5,center:27,chang:27,check:[6,14,27],check_selected_label_nam:27,choic:[],choos:42,chose:44,cl_type:[6,14,27],clariti:44,classier:27,classifi:6,classification_indic:[6,14],classifier_class_nam:45,classifier_config:[6,14,16,17,18,19,42],classifier_dict:27,classifier_nam:[6,14,16,17,18,19,27,42],classifiers_decis:[16,19],classifiers_nam:[6,14,42],classmethod:[30,39],clean:27,clear:41,clf_error:43,clone:5,close:43,closer:42,code:[2,3,13,42,43,45],color:40,column:[40,41],combin:[16,19,27,42],command:[5,48],comment:41,commentari:44,commun:45,compar:[40,45],compens:[42,46],complementar:41,complementari:41,complementary_:41,complex:27,compos:45,comput:[5,27,42,43,46],conain:27,concat_view:27,concaten:[27,40],concern:40,config:[5,6,14,27,40,41,42,43,44,46],config_example_1:13,config_fil:27,config_path:[5,6,13,14],configstr:7,configur:7,configurationmak:27,confirm:27,confus:[5,41],confusion_matrix:[41,43],consensu:45,consequ:[41,42],consist:[3,40,41,44,46],consol:27,constantli:3,consum:42,contain:[5,27,40,41,44,45],content:[],control:[],convert:[27,44],copi:[27,41],copy_hdf5:27,copy_view:27,core:[3,6,14,41],correct:45,correctli:[5,44],correspond:[27,44,45],costli:43,could:[40,41,45],count:[5,41],counterpart:40,coupl:[6,14,27],couplediversityfusionclassifi:[17,18],cover:42,creat:[5,6,14,27,44,45],create_dataset:44,create_group:44,criterion:[41,42],crop:27,cross:[6,27],csv:27,current:43,customrandint:[27,45],customuniform:[27,45],data_file_path:44,databas:[27,41],dataset:[],dataset_var:[6,14,27,45],dataseterror:27,datasetfil:27,datasetlength:[5,44],datasets_already_exist:27,date:41,deal:27,debug:27,debug_started_2020_04_02:[],decemb:41,decis:[27,40,41,42,45,46],decision_funct:27,decision_tre:[41,42,43,46],decisiontre:41,decisiontreeclassifi:42,decod:27,decreas:42,decrypt:[7,41],deep:[27,46],deeper:46,def:45,defin:[44,45],delet:[6,14,27],delete_hdf5:[6,14,27],delimit:[27,44],demand:42,depend:[],depth:[42,46],describ:[3,7,41,44],descript:27,descriptor:45,design:3,detail:5,detect:[40,41],develop:[40,44,48],deviat:43,dict:[6,7,14,27],dictionari:[6,7,14,27],dictionnari:27,did:42,differ:[3,5,6,14,27,41,42,43,44,46],difficult:41,difficulty_fus:[],difficultyfus:16,digit_col_grad_0:40,dimension:42,direct:40,directli:27,directori:[5,6,14,27,40,41,43,45,48],disagree_fus:[],disagreefus:17,discov:[],disk:27,dispach:[6,14],displai:41,distinguish:43,distrib:45,distribs:45,distribut:[27,45,46],diversity_measur:[16,17,18,19],diversity_util:[16,17,18,19],divid:46,doc:45,doc_summit:[41,42,43],docstr:13,document:[],docutil:5,doe:27,doe_562:44,dominiqu:5,done:[6,14,27,43],dot:27,double_fault_fus:[],doublefaultfus:18,doublet:27,download:48,drag:40,draw:[40,42,43,46],drive:5,dtype:44,durat:[],durations_datafram:[41,43],durations_stds_datafram:43,dure:[40,41,42,46],each:[5,6,14,27,40,41,42,43,44,45,46],earli:[40,41],earlier:[42,45],earlyfus:[],earlyfusionpackag:[],easi:[3,5],easili:44,edg:45,effici:[5,43,46],either:[27,40,41,42],els:27,empti:41,enabl:46,encapsul:[27,41],encod:[5,44],end:[27,46],enter:27,entropi:42,entropy_fus:[],entropyfus:19,enumer:44,environ:48,equal:46,equivalent_draw:[27,42,46],error:[40,41,43],estim:[3,27,42,46],estimat:27,estimator__param:27,etc:7,evalu:[5,6,14,27,41,46],even:[27,41,42,43],exact:42,exampl:[6,27],example_1:41,example_2_1:42,example_2_1_1:42,example_:41,example_error:43,example_id:[5,27,44],example_ids_path:44,example_indic:[27,39,45],examples_indic:27,except:27,exception:27,exec_benchmark:[6,14],exec_classif:6,exec_one_benchmark_mono_cor:[6,14],exect:[],execut:[],exeperi:[6,14],exist:27,experi:6,experiment:27,explain:[7,40,41,45,47],explor:43,extern:44,extract:[27,42],extract_dict:[6,14],extract_subset:27,extrat:27,f1_score:[27,41,43],fact:[42,46],fail:[40,41,43],failur:41,fair:46,fairest:46,fake:27,fakearg:39,fakedset:39,fakeestimn:39,fakemcestim:39,fakemvclassifi:39,fakemvclassifierprob:39,fakenonprobaestim:39,fakeprobaestim:39,fals:[7,14,27,42,44,45],familiar:42,famou:40,far:[41,42],fashion:45,faster:46,fat_late_fus:[],fat_scm_late_fus:[],featru:41,featur:[3,27,40,41,43,44,45],feature_import:[41,43],feature_importance_datafram:[],feature_importances_datafram:[41,43],feature_importances_dataframe_std:43,fie:42,figur:[40,41,42,43,45],figure_nam:45,file_nam:27,file_path:44,file_typ:27,fill:44,filter:27,find:[27,41,44],find_dataset_nam:27,first:[6,27],first_classifier_decis:[17,18],fit:[27,39,42,44,45,46],fit_multiview:27,fit_param:27,five:[41,42],fix:[27,41,44],flag:14,focu:42,fold:[6,27],folds_list:27,follow:[5,7,40,41,42,44,45,47,48],format_dataset:5,format_param:27,four:45,framework:6,from:[5,7,27,40,41,42,43,44,45,46],full:[5,6,14,27,41,45],full_pr:[41,43],fulli:44,further:5,futur:42,gap:44,gen_argument_dictionari:27,gen_direcorties_nam:27,gen_heat_map:27,gen_k_fold:27,gen_report:27,gen_single_monoview_arg_dictionari:14,gen_single_multiview_arg_dictionari:14,gen_split:27,gener:[6,27],generated_view_1:[41,43],generated_view_1feature_import:[41,43],generated_view_2:[41,43],generated_view_2feature_import:[41,43],generated_view_3:[41,43],generated_view_3feature_import:[41,43],generated_view_4:[41,43],generated_view_4feature_import:[41,43],genfromtxt:44,get:[],get_best_param:27,get_candidate_param:27,get_classic_db_csv:27,get_classic_db_hdf5:27,get_config:[7,27],get_database_funct:27,get_examples_views_indic:[27,45],get_interpret:[27,45],get_label:27,get_label_nam:27,get_mc_estim:27,get_metrics_scor:27,get_multiview_db:[],get_nam:27,get_nb_class:27,get_nb_exampl:[27,39],get_nb_poss:27,get_param:27,get_param_distrib:27,get_path_dict:[6,14],get_plausible_db_hdf5:27,get_scor:[7,27],get_shap:27,get_the_arg:27,get_total_metric_scor:27,get_v:27,get_view_dict:27,get_view_nam:27,getdatabas:27,gini:[41,42],gitlab:5,gitwork:13,give:42,given:[5,6,14,27,40,42,46],globaldiversityfusionclassifi:[16,19],goal:[27,44,45],good:46,gradiant:40,grai:[40,41,43],grant:42,graph:41,great:[42,43],greater:7,grid:27,gridsearchcv:27,ground:7,group:[5,27,44],guaussian:27,guidelin:45,h5py:[5,27,44],hard:[5,41],harder:41,hardwar:42,hdd:27,hdf5_file:[27,44],hdf5dataset:27,heat:27,help:42,here:[40,41,42,43,44,45],hide:[27,42],high:[27,42],higher:[41,42],highli:[5,41,42],home:13,homme:5,horizont:41,hover:41,how:7,howev:[40,42,43,46],hpo:42,hps_arg:[42,46],hps_iter:27,hps_kwarg:[6,14,27],hps_method:[6,14],hps_report:42,hps_type:[27,42,46],hpsearch:27,hte:27,html:[],huge:46,human:44,hyper:[6,27],hyper_param_search:[14,27],hyper_parameter_search:[],hyperparm:27,idea:46,ideal:42,imag:[40,41,44],implement:[27,42,45],improv:[42,43],includ:45,incorrectli:41,increas:[42,43],inde:43,indeed:[41,43,45],independ:42,index:[3,5,6,14,27,41,44],indic:[6,14,27,45],indices_multiclass:27,individu:43,inform:27,inherit:[10,11,45],init:[6,14,27],init_argument_dictionari:14,init_attr:27,init_benchmark:[6,14],init_example_indc:27,init_kwarg:[6,14],init_kwargs_func:[6,14],init_log_fil:27,init_monoview_exp:[6,14],init_multiple_dataset:27,init_multiview_exp:14,init_random_st:27,init_stats_iter_random_st:27,init_view:27,init_view_nam:27,initi:[6,14,27,44,45],initial:[6,14],input:[6,14,43,44,45],input_:27,insid:42,instal:[],instead:27,instruct:[3,42],integ:[6,7,14,27,44,45],integr:45,interact:[5,40,41],interest:40,interpret:[],interpret_str:45,interpretstr:45,introduc:[27,41],invers:27,investig:40,involv:46,is_dict_in:[6,14],is_just_numb:27,is_temp:27,issu:[27,43],ist:[6,14],iter:[6,27],iter_1:43,iter_2:43,iter_3:43,iter_4:43,iter_5:43,iter_:43,itself:[6,14],joblib:5,john_115:44,join:45,just:[5,6,14,42,44,45],k_fold:[6,14,27],keep:[27,43,44,46],kei:[6,7,14,27,44],key1:[6,14],key1_1:[6,14],key2:[6,14],keyword:[6,14],kfold:27,know:[40,42,46],knowledg:[45,46],kwarg:[6,7,14,27],kwargs:[6,14],kwargs_init:[6,14],l18:41,l22:41,l26:41,l35:41,l43:41,l45:[41,42],l47:[41,42],l49:42,l52:41,l54:42,label:[3,5,6,7,14,27,40,41,44,45],label_1:41,label_2:41,label_3:41,label_4:41,label_5:41,label_6:41,label_7:41,label_8:41,label_nam:[27,44],labels_combin:27,labels_data:44,labels_dataset:44,labels_dictionari:[6,14,27],labels_dset:44,labels_file_path:44,labels_nam:[27,44],larger:43,lassifi:40,last:46,late:[40,41,42],latefus:[],latefusionpackag:[],later:[27,41],learn:[],learning_indic:27,least:[5,41],left:41,len:44,less:41,let:[41,42,43,44,45,46],letter:27,level:27,light:[40,41],like:[7,27,42,43,46],limit:27,line:[41,42,43,44,46],list:[6,27,44],list_x:45,listof:[6,14],load:[27,44,45],loadabl:41,loc:27,locat:[6,14],log:27,logfil:27,longer:[27,42],look:[42,43],lot:[41,42],low:27,lucki:43,m2r:5,made:[27,40,42,46],mai:[40,41],main:[6,27],mainli:41,major:[40,41,42],majority_voting_fus:42,majorityvot:[],make:44,make_file_config:[],make_me_noisi:27,make_scor:7,mandatori:[7,44,45],mani:[40,42],manipul:[],map:[6,14,27],matplotlib:5,matric:44,matrix:[5,27,40,41],matter:42,max:46,max_depth:[41,42,45,46],max_length:44,maximum:42,mayb:27,mean:[41,42,43,46],mean_on_5_it:43,meaning:43,member:[10,11],memori:[27,45],metadata:[5,44],metadata_group:44,method:[],methodnam:[29,30,39],metric:6,metric_modul:29,metric_princ:[6,14,27,42,46],metric_scor:27,metrics_var:27,micro:41,min:42,mind:[42,46],minimum:44,minut:[27,41],miss:44,missclassifi:41,mixli:41,mod:42,model:46,model_select:[6,14,27],modif:42,modifi:[3,5,27,43,44,45],moment:[42,44],mono:6,mono_multi_view_classifi:[],monoview:[6,27],monoview_algo:[6,14],monoview_classifi:45,monoview_estim:[16,17,18,19],monoview_util:45,monoviewwrapp:27,more:27,moreov:[42,45],most:[27,41,42,44,46],mous:40,mt19937:41,mtrand:27,much:[27,42],multi:[3,5,27,41,42],multi_class_label:[6,14],multiclass:[6,7],multiclass_label:27,multiclasswrapp:27,multicor:[6,14,27],multipl:[5,27,43],multipli:27,multivew:42,multiview_algo:[6,14],multiview_classifi:[],multiview_classifier_arg:[6,14],multiview_decision_funct:27,multiview_platform:[],multiview_result_analysi:[],multiview_util:45,multiviewovowrapp:27,multiviewovrwrapp:27,multiviewwrapp:27,musch:46,mutli:[6,14],mutlipli:27,mutual:41,mutual_error_:41,n_estim:[6,14,42],n_exampl:39,n_featur:27,n_iter:[27,42,46],n_job:27,n_sampl:[7,27],n_view:42,naiv:[41,42],name:[5,6,14,27,41,42,44,45],name_db:27,name_m:45,namedb:27,nativ:27,nb_class:[6,14,27],nb_core:[6,14,27],nb_exampl:27,nb_featur:27,nb_fold:[27,42,46],nb_label:[6,14,27],nb_view:27,nbclass:[5,44],nbcore:27,nbview:[5,44],ndarrai:[6,14,27],nearli:43,necess:[],necessari:27,need:[5,6,7,14,27,42,45,48],needed_input:45,new_mv_algo:45,new_mv_algo_modul:45,newmvalgo:45,newmvalgoclassifi:45,nice:27,nois:27,noise_std:27,noisi:27,none:[6,14,16,17,18,19,27,39,42,45,46],norm_typ:45,notic:42,now:[42,43,44,45],number:[5,6,14,27,41,42,43,44,45,46],numer:44,numpi:[5,6,14,27,41,44],object:[6,7,27,39,44],obtain:42,off:42,onc:45,once:[5,40],one:[5,27,40,45,46],onevsoneclassifi:27,onevsrestclassifi:27,onli:[27,40,42,44,45],ony:27,optim:[6,27],option:27,order:[5,6,7,14,27,41,42,43,44,45,46],organ:41,origin:27,other:[40,45],our:[42,45],outcom:27,outlier:[40,41],output:[41,42,43],output_file_nam:27,ov_wrapper:27,over:[27,42,43],overfit:[42,46],ovowrapper:27,ovrwrapper:27,own:[],packag:[6,7],page:[3,41,42],pair:27,panda:[5,41],parallel:[27,43],param:27,param_1:45,param_2:45,param_distribut:27,param_grid:27,param_nam:45,paramet:[6,7,27],parametr:41,pars:[6,14,27,41],parse_the_arg:27,parsedargumentpars:[6,14],part:[41,42,45,46],partial:44,particular:41,pass:[6,14,27,46],pass_default_config:27,past:42,path:[5,6,14,27,44,45],path_f:27,path_for_new:27,path_to_config_fil:27,pathf:[5,27,44],pbject:27,peopl:44,per:[27,42],percentag:27,perdict_proba:27,perform:[3,6,14,27,41,42,43,46],perfrom:40,person:42,pickl:27,pip:[5,48],plaf:[],plai:5,plane:44,plane_452:44,plausibl:[27,41],plif:[],plot:[5,40,41,43],plotli:5,png:[],point:27,poor:43,possibl:[27,40,41,42,45,46],potenti:40,precis:41,pred:27,predict:[7,27,39,45,46],predict_proba:39,pref:27,prefix:45,present:41,previou:[27,41,42,43,44],princip:[6,14,41],print:[41,43],print_metric_scor:27,prior:[5,46],prioriti:42,probabl:45,problem:[27,41,42,46],procedur:3,process:[6,14,27,42,45,46],prod:5,profit:42,progress:[3,43,44],project:[5,40],propos:[5,46],provid:[27,41,42,44,45,46],pseudo:[42,43],pseudo_cq_fus:[],publish:41,purpos:[6,14],python3:48,python:[5,42,44,45,48],pyyaml:5,quantiti:41,quick:40,quit:46,ram:[5,27],ramdataset:27,randint:27,random:27,random_s:45,random_st:[27,39],random_state_arg:27,randomisedsearchcv:42,randomizedsearchcv:27,randomli:[41,46],randomsatearg:27,randomsearch:27,randomst:[27,41],rang:27,rate:41,ratio:[27,41,42,46],ration:42,read:[3,5],readi:44,readm:[],recod:44,recommend:[5,41,48],rectangl:40,reduc:[42,45],redund:41,redundant_:41,ref:45,refer:[],refit:27,regard:45,regroup:[40,41],rel:44,relat:[41,45],relev:[27,42,45,46],remot:42,remov:[3,27],repeat:46,report:27,repositori:5,repres:[40,42,44],represent:41,reproduc:45,reproduct:[41,46],requir:[44,45,46,48],res_dir:[27,41],resourc:43,resp:27,rest:27,rest_of_the_arg:[6,14],restrain:45,result_analysi:[],result_directori:27,results_directori:27,resum:[6,14,27],retriev:27,revers:[6,14],right:[5,6,14,27,41,44],robust:46,row:[40,41],runtest:[29,30,39],s100:[5,44],sai:[41,45],same:[27,40,41,42,44,45],sampl:[27,40],satisfi:44,sattist:27,save:[6,14,27,40,41,43,44,45],save_config:27,scalar:7,scale:27,scikit:45,scipi:5,scmforlinear:[],score:[7,27],score_test:29,scorer:7,scores_arrai:27,script:44,search:[],second:[41,42],second_classifier_decis:[17,18],section:41,see:[5,27,40,41,42,45],seed:[27,41],seem:41,seen:[42,43],select:[27,46],select_label:27,select_views_and_label:27,selected_label_nam:27,self:[27,45],separ:27,serv:46,set:[6,14,27,40,41,42,43,44,45,46],set_el:[6,14],set_param:27,settl:43,setup:39,setupclass:[29,30,39],sever:[3,40,42,43,46],shade:43,shape:[7,27,41,44],share:27,short_nam:39,shorter:46,should:[41,42,44,45],show:[27,40,41,43],sign_label:27,signal:27,similar:[40,41,45],similarli:[40,42,43,45],simplest:[41,46],singl:[43,44],six:5,sklearn:[5,6,7,14,27,39,42,45,46],slice:27,slightli:43,small:42,smaller:42,solut:[5,27],solv:[42,46],some:[5,27,40,41,42,43,45,47],soon:41,sore:44,sort:44,sotr:45,sound:44,sourc:3,source_view_nam:27,space:[27,41,42],spare:5,spars:[5,27,44],spear_mint:27,spearmint:27,specif:[5,6,14,27,42,43],specifi:[5,6,7,14,27,41,42,46],spectacularli:41,spike:41,split:[6,27],split_ratio:27,splitter:[41,42],standard:43,star:41,start:[],started_1560_12_25:[41,43],started_2020_03_30:[],startl:41,state:[27,41,45],statist:[6,27],stats_it:[6,14,27,43],stats_iter_random_st:27,statsiter:27,std:[27,43],stop:27,store:[5,6,7,14,27,41,42,43,44,45],str:[6,14,27],straight:43,stratifi:27,stratifiedkfold:27,stratifiedshufflesplit:46,string:[5,6,7,14,27,44,45],strongli:46,structur:[],stuff:13,sub:46,subset:[27,42,46],succeed:43,succeerecd:40,success:41,sum:48,summari:[41,43,45],summit:[0,6,7,8,11,27,29,30,31,38,39],summit_doc:41,supplementari:45,support:[27,44],suppos:[44,45,46],sure:44,svm_jumbo_fus:27,svmforlinear:[],symmetr:41,tabul:5,take:[],target:[7,27,45],target_dataset:27,target_view_index:27,task:[],teardown:39,teardownclass:[30,39],tell:27,temporari:27,term:[27,41,42,43],termin:[41,48],test:6,test_accuracy_scor:[],test_adaboost:[],test_all_views_ask:39,test_argu:39,test_asked_the_whole_dataset:39,test_biclass:39,test_compat:[],test_configur:[],test_dict_format:39,test_difficultymeasur:[],test_difficultymeasuremodul:[],test_disagreefus:[],test_disagreefusionmodul:[],test_diversity_util:[],test_doublefaultfus:[],test_doublefaultfusionmodul:[],test_empty_arg:39,test_entropyfus:[],test_entropyfusionmodul:[],test_execclassif:[],test_execclassifmonoview:[],test_execut:[],test_file_load:39,test_fit:39,test_fus:[],test_fusionmodul:[],test_genargumentdictionari:39,test_gendirecortiesnam:39,test_genkfold:39,test_genkfolds_it:39,test_gensplit:39,test_gensplits_no_it:39,test_gentestfoldspr:30,test_get_classic_db_csv:39,test_get_classic_db_hdf5:39,test_get_mc_estim:39,test_get_plausible_db_hdf5:39,test_get_the_arg:39,test_getdatabasefunct:39,test_gethp:30,test_getmultiviewdb:[],test_hdf5:39,test_initconst:30,test_initrandomst:39,test_initstatsiterrandomst:39,test_inittraintest:30,test_label:[27,41,43],test_labels_fold_0:[41,43],test_labels_fold_1:[41,43],test_labels_fold_2:43,test_labels_fold_3:43,test_labels_fold_4:43,test_metr:[],test_mono_view:[],test_monoview_classifi:[],test_monoviewutil:[],test_multiclass:[],test_multiclass_n:39,test_multiclass_ovo:39,test_multiclass_ovo_multiview:39,test_multiclass_ovr:39,test_multiclass_ovr_multiview:39,test_multiple_it:39,test_multiview_classifi:[],test_multiviewovowrapper_fit:39,test_multiviewovrwrapper_fit:39,test_one_statit:39,test_ovo_no_it:39,test_parsethearg:39,test_plausible_hdf5:39,test_predict:39,test_pseudocqfusionmodul:[],test_pseudocqmeasur:[],test_random_state_42:39,test_random_state_pickl:39,test_resultanalysi:[],test_simpl:[30,39],test_simple_ovo:39,test_two_class:39,test_util:[],test_vers:13,testcas:[29,30,39],than:[27,41,42,43,46],thank:[6,14,40,46],thant:46,thei:[41,42,44,45,46],them:27,theori:46,therefor:42,thi:[6,7,27],third:41,thoroughli:3,thread:[5,6,14,27,42],three:[5,40,42,44,45,46],through:[5,41,42,45],thu:46,time:[41,42,43,45,46],timeout:27,to_numpy_arrai:27,tobe:27,todo:[],too:[27,46],took:41,toolbox:47,top:43,total:[5,6,14],track_traceback:[6,14,27],trade:42,trade_off:45,train:[6,27,45],train_indic:[27,39,41,43,45],train_label:[27,41,43],train_metr:43,train_pr:[41,43],transform:[],transform_data_if_need:45,transpar:27,tree:[40,41,42,46],triplet:[6,14,27],truth:7,tune:[6,14],tupl:27,tutori:[],two:[27,40,41,42,45,46],txt:[41,42,43],type:[5,6,7,14,27,41,42,44],type_var:27,unabl:40,unbalanc:46,under:43,underli:27,understand:[],uniform:46,uniqu:[27,40,44],unittest:[29,30,39],unknown:42,unlucki:43,unseen:46,unsign_label:27,updat:3,update_hdf5_dataset:27,usabl:45,usag:45,used:[5,6,13,14,27],used_indic:27,user:[6,14,27,42],usual:44,utf:5,val_1:45,val_2:45,valid:[6,27],validation_indic:27,valu:[6,7,14,27,40,42,44,45,46],value1:[6,14],value2:[6,14],vanilla:41,variabl:[6,14,44,45],veri:[41,45],verifi:40,versu:27,vertic:43,view:[6,27,44],view_data:[27,44,45],view_dataset:44,view_dict:27,view_idx:27,view_index:[14,27,44,45],view_indic:[27,39,45],view_limit:27,view_nam:[14,27,44],viewi:5,viewnumber0:[],viewnumber1:[],viewnumber2:[],views_dictionari:[6,14],views_indic:[14,27],views_list:45,virtual:48,visual:[5,41],vote:[27,40,42],wai:[41,44,45,46],want:[42,45,46],weighted_linear_early_fus:41,weighted_linear_late_fus:[41,42,43],weightedlinear:[],welcom:[],well:41,were:[40,42],what:48,when:[27,42,43,46],where:[27,41,45],whether:[5,7,27],which:[6,7,14,27,40,42,43,45,46,47],white:40,whole:[27,41,42,43],why:42,wil:[6,14,27,45],wip:[3,5],wise:46,witch:27,within:46,without:[3,45,46],won:46,work:[7,27,44],worst:41,would:42,wrapper:[27,45],written:44,y_pred:7,y_test:[27,45],y_true:7,yaml:5,yaml_config:27,yml:27,your_file_nam:5,zero:27,zip:44,zoom:[40,41,43]},titles:["Result analysis module","Multiview Platform","Welcome to the exection documentation","Welcome to Supervised MultiModal Integration Tool’s documentation","multiview_platform","Supervised MultiModal Integration Tool","Classification execution module","Metrics framework","Classifiers","Diversity Fusion Classifiers","Utils execution module","Utils Multiclass module","Mono and mutliview classification","multiview_platform references","multiview_platform.mono_multi_view_classifiers package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_late_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_scm_late_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.EarlyFusionPackage package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.LateFusionPackage package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.pseudo_cq_fusion package","multiview_platform.mono_multi_view_classifiers.utils package","multiview_platform.tests package","multiview_platform.tests.test_metrics package","multiview_platform.tests.test_mono_view package","multiview_platform.tests.test_monoview_classifiers package","multiview_platform.tests.test_multiview_classifiers package","multiview_platform.tests.test_multiview_classifiers.Test_DifficultyMeasure package","multiview_platform.tests.test_multiview_classifiers.Test_DisagreeFusion package","multiview_platform.tests.test_multiview_classifiers.Test_DoubleFaultFusion package","multiview_platform.tests.test_multiview_classifiers.Test_EntropyFusion package","multiview_platform.tests.test_multiview_classifiers.Test_Fusion package","multiview_platform.tests.test_multiview_classifiers.Test_PseudoCQMeasure package","multiview_platform.tests.test_utils package","Example 0 : Getting started with SuMMIT on digits","Example 1 : First big step with SuMMIT","Example 2 : Understanding the hyper-parameter optimization","Example 3 : Understanding the statistical iterations","Taking control : Use your own dataset","Taking control : Use your own algorithms","Hyper-parameter 101","SuMMIT Tutorials","Install SuMMIT"],titleterms:{"1560_12_25":41,"15_42":41,accuracy_scor:41,adding:[44,45],addit:44,algorithm:45,all:[41,45],alreadi:5,analysi:0,analyze_result:[16,17,18,19,20,21,22,26],argument:5,arrai:45,author:5,automat:5,bare:44,bayesianinfer:25,big:41,build:45,choic:46,classif:[6,12,40],classifi:[8,9,41,45],compat:5,complex:45,conclus:[40,42],config_fil:41,configur:27,content:[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],context:43,contributor:5,control:[44,45],convers:44,cross:46,csv:41,data:5,dataset:[5,27,41,44,45],depend:41,difficulty_fus:16,digit:40,disagree_fus:17,discov:5,discoveri:40,divers:9,document:[2,3],double_fault_fus:18,durat:43,earlyfus:23,earlyfusionpackag:24,entropy_fus:19,error_analysis_2d:41,error_analysis_bar:41,exampl:[40,41,42,43,44,45],exec_classif:14,exect:2,execut:[6,10,13,27],experi:42,fat_late_fus:20,fat_scm_late_fus:21,few:42,file:[5,41],first:[40,41],fold:46,format:5,framework:7,fusion:[9,22,23,24,25],gener:41,get:[5,40,41],get_multiview_db:27,get_v:45,grid:[42,46],hand:42,have:5,hdf5:[5,44],how:43,html:41,hyper:[42,46],hyper_parameter_search:27,impact:42,indice:3,inform:[40,44],instal:5,install:[5,48],integrat:[3,5],interpret:45,introduct:41,intuit:46,iter:43,latefus:23,latefusionpackag:25,launch:48,learn:42,list:45,log:41,main:40,majorityvot:25,make:45,make_file_config:27,manipul:45,method:[23,24,25],metric:[7,46],modul:[0,6,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],mono:12,mono_multi_view_classifi:[14,15,16,17,18,19,20,21,22,23,24,25,26,27],monoview:45,more:[40,42,45],multiclass:[11,27],multimod:[3,5],multiview:[1,45],multiview_classifi:[15,16,17,18,19,20,21,22,23,24,25,26],multiview_platform:[4,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],multiview_result_analysi:27,must:5,mutliview:12,necess:44,object:45,optim:[42,46],own:[44,45],packag:[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],paramet:[42,46],pickl:41,platform:1,png:41,prerequisit:5,pseudo_cq_fus:26,random:[42,46],random_st:41,readm:[],refer:13,report:42,result:[0,40,42],result_analysi:14,rule:41,run:[5,40],scmforlinear:25,score:40,search:[42,46],setup:48,simpl:45,simul:5,size:42,split:[42,46],start:[5,40,41],statist:43,step:41,structur:44,submodul:[13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],subpackag:[13,14,15,22,23,28,32,37],summit:[40,41,47,48],supervis:[3,5],svmforlinear:25,tabl:3,take:[44,45],task:45,test:[13,28,29,30,31,32,33,34,35,36,37,38,39,46],test_accuracy_scor:29,test_adaboost:31,test_compat:31,test_configur:39,test_difficultymeasur:33,test_difficultymeasuremodul:33,test_disagreefus:34,test_disagreefusionmodul:34,test_diversity_util:32,test_doublefaultfus:35,test_doublefaultfusionmodul:35,test_entropyfus:36,test_entropyfusionmodul:36,test_execclassif:28,test_execclassifmonoview:30,test_execut:39,test_fus:37,test_fusionmodul:37,test_getmultiviewdb:39,test_metr:29,test_mono_view:30,test_monoview_classifi:31,test_monoviewutil:30,test_multiclass:39,test_multiview_classifi:[32,33,34,35,36,37,38],test_pseudocqfusionmodul:38,test_pseudocqmeasur:38,test_resultanalysi:28,test_util:39,them:41,thi:41,tool:[3,5,48],train:46,transform:27,tutori:[41,47],understand:[42,43,46],usage:42,use:[44,45],util:[10,11,27],valid:46,version:13,view:45,weightedlinear:[24,25],welcom:[2,3],work:45,yml:41,you:5,your:[5,44,45]}}) \ No newline at end of file +Search.setIndex({envversion:50,filenames:["analyzeresult","api","execution","index","modules","readme_link","references/monomulti/exec_classif","references/monomulti/metrics","references/monomulti/multiview_classifiers/classifiers","references/monomulti/multiview_classifiers/diversity_fusion","references/monomulti/utils/execution","references/monomulti/utils/multiclass","references/monomultidoc","references/multiview_platform","references/multiview_platform.mono_multi_view_classifiers","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_late_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_scm_late_fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.EarlyFusionPackage","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.LateFusionPackage","references/multiview_platform.mono_multi_view_classifiers.multiview_classifiers.pseudo_cq_fusion","references/multiview_platform.mono_multi_view_classifiers.utils","references/multiview_platform.tests","references/multiview_platform.tests.test_metrics","references/multiview_platform.tests.test_mono_view","references/multiview_platform.tests.test_monoview_classifiers","references/multiview_platform.tests.test_multiview_classifiers","references/multiview_platform.tests.test_multiview_classifiers.Test_DifficultyMeasure","references/multiview_platform.tests.test_multiview_classifiers.Test_DisagreeFusion","references/multiview_platform.tests.test_multiview_classifiers.Test_DoubleFaultFusion","references/multiview_platform.tests.test_multiview_classifiers.Test_EntropyFusion","references/multiview_platform.tests.test_multiview_classifiers.Test_Fusion","references/multiview_platform.tests.test_multiview_classifiers.Test_PseudoCQMeasure","references/multiview_platform.tests.test_utils","tutorials/example0","tutorials/example1","tutorials/example2","tutorials/example3","tutorials/example4","tutorials/example5","tutorials/hps_theory","tutorials/index","tutorials/installation"],objects:{"":{multiview_platform:[13,0,0,"-"]},"multiview_platform.execute":{execute:[13,1,1,""]},"multiview_platform.mono_multi_view_classifiers":{exec_classif:[14,0,0,"-"],multiview_classifiers:[15,0,0,"-"],result_analysis:[14,0,0,"-"],utils:[27,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.exec_classif":{arange_metrics:[14,1,1,""],benchmark_init:[14,1,1,""],exec_benchmark:[14,1,1,""],exec_classif:[14,1,1,""],exec_one_benchmark_mono_core:[14,1,1,""],extract_dict:[14,1,1,""],gen_single_monoview_arg_dictionary:[14,1,1,""],gen_single_multiview_arg_dictionary:[14,1,1,""],get_path_dict:[14,1,1,""],init_argument_dictionaries:[14,1,1,""],init_benchmark:[14,1,1,""],init_kwargs:[14,1,1,""],init_kwargs_func:[14,1,1,""],init_monoview_exps:[14,1,1,""],init_multiview_exps:[14,1,1,""],is_dict_in:[14,1,1,""],set_element:[14,1,1,""]},"multiview_platform.mono_multi_view_classifiers.metrics":{framework:[7,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.metrics.framework":{get_config:[7,1,1,""],get_scorer:[7,1,1,""],score:[7,1,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers":{difficulty_fusion:[16,0,0,"-"],disagree_fusion:[17,0,0,"-"],double_fault_fusion:[18,0,0,"-"],entropy_fusion:[19,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion":{DifficultyFusion:[16,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion.DifficultyFusion":{diversity_measure:[16,3,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion":{DisagreeFusion:[17,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion.DisagreeFusion":{diversity_measure:[17,3,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion":{DoubleFaultFusion:[18,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion.DoubleFaultFusion":{diversity_measure:[18,3,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion":{EntropyFusion:[19,2,1,""]},"multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion.EntropyFusion":{diversity_measure:[19,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils":{configuration:[27,0,0,"-"],dataset:[27,0,0,"-"],execution:[27,0,0,"-"],get_multiview_db:[27,0,0,"-"],hyper_parameter_search:[27,0,0,"-"],make_file_config:[27,0,0,"-"],multiclass:[27,0,0,"-"],multiview_result_analysis:[27,0,0,"-"],transformations:[27,0,0,"-"]},"multiview_platform.mono_multi_view_classifiers.utils.configuration":{get_the_args:[27,1,1,""],pass_default_config:[27,1,1,""],save_config:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset":{Dataset:[27,2,1,""],HDF5Dataset:[27,2,1,""],RAMDataset:[27,2,1,""],confirm:[27,1,1,""],copy_hdf5:[27,1,1,""],datasets_already_exist:[27,1,1,""],delete_HDF5:[27,1,1,""],extract_subset:[27,1,1,""],get_examples_views_indices:[27,1,1,""],init_multiple_datasets:[27,1,1,""],input_:[27,1,1,""],is_just_number:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset.Dataset":{check_selected_label_names:[27,3,1,""],filter:[27,3,1,""],get_label_names:[27,3,1,""],get_labels:[27,3,1,""],get_nb_examples:[27,3,1,""],get_shape:[27,3,1,""],get_v:[27,3,1,""],init_example_indces:[27,3,1,""],select_labels:[27,3,1,""],select_views_and_labels:[27,3,1,""],to_numpy_array:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset.HDF5Dataset":{add_gaussian_noise:[27,3,1,""],copy_view:[27,3,1,""],dataset:[27,4,1,""],filter:[27,3,1,""],get_label_names:[27,3,1,""],get_labels:[27,3,1,""],get_name:[27,3,1,""],get_nb_class:[27,3,1,""],get_nb_examples:[27,3,1,""],get_v:[27,3,1,""],get_view_dict:[27,3,1,""],get_view_name:[27,3,1,""],init_attrs:[27,3,1,""],init_view_names:[27,3,1,""],nb_view:[27,4,1,""],rm:[27,3,1,""],update_hdf5_dataset:[27,3,1,""],view_dict:[27,4,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.dataset.RAMDataset":{filter:[27,3,1,""],get_label_names:[27,3,1,""],get_labels:[27,3,1,""],get_name:[27,3,1,""],get_nb_class:[27,3,1,""],get_nb_examples:[27,3,1,""],get_v:[27,3,1,""],get_view_dict:[27,3,1,""],get_view_name:[27,3,1,""],init_attrs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.execution":{find_dataset_names:[27,1,1,""],gen_argument_dictionaries:[27,1,1,""],gen_direcorties_names:[27,1,1,""],gen_k_folds:[27,1,1,""],gen_splits:[27,1,1,""],get_database_function:[27,1,1,""],init_log_file:[27,1,1,""],init_random_state:[27,1,1,""],init_stats_iter_random_states:[27,1,1,""],init_views:[27,1,1,""],parse_the_args:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.get_multiview_db":{DatasetError:[27,5,1,""],get_classic_db_csv:[27,1,1,""],get_classic_db_hdf5:[27,1,1,""],get_plausible_db_hdf5:[27,1,1,""],make_me_noisy:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search":{CustomRandint:[27,2,1,""],CustomUniform:[27,2,1,""],Grid:[27,2,1,""],HPSearch:[27,2,1,""],Random:[27,2,1,""],format_params:[27,1,1,""],gen_heat_maps:[27,1,1,""],spear_mint:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.CustomRandint":{get_nb_possibilities:[27,3,1,""],rvs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.CustomUniform":{rvs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.Grid":{fit:[27,3,1,""],get_candidate_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.HPSearch":{fit_multiview:[27,3,1,""],gen_report:[27,3,1,""],get_best_params:[27,3,1,""],get_candidate_params:[27,3,1,""],get_scoring:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.hyper_parameter_search.Random":{fit:[27,3,1,""],get_candidate_params:[27,3,1,""],get_param_distribs:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.make_file_config":{ConfigurationMaker:[27,2,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass":{MonoviewWrapper:[27,2,1,""],MultiClassWrapper:[27,2,1,""],MultiviewOVOWrapper:[27,2,1,""],MultiviewOVRWrapper:[27,2,1,""],MultiviewWrapper:[27,2,1,""],OVOWrapper:[27,2,1,""],OVRWrapper:[27,2,1,""],get_mc_estim:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.MultiClassWrapper":{format_params:[27,3,1,""],get_config:[27,3,1,""],get_interpretation:[27,3,1,""],set_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.MultiviewOVOWrapper":{fit:[27,3,1,""],get_params:[27,3,1,""],multiview_decision_function:[27,3,1,""],predict:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.MultiviewOVRWrapper":{fit:[27,3,1,""],get_params:[27,3,1,""],predict:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.OVOWrapper":{decision_function:[27,3,1,""],get_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiclass.OVRWrapper":{get_params:[27,3,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.multiview_result_analysis":{get_metrics_scores:[27,1,1,""],get_total_metric_scores:[27,1,1,""],print_metric_score:[27,1,1,""]},"multiview_platform.mono_multi_view_classifiers.utils.transformations":{sign_labels:[27,1,1,""],unsign_labels:[27,1,1,""]},"multiview_platform.tests":{test_metrics:[29,0,0,"-"],test_mono_view:[30,0,0,"-"],test_monoview_classifiers:[31,0,0,"-"],test_multiview_classifiers:[32,0,0,"-"],test_utils:[39,0,0,"-"]},"multiview_platform.tests.test_metrics":{test_accuracy_score:[29,0,0,"-"]},"multiview_platform.tests.test_metrics.test_accuracy_score":{Test_accuracy_score:[29,2,1,""]},"multiview_platform.tests.test_metrics.test_accuracy_score.Test_accuracy_score":{score_test:[29,3,1,""],setUpClass:[29,3,1,""]},"multiview_platform.tests.test_mono_view":{test_ExecClassifMonoView:[30,0,0,"-"],test_MonoviewUtils:[30,0,0,"-"]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView":{Test_getHPs:[30,2,1,""],Test_initConstants:[30,2,1,""],Test_initTrainTest:[30,2,1,""]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView.Test_getHPs":{setUpClass:[30,6,1,""],tearDownClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView.Test_initConstants":{setUpClass:[30,6,1,""],tearDownClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_mono_view.test_ExecClassifMonoView.Test_initTrainTest":{setUpClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_mono_view.test_MonoviewUtils":{Test_genTestFoldsPreds:[30,2,1,""]},"multiview_platform.tests.test_mono_view.test_MonoviewUtils.Test_genTestFoldsPreds":{setUpClass:[30,6,1,""],test_simple:[30,3,1,""]},"multiview_platform.tests.test_monoview_classifiers":{test_adaboost:[31,0,0,"-"],test_compatibility:[31,0,0,"-"]},"multiview_platform.tests.test_multiview_classifiers":{Test_PseudoCQMeasure:[38,0,0,"-"],test_diversity_utils:[32,0,0,"-"]},"multiview_platform.tests.test_multiview_classifiers.Test_PseudoCQMeasure":{test_PseudoCQFusionModule:[38,0,0,"-"]},"multiview_platform.tests.test_utils":{test_GetMultiviewDB:[39,0,0,"-"],test_configuration:[39,0,0,"-"],test_execution:[39,0,0,"-"],test_multiclass:[39,0,0,"-"]},"multiview_platform.tests.test_utils.test_GetMultiviewDB":{Test_get_classic_db_csv:[39,2,1,""],Test_get_classic_db_hdf5:[39,2,1,""],Test_get_plausible_db_hdf5:[39,2,1,""]},"multiview_platform.tests.test_utils.test_GetMultiviewDB.Test_get_classic_db_csv":{setUp:[39,3,1,""],tearDown:[39,6,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_GetMultiviewDB.Test_get_classic_db_hdf5":{setUp:[39,3,1,""],tearDown:[39,3,1,""],test_all_views_asked:[39,3,1,""],test_asked_the_whole_dataset:[39,3,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_GetMultiviewDB.Test_get_plausible_db_hdf5":{setUpClass:[39,6,1,""],tearDownClass:[39,6,1,""],test_simple:[39,3,1,""],test_two_class:[39,3,1,""]},"multiview_platform.tests.test_utils.test_configuration":{Test_get_the_args:[39,2,1,""]},"multiview_platform.tests.test_utils.test_configuration.Test_get_the_args":{setUpClass:[39,6,1,""],tearDownClass:[39,6,1,""],test_arguments:[39,3,1,""],test_dict_format:[39,3,1,""],test_file_loading:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution":{FakeArg:[39,2,1,""],Test_genArgumentDictionaries:[39,2,1,""],Test_genDirecortiesNames:[39,2,1,""],Test_genKFolds:[39,2,1,""],Test_genSplits:[39,2,1,""],Test_getDatabaseFunction:[39,2,1,""],Test_initRandomState:[39,2,1,""],Test_initStatsIterRandomStates:[39,2,1,""],Test_parseTheArgs:[39,2,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genArgumentDictionaries":{setUpClass:[39,6,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genDirecortiesNames":{setUpClass:[39,6,1,""],test_ovo_no_iter:[39,3,1,""],test_simple_ovo:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genKFolds":{setUp:[39,3,1,""],test_genKFolds_iter:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_genSplits":{setUp:[39,3,1,""],test_genSplits_no_iter:[39,3,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_getDatabaseFunction":{setUpClass:[39,6,1,""],test_hdf5:[39,3,1,""],test_plausible_hdf5:[39,3,1,""],test_simple:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_initRandomState":{setUp:[39,3,1,""],tearDown:[39,3,1,""],test_random_state_42:[39,3,1,""],test_random_state_pickle:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_initStatsIterRandomStates":{setUpClass:[39,6,1,""],test_multiple_iter:[39,3,1,""],test_one_statiter:[39,3,1,""]},"multiview_platform.tests.test_utils.test_execution.Test_parseTheArgs":{setUp:[39,3,1,""],test_empty_args:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass":{FakeDset:[39,2,1,""],FakeEstimNative:[39,2,1,""],FakeMCEstim:[39,2,1,""],FakeMVClassifier:[39,2,1,""],FakeMVClassifierProb:[39,2,1,""],FakeNonProbaEstim:[39,2,1,""],FakeProbaEstim:[39,2,1,""],Test_MultiviewOVOWrapper_fit:[39,2,1,""],Test_MultiviewOVRWrapper_fit:[39,2,1,""],Test_get_mc_estim:[39,2,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeDset":{get_nb_examples:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeEstimNative":{accepts_multi_class:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeMCEstim":{accepts_multi_class:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeMVClassifier":{fit:[39,3,1,""],predict:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeMVClassifierProb":{predict_proba:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.FakeProbaEstim":{predict_proba:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.Test_MultiviewOVOWrapper_fit":{setUpClass:[39,6,1,""],test_fit:[39,3,1,""],test_predict:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.Test_MultiviewOVRWrapper_fit":{setUpClass:[39,6,1,""],test_fit:[39,3,1,""],test_predict:[39,3,1,""]},"multiview_platform.tests.test_utils.test_multiclass.Test_get_mc_estim":{setUpClass:[39,6,1,""],test_biclass:[39,3,1,""],test_multiclass_native:[39,3,1,""],test_multiclass_ovo:[39,3,1,""],test_multiclass_ovo_multiview:[39,3,1,""],test_multiclass_ovr:[39,3,1,""],test_multiclass_ovr_multiview:[39,3,1,""]},"multiview_platform.versions":{test_versions:[13,1,1,""]},multiview_platform:{execute:[13,0,0,"-"],mono_multi_view_classifiers:[14,0,0,"-"],tests:[28,0,0,"-"],versions:[13,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","exception","Python exception"],"6":["py","classmethod","Python class method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute","5":"py:exception","6":"py:classmethod"},terms:{"11_46":41,"11_46_example_1":[],"14_12":43,"14_12_18__":[],"200x100":44,"200x40":44,"200x55":44,"2020_03_30":41,"2020_04_02":43,"25th":41,"2d_plot_data":[41,43],"boolean":[7,27,45],"case":[3,27,29,30,39,45],"class":[7,16,17,18,19,27,29,30,39,41,43,44,45,46],"default":[7,42],"final":41,"float":[7,27,45,46],"function":[6,7,14,27,41,45],"import":[5,27,40,41,42,43,44,45],"int":[6,14,27],"long":[44,46],"new":[27,43,45],"return":[6,7,14,27,40,43,45],"short":3,"super":45,"true":[6,14,27,41,42,45,46],"try":[5,42,44,46],"while":[27,42,43,44,46],__init__:45,_gen:27,_search:27,abl:[5,27,40,42,44,45],about:[5,45],absolut:5,accepts_multi_class:39,access:45,accord:[27,42],accuraci:[40,41,42,46],accuracy_scor:27,adaboost:[6,14,42,43],add:[3,6,7,14,27,42,44,45],add_gaussian_nois:27,add_nois:27,addit:[],advantag:3,after:[41,43],aggreg:40,agrument:27,aim:5,aks:27,alexi:5,algo:45,algo_modul:45,algoclassifi:45,algorithm:[6,27],algos_monoview:[27,41,42],algos_multiview:[27,41,42],all:[6,27],all_view:27,allow:[3,27,41,42,44,45,46],along:27,also:[27,41,42,43,44],among:41,amongst:41,amount:42,analyz:[6,14,41,42,44,46],analyze_iter:[6,14],analyze_result:[],ani:[6,14,40,46],anim:44,animal:44,anoth:40,answer:27,appear:43,append:45,approxim:42,arange_metr:[6,14],are_spars:27,arg:[6,14,27],arg_view:27,argmax:27,argument_dictionari:[6,14,27],around:5,arrai:[6,7,27,44],arrang:[6,14],artifact:44,ask:[6,14,27,40,45],asked:27,asked_labels_nam:27,askedlabelsnam:27,assess:40,astyp:44,atm:44,attr:44,attribur:[],attribut:[27,44,45],avail:[5,27,40,41,42,44,45],averag:41,avoid:[42,45],axi:[27,40],balanc:41,baptist:[5,13],bar:[40,41,43],bar_plot_data:[41,43],base:[16,17,18,19,27,29,30,39,42],base_estim:[6,14,42],base_file_nam:[27,45],baseestim:39,basemonoviewclassifi:45,basemultiviewclassifi:45,basic:[40,41],bauvin:5,bayesianinfer:[],bear:44,bear_112:44,becaus:[27,41],becom:42,been:[3,41,44],befor:[5,27,45],begin:41,behavior:40,below:[41,42],benchmark:[5,6,14,27,40,41,42,43,44],benchmark_arguments_dictionari:[6,14],benchmark_init:[6,14],benchmarkargumentdictionari:27,benchmarkargumentsdictionari:27,benielli:5,best:[27,40,41,42,43,45,46],better:[7,41,42,43],between:[27,42,43,44,45,46],biclass:[6,14,27],big:27,bigger:42,bird:44,bird_785:44,bit:45,black:[40,41],bool:27,both:[40,42],bracket:42,brows:[27,45],build:[],bypass:46,call:[41,45],callabl:7,can:[5,6,14,27,40,41,42,43,44,45,46],capac:[5,46],car:44,car_369:44,carefulli:5,center:27,chang:27,check:[6,14,27],check_selected_label_nam:27,choic:[],choos:42,chose:44,cl_type:[6,14,27],clariti:44,classier:27,classifi:6,classification_indic:[6,14],classifier_class_nam:45,classifier_config:[6,14,16,17,18,19,42],classifier_dict:27,classifier_nam:[6,14,16,17,18,19,27,42],classifiers_decis:[16,19],classifiers_nam:[6,14,42],classmethod:[30,39],clean:27,clear:41,clf_error:43,clone:5,close:43,closer:42,code:[2,3,13,42,43,45],color:40,column:[40,41],combin:[16,19,27,42],command:[5,48],comment:41,commentari:44,commun:45,compar:[40,45],compens:[42,46],complementar:41,complementari:41,complementary_:41,complex:27,compos:45,comput:[5,27,42,43,46],conain:27,concat_view:27,concaten:[27,40],concern:40,config:[5,6,14,27,40,41,42,43,44,46],config_example_1:13,config_fil:27,config_path:[5,6,13,14],configstr:7,configur:7,configurationmak:27,confirm:27,confus:[5,41],confusion_matrix:[41,43],consensu:45,consequ:[41,42],consist:[3,40,41,44,46],consol:27,constantli:3,consum:42,contain:[27,40,41,44,45],content:[],control:[],convert:[27,44],copi:[27,41],copy_hdf5:27,copy_view:27,core:[3,6,14,41],correct:45,correctli:[5,44],correspond:[27,44,45],costli:43,could:[40,41,45],count:41,counterpart:40,coupl:[6,14,27],couplediversityfusionclassifi:[17,18],cover:42,creat:[5,6,14,27,44,45],create_dataset:44,create_group:44,criterion:[41,42],crop:27,cross:[6,27],csv:27,current:43,customrandint:[27,45],customuniform:[27,45],data_file_path:44,databas:[27,41],dataset:[],dataset_var:[6,14,27,45],dataseterror:27,datasetfil:27,datasetlength:44,datasets_already_exist:27,date:41,deal:27,debug:27,debug_started_2020_04_02:[],decemb:41,decis:[27,40,41,42,45,46],decision_funct:27,decision_tre:[41,42,43,46],decisiontre:41,decisiontreeclassifi:42,decod:27,decreas:42,decrypt:[7,41],deep:[27,46],deeper:46,def:45,defin:[44,45],delet:[6,14,27],delete_hdf5:[6,14,27],delimit:[27,44],demand:42,depend:[],depth:[42,46],describ:[3,7,41,44],descript:27,descriptor:45,design:3,detail:5,detect:[40,41],develop:[40,44,48],deviat:43,dict:[6,7,14,27],dictionari:[6,7,14,27],dictionnari:27,did:42,differ:[3,6,14,27,41,42,43,44,46],difficult:41,difficulty_fus:[],difficultyfus:16,digit_col_grad_0:40,dimension:42,direct:40,directli:27,directori:[5,6,14,27,40,41,43,45,48],disagree_fus:[],disagreefus:17,discov:[],disk:27,dispach:[6,14],displai:41,distinguish:43,distrib:45,distribs:45,distribut:[27,45,46],diversity_measur:[16,17,18,19],diversity_util:[16,17,18,19],divid:46,doc:45,doc_summit:[41,42,43],docstr:13,document:[],docutil:5,doe:27,doe_562:44,dominiqu:5,done:[6,14,27,43],dot:27,double_fault_fus:[],doublefaultfus:18,doublet:27,download:48,drag:40,draw:[40,42,43,46],drive:5,dtype:44,durat:[],durations_datafram:[41,43],durations_stds_datafram:43,dure:[40,41,42,46],each:[5,6,14,27,40,41,42,43,44,45,46],earli:[40,41],earlier:[42,45],earlyfus:[],earlyfusionpackag:[],easi:[3,5],easili:44,edg:45,effici:[5,43,46],either:[27,40,41,42],els:27,empti:41,enabl:46,encapsul:[27,41],encod:44,end:[27,46],enter:27,entropi:42,entropy_fus:[],entropyfus:19,enumer:44,environ:48,equal:46,equivalent_draw:[27,42,46],error:[40,41,43],estim:[3,27,42,46],estimat:27,estimator__param:27,etc:7,evalu:[5,6,14,27,41,46],even:[27,41,42,43],exact:42,exampl:[6,27],example_1:41,example_2_1:42,example_2_1_1:42,example_:41,example_error:43,example_id:[27,44],example_ids_path:44,example_indic:[27,39,45],examples_indic:27,except:27,exception:27,exec_benchmark:[6,14],exec_classif:6,exec_one_benchmark_mono_cor:[6,14],exect:[],execut:[],exeperi:[6,14],exist:27,experi:6,experiment:27,explain:[7,40,41,45,47],explor:43,extern:44,extract:[27,42],extract_dict:[6,14],extract_subset:27,extrat:27,f1_score:[27,41,43],fact:[42,46],fail:[40,41,43],failur:41,fair:46,fairest:46,fake:27,fakearg:39,fakedset:39,fakeestimn:39,fakemcestim:39,fakemvclassifi:39,fakemvclassifierprob:39,fakenonprobaestim:39,fakeprobaestim:39,fals:[7,14,27,42,44,45],familiar:42,famou:40,far:[41,42],fashion:45,faster:46,fat_late_fus:[],fat_scm_late_fus:[],featru:41,featur:[3,27,40,41,43,44,45],feature_import:[41,43],feature_importance_datafram:[],feature_importances_datafram:[41,43],feature_importances_dataframe_std:43,fie:42,figur:[40,41,42,43,45],figure_nam:45,file_nam:27,file_path:44,file_typ:27,fill:44,filter:27,find:[27,41,44],find_dataset_nam:27,first:[6,27],first_classifier_decis:[17,18],fit:[27,39,42,44,45,46],fit_multiview:27,fit_param:27,five:42,fix:[27,41,44],flag:14,focu:42,fold:[6,27],folds_list:27,follow:[5,7,40,41,42,44,45,47,48],format_dataset:[],format_param:27,four:45,framework:6,from:[5,7,27,40,41,42,43,44,45,46],full:[5,6,14,27,41,45],full_pr:[41,43],fulli:44,further:5,futur:42,gap:44,gen_argument_dictionari:27,gen_direcorties_nam:27,gen_heat_map:27,gen_k_fold:27,gen_report:27,gen_single_monoview_arg_dictionari:14,gen_single_multiview_arg_dictionari:14,gen_split:27,gener:[6,27],generated_view_1:[41,43],generated_view_1feature_import:[41,43],generated_view_2:[41,43],generated_view_2feature_import:[41,43],generated_view_3:[41,43],generated_view_3feature_import:[41,43],generated_view_4:[41,43],generated_view_4feature_import:[41,43],genfromtxt:44,get:[],get_best_param:27,get_candidate_param:27,get_classic_db_csv:27,get_classic_db_hdf5:27,get_config:[7,27],get_database_funct:27,get_examples_views_indic:[27,45],get_interpret:[27,45],get_label:27,get_label_nam:27,get_mc_estim:27,get_metrics_scor:27,get_multiview_db:[],get_nam:27,get_nb_class:27,get_nb_exampl:[27,39],get_nb_poss:27,get_param:27,get_param_distrib:27,get_path_dict:[6,14],get_plausible_db_hdf5:27,get_scor:[7,27],get_shap:27,get_the_arg:27,get_total_metric_scor:27,get_v:27,get_view_dict:27,get_view_nam:27,getdatabas:27,gini:[41,42],gitlab:5,gitwork:13,give:42,given:[5,6,14,27,40,42,46],globaldiversityfusionclassifi:[16,19],goal:[27,44,45],good:46,gradiant:40,grai:[40,41,43],grant:42,graph:41,great:[42,43],greater:7,grid:27,gridsearchcv:27,ground:7,group:[27,44],guaussian:27,guidelin:45,h5py:[5,27,44],hard:[5,41],harder:41,hardwar:42,hdd:27,hdf5_file:[27,44],hdf5dataset:27,heat:27,help:42,here:[40,41,42,43,44,45],hide:[27,42],high:[27,42],higher:[41,42],highli:[5,41,42],home:13,homme:5,horizont:41,hover:41,how:7,howev:[40,42,43,46],hpo:42,hps_arg:[42,46],hps_iter:27,hps_kwarg:[6,14,27],hps_method:[6,14],hps_report:42,hps_type:[27,42,46],hpsearch:27,hte:27,html:[],huge:46,human:44,hyper:[6,27],hyper_param_search:[14,27],hyper_parameter_search:[],hyperparm:27,idea:46,ideal:42,imag:[40,41,44],implement:[27,42,45],improv:[42,43],includ:45,incorrectli:41,increas:[42,43],inde:43,indeed:[41,43,45],independ:42,index:[3,6,14,27,41,44],indic:[6,14,27,45],indices_multiclass:27,individu:43,inform:27,inherit:[10,11,45],init:[6,14,27],init_argument_dictionari:14,init_attr:27,init_benchmark:[6,14],init_example_indc:27,init_kwarg:[6,14],init_kwargs_func:[6,14],init_log_fil:27,init_monoview_exp:[6,14],init_multiple_dataset:27,init_multiview_exp:14,init_random_st:27,init_stats_iter_random_st:27,init_view:27,init_view_nam:27,initi:[6,14,27,44,45],initial:[6,14],input:[6,14,43,44,45],input_:27,insid:42,instal:[],instead:27,instruct:[3,42],integ:[6,7,14,27,44,45],integr:45,interact:[5,40,41],interest:40,interpret:[],interpret_str:45,interpretstr:45,introduc:[27,41],invers:27,investig:40,involv:46,is_dict_in:[6,14],is_just_numb:27,is_temp:27,issu:[27,43],ist:[6,14],iter:[6,27],iter_1:43,iter_2:43,iter_3:43,iter_4:43,iter_5:43,iter_:43,itself:[6,14],joblib:5,john_115:44,join:45,just:[5,6,14,42,44,45],k_fold:[6,14,27],keep:[27,43,44,46],kei:[6,7,14,27,44],key1:[6,14],key1_1:[6,14],key2:[6,14],keyword:[6,14],kfold:27,know:[40,42,46],knowledg:[45,46],kwarg:[6,7,14,27],kwargs:[6,14],kwargs_init:[6,14],l18:41,l22:41,l26:41,l35:41,l43:41,l45:[41,42],l47:[41,42],l49:42,l52:41,l54:42,label:[3,5,6,7,14,27,40,41,44,45],label_1:41,label_2:41,label_3:41,label_4:41,label_5:41,label_6:41,label_7:41,label_8:41,label_nam:[27,44],labels_combin:27,labels_data:44,labels_dataset:44,labels_dictionari:[6,14,27],labels_dset:44,labels_file_path:44,labels_nam:[27,44],larger:43,lassifi:40,last:46,late:[40,41,42],latefus:[],latefusionpackag:[],later:[27,41],learn:[],learning_indic:27,least:41,left:41,len:44,less:41,let:[41,42,43,44,45,46],letter:27,level:27,light:[40,41],like:[7,27,42,43,46],limit:27,line:[41,42,43,44,46],list:[6,27,44],list_x:45,listof:[6,14],load:[27,44,45],loadabl:41,loc:27,locat:[6,14],log:27,logfil:27,longer:[27,42],look:[42,43],lot:[41,42],low:27,lucki:43,m2r:5,made:[27,40,42,46],mai:[40,41],main:[6,27],mainli:41,major:[40,41,42],majority_voting_fus:42,majorityvot:[],make:44,make_file_config:[],make_me_noisi:27,make_scor:7,mandatori:[7,44,45],mani:[40,42],manipul:[],map:[6,14,27],matplotlib:5,matric:44,matrix:[5,27,40,41],matter:42,max:46,max_depth:[41,42,45,46],max_length:44,maximum:42,mayb:27,mean:[41,42,43,46],mean_on_5_it:43,meaning:43,member:[10,11],memori:[27,45],metadata:44,metadata_group:44,method:[],methodnam:[29,30,39],metric:6,metric_modul:29,metric_princ:[6,14,27,42,46],metric_scor:27,metrics_var:27,micro:41,min:42,mind:[42,46],minimum:44,minut:[27,41],miss:44,missclassifi:41,mixli:41,mod:42,model:46,model_select:[6,14,27],modif:42,modifi:[3,5,27,43,44,45],moment:[42,44],mono:6,mono_multi_view_classifi:[],monoview:[6,27],monoview_algo:[6,14],monoview_classifi:45,monoview_estim:[16,17,18,19],monoview_util:45,monoviewwrapp:27,more:27,moreov:[42,45],most:[27,41,42,44,46],mous:40,mt19937:41,mtrand:27,much:[27,42],multi:[3,5,27,41,42],multi_class_label:[6,14],multiclass:[6,7],multiclass_label:27,multiclasswrapp:27,multicor:[6,14,27],multipl:[5,27,43],multipli:27,multivew:42,multiview_algo:[6,14],multiview_classifi:[],multiview_classifier_arg:[6,14],multiview_decision_funct:27,multiview_platform:[],multiview_result_analysi:[],multiview_util:45,multiviewovowrapp:27,multiviewovrwrapp:27,multiviewwrapp:27,musch:46,mutli:[6,14],mutlipli:27,mutual:41,mutual_error_:41,n_estim:[6,14,42],n_exampl:39,n_featur:27,n_iter:[27,42,46],n_job:27,n_sampl:[7,27],n_view:42,naiv:[41,42],name:[5,6,14,27,41,42,44,45],name_db:27,name_m:45,namedb:27,nativ:27,nb_class:[6,14,27],nb_core:[6,14,27],nb_exampl:27,nb_featur:27,nb_fold:[27,42,46],nb_label:[6,14,27],nb_view:27,nbclass:44,nbcore:27,nbview:44,ndarrai:[6,14,27],nearli:43,necess:[],necessari:27,need:[5,6,7,14,27,42,45,48],needed_input:45,new_mv_algo:45,new_mv_algo_modul:45,newmvalgo:45,newmvalgoclassifi:45,nice:27,nois:27,noise_std:27,noisi:27,none:[6,14,16,17,18,19,27,39,42,45,46],norm_typ:45,notic:42,now:[42,43,44,45],number:[6,14,27,41,42,43,44,45,46],numer:44,numpi:[5,6,14,27,41,44],object:[6,7,27,39,44],obtain:42,off:42,onc:45,once:[5,40],one:[27,40,45,46],onevsoneclassifi:27,onevsrestclassifi:27,onli:[27,40,42,44,45],ony:27,optim:[6,27],option:27,order:[5,6,7,14,27,41,42,43,44,45,46],organ:41,origin:27,other:[40,45],our:[42,45],outcom:27,outlier:[40,41],output:[41,42,43],output_file_nam:27,ov_wrapper:27,over:[27,42,43],overfit:[42,46],ovowrapper:27,ovrwrapper:27,own:[],packag:[6,7],page:[3,41,42],pair:27,panda:[5,41],parallel:[27,43],param:27,param_1:45,param_2:45,param_distribut:27,param_grid:27,param_nam:45,paramet:[6,7,27],parametr:41,pars:[6,14,27,41],parse_the_arg:27,parsedargumentpars:[6,14],part:[41,42,45,46],partial:44,particular:41,pass:[6,14,27,46],pass_default_config:27,past:42,path:[5,6,14,27,44,45],path_f:27,path_for_new:27,path_to_config_fil:27,pathf:[5,27,44],pbject:27,peopl:44,per:[27,42],percentag:27,perdict_proba:27,perform:[3,6,14,27,41,42,43,46],perfrom:40,person:42,pickl:27,pip:[5,48],plaf:[],plai:5,plane:44,plane_452:44,plausibl:[27,41],plif:[],plot:[5,40,41,43],plotli:5,png:[],point:27,poor:43,possibl:[27,40,41,42,45,46],potenti:40,precis:41,pred:27,predict:[7,27,39,45,46],predict_proba:39,pref:27,prefix:45,present:41,previou:[27,41,42,43,44],princip:[6,14,41],print:[41,43],print_metric_scor:27,prior:[5,46],prioriti:42,probabl:45,problem:[27,41,42,46],procedur:3,process:[6,14,27,42,45,46],prod:5,profit:42,progress:[3,43,44],project:[5,40],propos:[5,46],provid:[5,27,41,42,44,45,46],pseudo:[42,43],pseudo_cq_fus:[],publish:41,purpos:[6,14],python3:48,python:[5,42,44,45,48],pyyaml:5,quantiti:41,quick:40,quit:46,ram:[5,27],ramdataset:27,randint:27,random:27,random_s:45,random_st:[27,39],random_state_arg:27,randomisedsearchcv:42,randomizedsearchcv:27,randomli:[41,46],randomsatearg:27,randomsearch:27,randomst:[27,41],rang:27,rate:41,ratio:[27,41,42,46],ration:42,read:[3,5],readi:44,readm:[],recod:44,recommend:[5,41,48],rectangl:40,reduc:[42,45],redund:41,redundant_:41,ref:45,refer:[],refit:27,regard:45,regroup:[40,41],rel:44,relat:[41,45],relev:[27,42,45,46],remot:42,remov:[3,27],repeat:46,report:27,repositori:5,repres:[40,42,44],represent:41,reproduc:45,reproduct:[41,46],requir:[44,45,46,48],res_dir:[27,41],resourc:43,resp:27,rest:27,rest_of_the_arg:[6,14],restrain:45,result_analysi:[],result_directori:27,results_directori:27,resum:[6,14,27],retriev:27,revers:[6,14],right:[6,14,27,41,44],robust:46,row:[40,41],runtest:[29,30,39],s100:44,sai:[41,45],same:[27,40,41,42,44,45],sampl:[27,40],satisfi:44,sattist:27,save:[6,14,27,40,41,43,44,45],save_config:27,scalar:7,scale:27,scikit:45,scipi:5,scmforlinear:[],score:[7,27],score_test:29,scorer:7,scores_arrai:27,script:[5,44],search:[],second:[41,42],second_classifier_decis:[17,18],section:41,see:[5,27,40,41,42,45],seed:[27,41],seem:41,seen:[42,43],select:[27,46],select_label:27,select_views_and_label:27,selected_label_nam:27,self:[27,45],separ:27,serv:46,set:[6,14,27,40,41,42,43,44,45,46],set_el:[6,14],set_param:27,settl:43,setup:39,setupclass:[29,30,39],sever:[3,40,42,43,46],shade:43,shape:[7,27,41,44],share:27,short_nam:39,shorter:46,should:[41,42,44,45],show:[27,40,41,43],sign_label:27,signal:27,similar:[40,41,45],similarli:[40,42,43,45],simplest:[41,46],singl:[43,44],six:5,sklearn:[5,6,7,14,27,39,42,45,46],slice:27,slightli:43,small:42,smaller:42,solut:[5,27],solv:[42,46],some:[5,27,40,41,42,43,45,47],soon:41,sore:44,sort:44,sotr:45,sound:44,sourc:3,source_view_nam:27,space:[27,41,42],spare:5,spars:[27,44],spear_mint:27,spearmint:27,specif:[5,6,14,27,42,43],specifi:[6,7,14,27,41,42,46],spectacularli:41,spike:41,split:[6,27],split_ratio:27,splitter:[41,42],standard:43,star:41,start:[],started_1560_12_25:[41,43],started_2020_03_30:[],startl:41,state:[27,41,45],statist:[6,27],stats_it:[6,14,27,43],stats_iter_random_st:27,statsiter:27,std:[27,43],stop:27,store:[5,6,7,14,27,41,42,43,44,45],str:[6,14,27],straight:43,stratifi:27,stratifiedkfold:27,stratifiedshufflesplit:46,string:[6,7,14,27,44,45],strongli:46,structur:[],stuff:13,sub:46,subset:[27,42,46],succeed:43,succeerecd:40,success:41,sum:48,summari:[41,43,45],summit:[0,6,7,8,11,27,29,30,31,38,39],summit_doc:41,supplementari:45,support:[27,44],suppos:[44,45,46],sure:44,svm_jumbo_fus:27,svmforlinear:[],symmetr:41,tabul:5,take:[],target:[7,27,45],target_dataset:27,target_view_index:27,task:[],teardown:39,teardownclass:[30,39],tell:27,temporari:27,term:[27,41,42,43],termin:[41,48],test:6,test_accuracy_scor:[],test_adaboost:[],test_all_views_ask:39,test_argu:39,test_asked_the_whole_dataset:39,test_biclass:39,test_compat:[],test_configur:[],test_dict_format:39,test_difficultymeasur:[],test_difficultymeasuremodul:[],test_disagreefus:[],test_disagreefusionmodul:[],test_diversity_util:[],test_doublefaultfus:[],test_doublefaultfusionmodul:[],test_empty_arg:39,test_entropyfus:[],test_entropyfusionmodul:[],test_execclassif:[],test_execclassifmonoview:[],test_execut:[],test_file_load:39,test_fit:39,test_fus:[],test_fusionmodul:[],test_genargumentdictionari:39,test_gendirecortiesnam:39,test_genkfold:39,test_genkfolds_it:39,test_gensplit:39,test_gensplits_no_it:39,test_gentestfoldspr:30,test_get_classic_db_csv:39,test_get_classic_db_hdf5:39,test_get_mc_estim:39,test_get_plausible_db_hdf5:39,test_get_the_arg:39,test_getdatabasefunct:39,test_gethp:30,test_getmultiviewdb:[],test_hdf5:39,test_initconst:30,test_initrandomst:39,test_initstatsiterrandomst:39,test_inittraintest:30,test_label:[27,41,43],test_labels_fold_0:[41,43],test_labels_fold_1:[41,43],test_labels_fold_2:43,test_labels_fold_3:43,test_labels_fold_4:43,test_metr:[],test_mono_view:[],test_monoview_classifi:[],test_monoviewutil:[],test_multiclass:[],test_multiclass_n:39,test_multiclass_ovo:39,test_multiclass_ovo_multiview:39,test_multiclass_ovr:39,test_multiclass_ovr_multiview:39,test_multiple_it:39,test_multiview_classifi:[],test_multiviewovowrapper_fit:39,test_multiviewovrwrapper_fit:39,test_one_statit:39,test_ovo_no_it:39,test_parsethearg:39,test_plausible_hdf5:39,test_predict:39,test_pseudocqfusionmodul:[],test_pseudocqmeasur:[],test_random_state_42:39,test_random_state_pickl:39,test_resultanalysi:[],test_simpl:[30,39],test_simple_ovo:39,test_two_class:39,test_util:[],test_vers:13,testcas:[29,30,39],than:[27,41,42,43,46],thank:[6,14,40,46],thant:46,thei:[41,42,44,45,46],them:27,theori:46,therefor:42,thi:[6,7,27],third:41,thoroughli:3,thread:[5,6,14,27,42],three:[40,42,44,45,46],through:[5,41,42,45],thu:46,time:[41,42,43,45,46],timeout:27,to_numpy_arrai:27,tobe:27,todo:[],too:[27,46],took:41,toolbox:47,top:43,total:[6,14],track_traceback:[6,14,27],trade:42,trade_off:45,train:[6,27,45],train_indic:[27,39,41,43,45],train_label:[27,41,43],train_metr:43,train_pr:[41,43],transform:[],transform_data_if_need:45,transpar:27,tree:[40,41,42,46],triplet:[6,14,27],truth:7,tune:[6,14],tupl:27,tutori:[],two:[27,40,41,42,45,46],txt:[41,42,43],type:[6,7,14,27,41,42,44],type_var:27,unabl:40,unbalanc:46,under:43,underli:27,understand:[],uniform:46,uniqu:[27,40,44],unittest:[29,30,39],unknown:42,unlucki:43,unseen:46,unsign_label:27,updat:3,update_hdf5_dataset:27,usabl:45,usag:45,used:[5,6,13,14,27],used_indic:27,user:[6,14,27,42],usual:44,utf:[],val_1:45,val_2:45,valid:[6,27],validation_indic:27,valu:[6,7,14,27,40,42,44,45,46],value1:[6,14],value2:[6,14],vanilla:41,variabl:[6,14,44,45],veri:[41,45],verifi:40,versu:27,vertic:43,view:[6,27,44],view_data:[27,44,45],view_dataset:44,view_dict:27,view_idx:27,view_index:[14,27,44,45],view_indic:[27,39,45],view_limit:27,view_nam:[14,27,44],viewi:[],viewnumber0:[],viewnumber1:[],viewnumber2:[],views_dictionari:[6,14],views_indic:[14,27],views_list:45,virtual:48,visual:[5,41],vote:[27,40,42],wai:[41,44,45,46],want:[42,45,46],weighted_linear_early_fus:41,weighted_linear_late_fus:[41,42,43],weightedlinear:[],welcom:[],well:41,were:[40,42],what:48,when:[27,42,43,46],where:[27,41,45],whether:[7,27],which:[6,7,14,27,40,42,43,45,46,47],white:40,whole:[27,41,42,43],why:42,wil:[6,14,27,45],wip:3,wise:46,witch:27,within:46,without:[3,45,46],won:46,work:[7,27,44],worst:41,would:42,wrapper:[27,45],written:44,y_pred:7,y_test:[27,45],y_true:7,yaml:5,yaml_config:27,yml:27,your_file_nam:5,zero:27,zip:44,zoom:[40,41,43]},titles:["Result analysis module","Multiview Platform","Welcome to the exection documentation","Welcome to Supervised MultiModal Integration Tool’s documentation","multiview_platform","Supervised MultiModal Integration Tool’s Readme","Classification execution module","Metrics framework","Classifiers","Diversity Fusion Classifiers","Utils execution module","Utils Multiclass module","Mono and mutliview classification","multiview_platform references","multiview_platform.mono_multi_view_classifiers package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_late_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fat_scm_late_fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.EarlyFusionPackage package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.fusion.Methods.LateFusionPackage package","multiview_platform.mono_multi_view_classifiers.multiview_classifiers.pseudo_cq_fusion package","multiview_platform.mono_multi_view_classifiers.utils package","multiview_platform.tests package","multiview_platform.tests.test_metrics package","multiview_platform.tests.test_mono_view package","multiview_platform.tests.test_monoview_classifiers package","multiview_platform.tests.test_multiview_classifiers package","multiview_platform.tests.test_multiview_classifiers.Test_DifficultyMeasure package","multiview_platform.tests.test_multiview_classifiers.Test_DisagreeFusion package","multiview_platform.tests.test_multiview_classifiers.Test_DoubleFaultFusion package","multiview_platform.tests.test_multiview_classifiers.Test_EntropyFusion package","multiview_platform.tests.test_multiview_classifiers.Test_Fusion package","multiview_platform.tests.test_multiview_classifiers.Test_PseudoCQMeasure package","multiview_platform.tests.test_utils package","Example 0 : Getting started with SuMMIT on digits","Example 1 : First big step with SuMMIT","Example 2 : Understanding the hyper-parameter optimization","Example 3 : Understanding the statistical iterations","Taking control : Use your own dataset","Taking control : Use your own algorithms","Hyper-parameter 101","SuMMIT Tutorials","Install SuMMIT"],titleterms:{"1560_12_25":41,"15_42":41,accuracy_scor:41,adding:[44,45],addit:44,algorithm:45,all:[41,45],alreadi:[],analysi:0,analyze_result:[16,17,18,19,20,21,22,26],argument:5,arrai:45,author:5,automat:5,bare:44,bayesianinfer:25,big:41,build:45,choic:46,classif:[6,12,40],classifi:[8,9,41,45],compat:5,complex:45,conclus:[40,42],config_fil:41,configur:27,content:[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],context:43,contributor:5,control:[44,45],convers:44,cross:46,csv:41,data:5,dataset:[5,27,41,44,45],depend:41,difficulty_fus:16,digit:40,disagree_fus:17,discov:5,discoveri:40,divers:9,document:[2,3],double_fault_fus:18,durat:43,earlyfus:23,earlyfusionpackag:24,entropy_fus:19,error_analysis_2d:41,error_analysis_bar:41,exampl:[40,41,42,43,44,45],exec_classif:14,exect:2,execut:[6,10,13,27],experi:42,fat_late_fus:20,fat_scm_late_fus:21,few:42,file:41,first:[40,41],fold:46,format:[],framework:7,fusion:[9,22,23,24,25],gener:41,get:[5,40,41],get_multiview_db:27,get_v:45,grid:[42,46],hand:42,have:[],hdf5:44,how:43,html:41,hyper:[42,46],hyper_parameter_search:27,impact:42,indice:3,inform:[40,44],instal:5,install:[5,48],integrat:[3,5],interpret:45,introduct:41,intuit:46,iter:43,latefus:23,latefusionpackag:25,launch:48,learn:42,list:45,log:41,main:40,majorityvot:25,make:45,make_file_config:27,manipul:45,method:[23,24,25],metric:[7,46],modul:[0,6,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],mono:12,mono_multi_view_classifi:[14,15,16,17,18,19,20,21,22,23,24,25,26,27],monoview:45,more:[40,42,45],multiclass:[11,27],multimod:[3,5],multiview:[1,45],multiview_classifi:[15,16,17,18,19,20,21,22,23,24,25,26],multiview_platform:[4,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],multiview_result_analysi:27,must:[],mutliview:12,necess:44,object:45,optim:[42,46],own:[44,45],packag:[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],paramet:[42,46],pickl:41,platform:1,png:41,prerequisit:5,pseudo_cq_fus:26,random:[42,46],random_st:41,readm:5,refer:13,report:42,result:[0,40,42],result_analysi:14,rule:41,run:[5,40],scmforlinear:25,score:40,search:[42,46],setup:48,simpl:45,simul:5,size:42,split:[42,46],start:[5,40,41],statist:43,step:41,structur:44,submodul:[13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],subpackag:[13,14,15,22,23,28,32,37],summit:[40,41,47,48],supervis:[3,5],svmforlinear:25,tabl:3,take:[44,45],task:45,test:[13,28,29,30,31,32,33,34,35,36,37,38,39,46],test_accuracy_scor:29,test_adaboost:31,test_compat:31,test_configur:39,test_difficultymeasur:33,test_difficultymeasuremodul:33,test_disagreefus:34,test_disagreefusionmodul:34,test_diversity_util:32,test_doublefaultfus:35,test_doublefaultfusionmodul:35,test_entropyfus:36,test_entropyfusionmodul:36,test_execclassif:28,test_execclassifmonoview:30,test_execut:39,test_fus:37,test_fusionmodul:37,test_getmultiviewdb:39,test_metr:29,test_mono_view:30,test_monoview_classifi:31,test_monoviewutil:30,test_multiclass:39,test_multiview_classifi:[32,33,34,35,36,37,38],test_pseudocqfusionmodul:38,test_pseudocqmeasur:38,test_resultanalysi:28,test_util:39,them:41,thi:41,tool:[3,5,48],train:46,transform:27,tutori:[41,47],understand:[42,43,46],usage:42,use:[44,45],util:[10,11,27],valid:46,version:13,view:45,weightedlinear:[24,25],welcom:[2,3],work:45,yml:41,you:[],your:[5,44,45]}}) \ No newline at end of file diff --git a/docs/build/tutorials/example1.html b/docs/build/tutorials/example1.html index 68756c61..9600ad11 100644 --- a/docs/build/tutorials/example1.html +++ b/docs/build/tutorials/example1.html @@ -209,7 +209,7 @@ <div class="highlight-python"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">execute</span><span class="p">(</span><span class="s1">'example 1'</span><span class="p">)</span> </pre></div> </div> -<p>The execution should take less than five minutes. We will first analyze the results and parse through the information the platform output.</p> +<p>The execution should take less than one minute. We will first analyze the results and parse through the information the platform outputs.</p> <p><strong>Understanding the results</strong></p> <p>The result structure can be startling at first, but, as the platform provides a lot of information, it has to be organized.</p> <p>The results are stored in <a class="reference external" href="https://gitlab.lis-lab.fr/baptiste.bauvin/summit/-/tree/master/multiview_platform/examples/results/example_1/">a directory</a>. Here, you will find a directory with the name of the database used for the benchmark, here : <code class="docutils literal"><span class="pre">summit_doc/</span></code></p> @@ -228,6 +228,10 @@ padding: 0; } +#allUls { + +} + .caret { cursor: pointer; -webkit-user-select: none; /* Safari 3.1+ */ @@ -272,10 +276,12 @@ .nested { display: none; + list-style-type: none; } .active { display: block; + list-style-type: none; } .plif { diff --git a/docs/build/tutorials/index.html b/docs/build/tutorials/index.html index 0b33cefb..ef22adc5 100644 --- a/docs/build/tutorials/index.html +++ b/docs/build/tutorials/index.html @@ -27,7 +27,7 @@ <link rel="search" title="Search" href="../search.html" /> <link rel="top" title="MultiviewPlatform 0 documentation" href="../index.html" /> <link rel="next" title="Install SuMMIT" href="installation.html" /> - <link rel="prev" title="Readme" href="../readme_link.html" /> + <link rel="prev" title="Supervised MultiModal Integration Tool’s Readme" href="../readme_link.html" /> </head> <body role="document"> <div class="related" role="navigation" aria-label="related navigation"> @@ -43,7 +43,7 @@ <a href="installation.html" title="Install SuMMIT" accesskey="N">next</a> |</li> <li class="right" > - <a href="../readme_link.html" title="Readme" + <a href="../readme_link.html" title="Supervised MultiModal Integration Tool’s Readme" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">MultiviewPlatform 0 documentation</a> »</li> </ul> @@ -78,7 +78,7 @@ <div class="sphinxsidebarwrapper"> <h4>Previous topic</h4> <p class="topless"><a href="../readme_link.html" - title="previous chapter">Readme</a></p> + title="previous chapter">Supervised MultiModal Integration Tool’s Readme</a></p> <h4>Next topic</h4> <p class="topless"><a href="installation.html" title="next chapter">Install SuMMIT</a></p> @@ -116,7 +116,7 @@ <a href="installation.html" title="Install SuMMIT" >next</a> |</li> <li class="right" > - <a href="../readme_link.html" title="Readme" + <a href="../readme_link.html" title="Supervised MultiModal Integration Tool’s Readme" >previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">MultiviewPlatform 0 documentation</a> »</li> </ul> diff --git a/docs/source/conf.py b/docs/source/conf.py index 24510aa3..5119cc7f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -192,6 +192,10 @@ rst_prolog = """ :language: yaml .. |platf| replace:: SuMMIT + +.. |HP| replace:: hyper-parameter + +.. |HPO| replace hyper-parameters optimization """ diff --git a/docs/source/tutorials/example1.rst b/docs/source/tutorials/example1.rst index ddef5b50..c8b21aec 100644 --- a/docs/source/tutorials/example1.rst +++ b/docs/source/tutorials/example1.rst @@ -95,7 +95,7 @@ During the whole benchmark, the log file will be printed in the terminal. To sta >>> execute('example 1') -The execution should take less than five minutes. We will first analyze the results and parse through the information the platform output. +The execution should take less than one minute. We will first analyze the results and parse through the information the platform outputs. **Understanding the results** diff --git a/docs/source/tutorials/example2.rst b/docs/source/tutorials/example2.rst index e3c25ad7..11d3d7cc 100644 --- a/docs/source/tutorials/example2.rst +++ b/docs/source/tutorials/example2.rst @@ -14,7 +14,7 @@ In order to understand the process and it's usefulness, let's run some configura This example will focus only on some lines of the configuration file : -- :yaml:`split:`, controlling the ration of size between the testing set and the training set, +- :yaml:`split:`, controlling the ratio between the testing set and the training set, - :yaml:`hps_type:`, controlling the type of hyper-parameter search, - :yaml:`hps_args:`, controlling the parameters of the hyper-parameters search method, - :yaml:`nb_folds:`, controlling the number of folds in the cross-validation process. @@ -23,19 +23,19 @@ Example 2.1 : No hyper-parameter optimization, impact of split size <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -For this example, we only used a subset of the available classifiers in |platf|, to reduce the computation time and the complexity of the results. +For this example, we only used a subset of the available classifiers in |platf|, to reduce the computation time and the complexity of the results. Here, we will learn how to define the train/test ratio and its impact on the benchmark. -Each classifier will first be learned on the default hyper-parameters (as in :base_doc:`Example 1 <tutorials/example1.html>`) +The monoview classifiers used are `Adaboost <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html#sklearn.ensemble.AdaBoostClassifier>`_ and a `decision tree <https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html>`_, +and the multivew classifier is a late fusion majority vote. -The monoview classifiers that will be used are `Adaboost <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html#sklearn.ensemble.AdaBoostClassifier>`_ and a `decision tree <https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html>`_, -and the multivew classifier is a late fusion majority vote. In order to use only a subset of the available classifiers, -three lines in the configuration file are useful : +In order to use only a subset of the available classifiers, three lines in the configuration file are useful : - :yaml:`type:` (:base_source:`l45 <multiview_platform/examples/config_files/config_example_2_1_1.yml#L45>`) in which one has to specify which type of algorithms are needed, here we used ``type: ["monoview","multiview"]``, - :yaml:`algos_monoview:` (:base_source:`l47 <multiview_platform/examples/config_files/config_example_2_1_1.yml#L45>`) in which one specifies the names of the monoview algorithms to run, here we used : :yaml:`algos_monoview: ["decision_tree", "adaboost", ]` - :yaml:`algos_multiview:` (:base_source:`l49 <multiview_platform/examples/config_files/config_example_2_1_1.yml#L45>`) is the same but with multiview algorithms, here we used : :yaml:`algos_multiview: ["majority_voting_fusion", ]` -In order for the platform to understand the names, the user has to give the **name of the python module** in which the classifier is implemented in the platform. +.. note:: + For the platform to understand the names, the user has to give the **name of the python module** in which the classifier is implemented in the platform. In the config file, the default values for Adaboost's hyper-parameters are : @@ -75,7 +75,12 @@ And for the late fusion majority vote : Learning on a few examples >>>>>>>>>>>>>>>>>>>>>>>>>> -To run this example run, +This example focuses on one line of the config file : + +* :yaml:`split: 0.80`(:base_source:`l37 <multiview_platform/examples/config_files/config_example_2_1_1.yml#L37>`). + + +To run the first part of this example, run : .. code-block:: python @@ -109,7 +114,7 @@ You should obtain these scores in ``multiview_platform/examples/results/example_ :file: ./images/example_2/2_1/high_train_accs.html -Here we learned on 80% of the dataset and tested on 20%, so the line in the :base_source:`config file <multiview_platform/examples/config_files/config_example_2_1_2.yml#L37>` has become ``split: 0.2``. +Here we learned on 80% of the dataset and tested on 20%, so the line in the :base_source:`config file <multiview_platform/examples/config_files/config_example_2_1_2.yml#L37>` has become :yaml:`split: 0.2`. The difference between these two examples is noticeable as even if, while learning on more examples, the performance of the decision trees and the late fusion improved, the performance of Adaboost did not improve as it was already over-fitting on the small train set. @@ -120,7 +125,7 @@ Conclusion The split ratio has two consequences : - Increasing the test set size decreases the information available in the train set size so either it helps to avoid overfitting (Adaboost) or it can hide useful information to the classifier and therefor decrease its performance (decision tree), -- The second consequence is that increasing train size will increase the benchmark duration as the classifier will have to learn on more examples, this duration modification is higher if the dataset has high dimensionality and if the algorithm is algorithmically complex. +- The second consequence is that increasing train size will increase the benchmark duration as the classifiers will have to learn on more examples, this duration modification is higher if the dataset has high dimensionality and if the algorithms are complex. .. _random: Example 2.2 : Usage of randomized hyper-parameter optimization : @@ -133,7 +138,9 @@ This is only useful if one knows the optimal combination of hyper-parameter for However, most of the time, they are unknown to the user, and then have to be optimized by the platform. -In this example, we will use an randomized search, one of the two hyper-parameter optimization methods implemented in |platf|. To do so we will go through five lines of the config file : +In this example, we will use a randomized search, one of the two hyper-parameter optimization methods implemented in |platf|. + +To do so we will go through five lines of the config file : - :yaml:`hps_type:`, controlling the type of hyper-parameter search, - :yaml:`n_iter:`, controlling the number of random draws during the hyper-parameter search, @@ -187,7 +194,7 @@ The computing time of this run should be longer than the previous examples (appr learn on the whole training set The instructions inside the brackets are the one that the hyper-parameter -optimization (HPO) adds. +optimization adds. .. note:: @@ -198,7 +205,7 @@ optimization (HPO) adds. The results >>>>>>>>>>> -Here, we used :yaml:`split: 0.8` and the results are far better than :base_doc:`earlier <tutorials/example2.html#learning-on-more-examples>`, as the classifiers are able to fit the task (the multiview classifier improved its accuracy from 0.46 in example 2.1.1 to 0.59). +Here, we used :yaml:`split: 0.8` and the results are far better than :base_doc:`earlier <tutorials/example2.html#learning-on-more-examples>`, as the classifiers are able to fit the task (the multiview classifier improved its accuracy from 0.46 in Example 2.1.1 to 0.59). .. raw:: html @@ -210,16 +217,16 @@ The choice made here is to allow a different amount of draws for mono and multiv .. note:: - The mutliview algorithm used here is late fusion, which means it learns a monoview classifier on each view and then build a naive majority vote. In terms of hyper parameters, the late fusion classifier has to choose one monoview classifier and its HP **for each view**. This is why the :yaml:`equivalent_draws:` parameter is implemented, as with only 5 draws, the late fusion classifier is not able to remotely cover its hyper-parameter space, while the monoview algorithms have a much smaller problem to solve. + The mutliview algorithm used here is late fusion, which means it learns a monoview classifier on each view and then build a naive majority vote. In terms of hyper parameters, the late fusion classifier has to choose one monoview classifier and its HP **for each view**. This is why the :yaml:`equivalent_draws:` parameter is implemented, as with only 5 draws, the late fusion classifier is not able to remotely cover its hyper-parameter space, while the monoview algorithms have a much easier problem to solve. Conclusion >>>>>>>>>> -Even if it adds a lot of computing, for most of the tasks, using the HPO is a necessity to be able to get the most of each classifier in terms of performance. +Even if it adds a lot of computing, for most of the tasks, using the |HPO| is a necessity to be able to get the most of each classifier in terms of performance. -The HPO is a matter of trade-off between classifier performance and computational demand. +The |HPO| is a matter of trade-off between classifier performance and computational demand. For most algorithms the more draws you allow, the closer to ideal the outputted -hyper-parameter (HP) set one will be, however, many draws mean much longer computational time. +hyper-parameter set one will be, however, many draws mean much longer computational time. Similarly, the number of folds has a great importance in estimating the performance of a specific HP set, but more folds take also more time, as one has to train more times and on bigger parts of the dataset. @@ -234,20 +241,20 @@ with different fold/draws settings : .. note:: - The durations are for reference only as they highly depend on the hardware. + The durations are for reference only as they highly depend on hardware. -Example 2.3 : Usage of grid search : +Example 2.3 : Usage of grid search :v <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< In |platf|, it is possible to use a grid search if one has several possible hyper-parameter values in mind to test. -In order to set up the grid search one has to provide in the :yaml:`hps_args:` -argument the names, parameters and values to test. If one wants to try +In order to set up the grid search we have to provide the +arguments names and values to test in in the :yaml:`hps_args:` argument. If we want to try several depths for a decision tree, and several :yaml:`n_estimators` values for Adaboost, .. code-block:: yaml @@ -280,6 +287,15 @@ This will try to run the late fusion classifier with either - one decision tree per view, with a maximum depth of 3, - one Adaboost per view with 10 base estimators. +To run a grid search with this configuration, run : + +.. code-block:: python + + >>> from multiview_platform.execute import execute + >>> execute("example 2.3") + +It will use :base_source:`this config file <multiview_platform/examples/config_files/config_example_2_3.yml>`. + Hyper-parameter report <<<<<<<<<<<<<<<<<<<<<< @@ -308,8 +324,8 @@ So to run a decision tree with these exact parameters, one just has to follow th .. code-block:: yaml hps_type: "None" - hps_args: - decision_tree: - criterion: gini - max_depth: 202 - splitter: random \ No newline at end of file + hps_args: {} + decision_tree: + criterion: gini + max_depth: 202 + splitter: random \ No newline at end of file diff --git a/docs/source/tutorials/example3.rst b/docs/source/tutorials/example3.rst index ec1154fb..0f5cc416 100644 --- a/docs/source/tutorials/example3.rst +++ b/docs/source/tutorials/example3.rst @@ -5,7 +5,7 @@ Example 3 : Understanding the statistical iterations Context ------- -In the previous example, we have seen that in order to output meaningful results, the platform splits the input dataset in a training set and a testing set. +In the previous example, we have seen that in order to output meaningful results, the platform splits the input dataset in a training and a testing set. However, even if the split is done at random, one can draw a lucky (or unlucky) split and have great (or poor) performance on this specific split. @@ -15,7 +15,7 @@ To settle this issue, the platform can run on multiple splits and return the mea How to use it ------------- -This feature is controlled by a single argument : ``stats_iter:`` in the config file. +This feature is controlled by a single argument : :yaml:`stats_iter:` in the config file. Modifying this argument and setting more than one ``stats_iter`` will slightly modify the result directory's structure. Indeed, as the platform will perform a benchmark on multiple train/test split, the result directory will be larger in order to keep all the individual results. @@ -70,7 +70,7 @@ Similarly for the f1-score : The main difference between this plot an the one from :base_doc:`Example 1 <tutorials/example1.html>` is that here, the scores are means over all the statistical iterations, and the standard deviations are plotted as vertical lines on top of the bars and printed after each score under the bars as "± <std>". -This has also an impact on the error analysis of :base_doc:`Example 1 <tutorials/example1.html>`. Indeed, now it has multiple shades of gray depending on the number of iterations that succeeded or failed on the example : +This has also an impact on the display of error analysis. Indeed, now it has multiple shades of gray depending on the number of iterations that succeeded or failed on the example : .. raw:: html :file: ./images/example_3/err.html @@ -89,6 +89,6 @@ Increasing the number of statistical iterations can be costly in terms of comput .. note:: - Parallelizing |platf|'s statistical iteration can improve its efficiency when using multiple iterations, it is currently work in progress + Parallelizing |platf|'s statistical iterations can improve its efficiency when using multiple iterations, it is currently work in progress. diff --git a/docs/source/tutorials/example4.rst b/docs/source/tutorials/example4.rst index e93ff236..077d6d79 100644 --- a/docs/source/tutorials/example4.rst +++ b/docs/source/tutorials/example4.rst @@ -10,7 +10,7 @@ The bare necessities At the moment, in order for the platform to work, the dataset must satisfy the following minimum requirements : -- Each example must be described in each view, with no missing data (you can use external tools to fill the gaps, or use only the fully-described examples of you dataset) +- Each example must be described in each view, with no missing data (you can use external tools to fill the gaps, or use only the fully-described examples of your dataset) The dataset structure --------------------- diff --git a/docs/source/tutorials/images/example_1/folder_description.html b/docs/source/tutorials/images/example_1/folder_description.html index 3256e27e..fc37f76c 100644 --- a/docs/source/tutorials/images/example_1/folder_description.html +++ b/docs/source/tutorials/images/example_1/folder_description.html @@ -11,6 +11,10 @@ padding: 0; } +#allUls { + +} + .caret { cursor: pointer; -webkit-user-select: none; /* Safari 3.1+ */ @@ -55,10 +59,12 @@ .nested { display: none; + list-style-type: none; } .active { display: block; + list-style-type: none; } .plif { -- GitLab