From b5d36831157bd45f987b252ba8e5cf2a9f919aca Mon Sep 17 00:00:00 2001 From: livindra Date: Sun, 31 May 2026 15:44:18 +0700 Subject: [PATCH] Add trained model artifacts --- .gitignore | 4 ++++ models/knn_model.pkl | Bin 0 -> 44534 bytes models/label_encoder.pkl | Bin 0 -> 367 bytes models/pca.pkl | Bin 0 -> 1935 bytes models/scaler.pkl | Bin 0 -> 735 bytes 5 files changed, 4 insertions(+) create mode 100644 models/knn_model.pkl create mode 100644 models/label_encoder.pkl create mode 100644 models/pca.pkl create mode 100644 models/scaler.pkl diff --git a/.gitignore b/.gitignore index 165091e..993795a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,10 @@ __pycache__ .vscode models/* +!models/knn_model.pkl +!models/scaler.pkl +!models/label_encoder.pkl +!models/pca.pkl results/* dataset/* uploads/* \ No newline at end of file diff --git a/models/knn_model.pkl b/models/knn_model.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bc613ca2b3721c5a41f26ad507c000a74afbf284 GIT binary patch literal 44534 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�q*jE8~)gBhnXk0fK6&1bc+jrAyE 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 literal 0 HcmV?d00001 diff --git a/models/label_encoder.pkl b/models/label_encoder.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b5ea030689522ac05daf8c07e543e047e592b165 GIT binary patch literal 367 zcmY*Vu}TCn5cSSGTx5$A?G)>?30epiHX>FlTL@wqlHG8-UN#BIuCj%og?Per&V8>= z*0b=zOI~K?Wrlg3tkcof05}Rut%NtsdF8w)n_l+rRsXTt+$s4}l z9Fjtd5LDm@`;S)YS~Al$uIH{U=s$$LJU*|y7yW}5&iyloP7Z#A>EJ@xF{OyL)B&cU z5>8<@ekW~x>tyo1L7>$L;*wYsTVjkUVnvL(7+W9H5dky4StEZ^ QKGfFGxM%Ewonj~152+V~BLDyZ literal 0 HcmV?d00001 diff --git a/models/pca.pkl b/models/pca.pkl new file mode 100644 index 0000000000000000000000000000000000000000..67d75eb2f06fb7494af78985b156180950dea545 GIT binary patch literal 1935 zcma)7dsGxv7~ka~kA%fQL+}+EijS@AXi~%-B&A#)W{3pjb#`}_8Qq;3cV>45MIi;j z22`B&P(oRvVIi)d6~Wo7f?=Fg5+nsf#MIIVG>%4QGz+5E>5uLobMC$K`@ZjYe)oH1 zx>(Q2WrIry;8y7g+(;|6goZJ&3`g-4Ln|Sx!9~G&ab$$JLk!6hGsJ1aNE!}8XoBWB zQRODMXc#t4%oRphNQx(DF;DR1%v#7XdNW}Z1sB}JGm;aY(Th<-;bbzwTY?&Kp3p*; zu}Cn|L-3*@BUx~`fz=a|XHOwu@E;t4N_-&A7!A0dN*^*9X~bzQV}KklITB+9ZyM?d zoHrQ>4pKA}RbGMu>L?yQPDi0(%(#)lX$=7hDwPxkR|A1dXu)?Sqt;VuC2caWX^^Ef zk|d%qD%Np~FdFf+Wk#H3rO*$haOX^FjUMMX$;qIVD7evD+<}!qf-6VjEFsazmiCNM z>rg`;DebjR5D&v3!b=M&sd4)J_UYK6o6vE?*l^O&MJQCRu7q?YXL-B^u%NnvYH zKS=PNWh|WkCYDngQuFRF`!JoXzEUdZ`>R0eX+Y0}a*Q$WEst+wsd~=rFJ}6(>nX(yB=%7`2^LB zBfB!d{Ma*LPtDB)Gga@GB&q6v#e-gY<%=)CD^+w~Io$(-M#uLk586=py@-MhcRB$) zX>i9z-UN$JCEdy{%mYPQR2QXs9ehB$Rvr&p2kuVT>UO9p8^wP0^=J86J}BBh`pWrg zfa;62`90$opm9Ex>nztJknXKG7mw39sKT;lh1Y!?yw_g%Yg2Otnn+HcvFTD4D4!YT zk}-87;&1)#K7pms;`F_BUD+adeQMBC%Rbo+Zv38?9(tw+2&u5VN?DBptG0j=*$ohO zo4BJZ`vC<{@2uZb(h9Is4RM*FQ$UT_I)*VsfYP;n&P^k;QSoHBii=zdVEk{}+w}ox zc0&3<;`>j7*8c9ZF@e5d#)89@XHBo5P?v*o*iR&~9qFh@RPRJ7E$95;WeBcRP5DTz zNkjpM*JlOoS&j_t6}?tj0t&nApRRc_30y2Xap6dD518WpsVC!AhQ8Z+D#U!@ILaw2 zXh_=B1%7mO@2)*^4V3IWHqWW(0!rC%p8ffaQdGKe_8x`L&3+AXO5g;IgWUIMm~ zxO;P6d`ztwEx+2ZK6!kdJy>@8dR=X&eN1JCkF}%I{&8|```G=n(5ty?6^s6`+vB@y z6Kzqc=+5$rIMn|#`lfsOVXmh8*;jZR@GRcYZjW5H)ZBghX%yT% zQBl(nj*gleZ?06WLtNSt z&c713P!}DM+_9s0*XhUz-}Px5`Vv(-!FF7uX6;j%bQw={jH!Y-45e z^&qOY;3C-;2qyI}aq9iR4|wlq4srnFBqo_U+?3ab*H*H_lp~=AZE^MxuYvD2L cgop9rgE0#ob50s)(kyshIZyeVXi_Wx2Jh!*yZ`_I literal 0 HcmV?d00001 diff --git a/models/scaler.pkl b/models/scaler.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b982e398c32c11a80772f2e5da2c9c1f78784569 GIT binary patch literal 735 zcma))O=uHA6vxw;niy@Y5f!YIidJhWi%P)w#cnBHT!>;74+`V#X42Vqzns~$%|U3z zny3S%I?;m_M8u;YUaF$dLQ%8@DPE+ARzbvrqO=EliL)Ck9({*-Gmn}1{r_)fAX2_u z6AFSg&>j;(VoNSTE^%~3sbP0XAPYUnS)$W}b{3Lsrw&a-_%*&`ke}l%Y(<~pVPGL> z^Ad{%3+iRXJfb^pLF9xDatL~Pf+#R-z||;QZ37A|*Ax|skf^bBcHVLelI{>BS$Wel zAR(~8*>Wmy(8sabV2j9EuizrT63(UhrBaa}<1OkkR&#)7GMU2_5y7B_Jg#-bs_s06 zUljXTtuIvY)^LVkIsHPq?%8jSD9;xabWuY>>9^CyXFLuoLeOmk?PY;A2-0PW> z%dJ)0Ar|R{1aRC?eJ$LGoA72|D&B&(;%1!0+e&!5PmTD*ABi`!?+1sJ+(gLmaFo3X!OIck@NEBC#NTp!`J0<+Y&E$F!W!hY|!>F0>Dp?PekxN=;++4wL#d}d63cjfEG g(aMBeZd~HkgFoLE^ddqH#}C8edEJg-T=0aEQP7ytkO literal 0 HcmV?d00001