From fac5db6312119275d1c23b0df4b08f8899a6b087 Mon Sep 17 00:00:00 2001 From: James Bristow Date: Sat, 2 Mar 2024 00:07:21 +1300 Subject: [PATCH] Adding automl --- AUC.png | Bin 0 -> 58535 bytes auto_ml_test.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 AUC.png create mode 100644 auto_ml_test.py diff --git a/AUC.png b/AUC.png new file mode 100644 index 0000000000000000000000000000000000000000..678a0878066c13ec261b9947ad7cd989c1f3d719 GIT binary patch literal 58535 zcmbqbg;!Qzutg9=kPrnF2~hzB1!<&P1tg>!De3M;S|k(@X{4pQB}KYH>F(~1H`m{K z?;m(;`7IIQe)pa;XV0EJd%gf^$(J}-Bv>dYC^)ZQ3BN@_L9IkVxpIn$0pEFellu+) z^}q&6w%g=~u;yf7F#W$D zpf|UA&#)aIuM8KtZt+Ul8U+RK9rC)8!Iy4`f--mewXlGkL+skPy+fGZX!EwYXn)G` zMCzxnKe7DRp7|$vU{Bjl2}<+-^2DNjK#PgVAuVmO&GGpf;huoV?Q4%8+%FVR@MNmA z4@u1-^iPWqMsz z|M!&)&Fdb*fB$X!<^S_7qbS4vwBAg4y7at1Ija3-=9(L|mu_~O6Y3k5lWwQabbf#O z?tHjWY(5!Jms|d!ncVr4dX=60k&>qSIjjAIBh7fF?L$gRPfxUKJ9A-DR$Eg7kw%?u zZQ9cfK5EYEB{pkApXt>rEgEsy^KF*jVqsxr?wuKb+1s-*tC%MuARutqs95B7yI`m} z`k;`bVma4xGbEvkyFcwsvi;@+v28GXvp}mJwT!%oman^Hyv`HNaqjcWYIR?H+xS1D z=$Mpa#3UqbikhyeV`Zc3v7ELasl>lptmc&MY&TQ%7wEi1A;rB0m(y7vDH(I#{3#K| zHsEi&w< zK07-bb5gT+i(maHpQSK8J3G71G6-QMes_ zC%D0TJa{UyQnhN#W@9?>ClX2Qi@m(I{<*1ZsLo`S>D?cTw zv{`P*RxU!xSIMcqI9a_x!s36hKH6XF?yljqO!br~(5eH%`VPApDUZ`$qL3dh63~*9 zVY}m&&B$&_{4gFVHbi+uL&L1scH3!hN#OKgy<(@04he$%VH3%2*m-5{{Q+5I4-(uj zDjJ$Cn?65$iQJHSrOkKO(*xv^E@#`#lBdXJ+|C?0ZC8X3H^!rQoY^K_c5&c-A22fB zd^~D9-OYEYySLP9vpy0b8OLb}?@?&Cu7aZBer`+dezwijeR-CP4Xem~w$+IIP*)t6 z^R7jdLq}kw?r@WYF*UCSYck+s_+F%#db2S!1)*7xpm3>~}`B}pH*qB

w)sg-g5HUr>E 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�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 MGbTstEZp|L0AB5L#Q*>R literal 0 HcmV?d00001 diff --git a/auto_ml_test.py b/auto_ml_test.py new file mode 100644 index 0000000..7bf7eb0 --- /dev/null +++ b/auto_ml_test.py @@ -0,0 +1,42 @@ +import os +os.environ['WHYLOGS_NO_ANALYTICS']='True' + +from deepchecks.tabular.suites import full_suite +from evidently.metric_preset import ( + DataDriftPreset, DataQualityPreset, TargetDriftPreset, RegressionPreset, ClassificationPreset +) + +from evidently.report import Report +from evidently.test_preset import ( + DataStabilityTestPreset, DataQualityTestPreset, + BinaryClassificationTestPreset, BinaryClassificationTopKTestPreset, + DataDriftTestPreset, MulticlassClassificationTestPreset, + RegressionTestPreset +) + +from evidently.test_suite import TestSuite +from sklearn.datasets import load_iris +from sklearn.linear_model import LogisticRegression +from sklearn.model_selection import train_test_split +import whylogs as why +from whylogs.viz import NotebookProfileVisualizer + +from ydata_profiling import ProfileReport + +from pycaret.classification import * + +def main(): + # load dataset + from pycaret.datasets import get_data + diabetes = get_data('diabetes') + + clf1 = setup(data = diabetes, target = 'Class variable') + + # creating a model + lr = create_model('lr') + + plot_model(lr, plot = 'auc', save = True) + + +if __name__ == "__main__": + main() \ No newline at end of file