aaronayitey commited on
Commit
20223fb
1 Parent(s): d300aaa

Upload 5 files

Browse files
Files changed (5) hide show
  1. preprocessor.joblib +3 -0
  2. requirements.txt +374 -0
  3. some_data.xlsx +0 -0
  4. streamlit_app.py +217 -0
  5. xgb_model.joblib +3 -0
preprocessor.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:101df35c994679074cf360213dc5301abc6c5ddbb1af7f43ebfa5dc61f5af530
3
+ size 4982
requirements.txt ADDED
@@ -0,0 +1,374 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ streamlit
2
+ alabaster @ file:///home/ktietz/src/ci/alabaster_1611921544520/work
3
+ altair==5.1.1
4
+ anaconda-client==1.11.2
5
+ anaconda-navigator==2.4.0
6
+ anaconda-project @ file:///C:/Windows/TEMP/abs_91fu4tfkih/croots/recipe/anaconda-project_1660339890874/work
7
+ anyio @ file:///C:/ci/anyio_1644481856696/work/dist
8
+ appdirs==1.4.4
9
+ arch==6.1.0
10
+ argon2-cffi @ file:///opt/conda/conda-bld/argon2-cffi_1645000214183/work
11
+ argon2-cffi-bindings @ file:///C:/ci/argon2-cffi-bindings_1644569876605/work
12
+ arrow @ file:///C:/b/abs_cal7u12ktb/croot/arrow_1676588147908/work
13
+ astroid @ file:///C:/b/abs_d4lg3_taxn/croot/astroid_1676904351456/work
14
+ astropy @ file:///C:/ci/astropy_1657719642921/work
15
+ asttokens @ file:///opt/conda/conda-bld/asttokens_1646925590279/work
16
+ atomicwrites==1.4.0
17
+ attrs @ file:///C:/b/abs_09s3y775ra/croot/attrs_1668696195628/work
18
+ Automat @ file:///tmp/build/80754af9/automat_1600298431173/work
19
+ autopep8 @ file:///opt/conda/conda-bld/autopep8_1650463822033/work
20
+ Babel @ file:///C:/b/abs_a2shv_3tqi/croot/babel_1671782804377/work
21
+ backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
22
+ backports.functools-lru-cache @ file:///tmp/build/80754af9/backports.functools_lru_cache_1618170165463/work
23
+ backports.tempfile @ file:///home/linux1/recipes/ci/backports.tempfile_1610991236607/work
24
+ backports.weakref==1.0.post1
25
+ bcrypt @ file:///C:/Windows/Temp/abs_36kl66t_aw/croots/recipe/bcrypt_1659554334050/work
26
+ beautifulsoup4 @ file:///C:/ci/beautifulsoup4_1650293028159/work
27
+ binaryornot @ file:///tmp/build/80754af9/binaryornot_1617751525010/work
28
+ black @ file:///C:/ci/black_1660221726201/work
29
+ bleach @ file:///opt/conda/conda-bld/bleach_1641577558959/work
30
+ blinker==1.6.2
31
+ bokeh @ file:///C:/Windows/TEMP/abs_4a259bc2-ed05-4a1f-808e-ac712cc0900cddqp8sp7/croots/recipe/bokeh_1658136660686/work
32
+ boltons @ file:///C:/b/abs_707eo7c09t/croot/boltons_1677628723117/work
33
+ Bottleneck @ file:///C:/Windows/Temp/abs_3198ca53-903d-42fd-87b4-03e6d03a8381yfwsuve8/croots/recipe/bottleneck_1657175565403/work
34
+ branca==0.6.0
35
+ brotlipy==0.7.0
36
+ bs4==0.0.1
37
+ cachetools==5.3.1
38
+ calplot==0.1.7.5
39
+ certifi @ file:///C:/b/abs_85o_6fm0se/croot/certifi_1671487778835/work/certifi
40
+ cffi @ file:///C:/b/abs_49n3v2hyhr/croot/cffi_1670423218144/work
41
+ chardet @ file:///C:/ci_310/chardet_1642114080098/work
42
+ charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
43
+ click @ file:///C:/ci/click_1646056762388/work
44
+ cloudpickle @ file:///tmp/build/80754af9/cloudpickle_1632508026186/work
45
+ clyent==1.2.2
46
+ colorama @ file:///C:/b/abs_a9ozq0l032/croot/colorama_1672387194846/work
47
+ colorcet @ file:///C:/b/abs_46vyu0rpdl/croot/colorcet_1668084513237/work
48
+ comm @ file:///C:/b/abs_1419earm7u/croot/comm_1671231131638/work
49
+ conda==23.3.1
50
+ conda-build==3.24.0
51
+ conda-content-trust @ file:///C:/Windows/TEMP/abs_4589313d-fc62-4ccc-81c0-b801b4449e833j1ajrwu/croots/recipe/conda-content-trust_1658126379362/work
52
+ conda-pack @ file:///tmp/build/80754af9/conda-pack_1611163042455/work
53
+ conda-package-handling @ file:///C:/b/abs_fcga8w0uem/croot/conda-package-handling_1672865024290/work
54
+ conda-repo-cli==1.0.41
55
+ conda-token @ file:///Users/paulyim/miniconda3/envs/c3i/conda-bld/conda-token_1662660369760/work
56
+ conda-verify==3.4.2
57
+ conda_package_streaming @ file:///C:/b/abs_0e5n5hdal3/croot/conda-package-streaming_1670508162902/work
58
+ constantly==15.1.0
59
+ contourpy @ file:///C:/b/abs_d5rpy288vc/croots/recipe/contourpy_1663827418189/work
60
+ cookiecutter @ file:///opt/conda/conda-bld/cookiecutter_1649151442564/work
61
+ cryptography @ file:///C:/b/abs_8ecplyc3n2/croot/cryptography_1677533105000/work
62
+ cssselect==1.1.0
63
+ cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
64
+ Cython==3.0.2
65
+ cytoolz @ file:///C:/b/abs_61m9vzb4qh/croot/cytoolz_1667465938275/work
66
+ daal4py==2023.0.2
67
+ dask @ file:///C:/ci/dask-core_1658497112560/work
68
+ datashader @ file:///C:/b/abs_e80f3d7ac0/croot/datashader_1676023254070/work
69
+ datashape==0.5.4
70
+ debugpy @ file:///C:/ci_310/debugpy_1642079916595/work
71
+ decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
72
+ defusedxml @ file:///tmp/build/80754af9/defusedxml_1615228127516/work
73
+ diff-match-patch @ file:///Users/ktietz/demo/mc3/conda-bld/diff-match-patch_1630511840874/work
74
+ dill @ file:///C:/b/abs_42h_07z1yj/croot/dill_1667919550096/work
75
+ distributed @ file:///C:/ci/distributed_1658523963030/work
76
+ docstring-to-markdown @ file:///C:/b/abs_cf10j8nr4q/croot/docstring-to-markdown_1673447652942/work
77
+ docutils @ file:///C:/Windows/TEMP/abs_24e5e278-4d1c-47eb-97b9-f761d871f482dy2vg450/croots/recipe/docutils_1657175444608/work
78
+ entrypoints @ file:///C:/ci/entrypoints_1649926676279/work
79
+ et-xmlfile==1.1.0
80
+ executing @ file:///opt/conda/conda-bld/executing_1646925071911/work
81
+ Faker==18.9.0
82
+ fastjsonschema @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_ebruxzvd08/croots/recipe/python-fastjsonschema_1661376484940/work
83
+ filelock @ file:///C:/b/abs_c7yrhs9uz2/croot/filelock_1672387617533/work
84
+ flake8 @ file:///C:/b/abs_9f6_n1jlpc/croot/flake8_1674581816810/work
85
+ Flask @ file:///C:/b/abs_ef16l83sif/croot/flask_1671217367534/work
86
+ flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
87
+ folium==0.14.0
88
+ fonttools==4.25.0
89
+ fsspec @ file:///C:/b/abs_5bjz6v0w_f/croot/fsspec_1670336608940/work
90
+ future @ file:///C:/b/abs_3dcibf18zi/croot/future_1677599891380/work
91
+ fuzzywuzzy==0.18.0
92
+ gensim @ file:///C:/b/abs_a5vat69tv8/croot/gensim_1674853640591/work
93
+ geographiclib==2.0
94
+ geopy==2.4.0
95
+ gitdb==4.0.10
96
+ GitPython==3.1.37
97
+ glob2 @ file:///home/linux1/recipes/ci/glob2_1610991677669/work
98
+ greenlet @ file:///C:/b/abs_47lk_w2ajq/croot/greenlet_1670513248400/work
99
+ h5py @ file:///C:/ci/h5py_1659089830381/work
100
+ HeapDict @ file:///Users/ktietz/demo/mc3/conda-bld/heapdict_1630598515714/work
101
+ holoviews @ file:///C:/b/abs_bbf97_0kcd/croot/holoviews_1676372911083/work
102
+ html5lib==1.1
103
+ huggingface-hub @ file:///C:/b/abs_8d8wo2z8c6/croot/huggingface_hub_1667490298905/work
104
+ hvplot @ file:///C:/b/abs_13un17_4x_/croot/hvplot_1670508919193/work
105
+ hyperlink @ file:///tmp/build/80754af9/hyperlink_1610130746837/work
106
+ hyperopt==0.2.7
107
+ idna @ file:///C:/b/abs_bdhbebrioa/croot/idna_1666125572046/work
108
+ imagecodecs @ file:///C:/b/abs_f0cr12h73p/croot/imagecodecs_1677576746499/work
109
+ imageio @ file:///C:/b/abs_27kq2gy1us/croot/imageio_1677879918708/work
110
+ imagesize @ file:///C:/Windows/TEMP/abs_3cecd249-3fc4-4bfc-b80b-bb227b0d701en12vqzot/croots/recipe/imagesize_1657179501304/work
111
+ imbalanced-learn @ file:///C:/b/abs_1911ryuksz/croot/imbalanced-learn_1677191585237/work
112
+ imblearn==0.0
113
+ importlib-metadata @ file:///C:/ci/importlib-metadata_1648544469310/work
114
+ incremental @ file:///tmp/build/80754af9/incremental_1636629750599/work
115
+ inflection==0.5.1
116
+ iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
117
+ intake @ file:///C:/b/abs_42yyb2lhwx/croot/intake_1676619887779/work
118
+ intervaltree @ file:///Users/ktietz/demo/mc3/conda-bld/intervaltree_1630511889664/work
119
+ ipykernel @ file:///C:/b/abs_b4f07tbsyd/croot/ipykernel_1672767104060/work
120
+ ipython @ file:///C:/b/abs_d3h279dv3h/croot/ipython_1676582236558/work
121
+ ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work
122
+ ipywidgets @ file:///tmp/build/80754af9/ipywidgets_1634143127070/work
123
+ isort @ file:///tmp/build/80754af9/isort_1628603791788/work
124
+ itemadapter @ file:///tmp/build/80754af9/itemadapter_1626442940632/work
125
+ itemloaders @ file:///opt/conda/conda-bld/itemloaders_1646805235997/work
126
+ itsdangerous @ file:///tmp/build/80754af9/itsdangerous_1621432558163/work
127
+ jedi @ file:///C:/ci/jedi_1644315428305/work
128
+ jellyfish @ file:///C:/ci/jellyfish_1647962737334/work
129
+ Jinja2 @ file:///C:/b/abs_7cdis66kl9/croot/jinja2_1666908141852/work
130
+ jinja2-time @ file:///opt/conda/conda-bld/jinja2-time_1649251842261/work
131
+ jmespath @ file:///Users/ktietz/demo/mc3/conda-bld/jmespath_1630583964805/work
132
+ joblib @ file:///C:/b/abs_e60_bwl1v6/croot/joblib_1666298845728/work
133
+ json5 @ file:///tmp/build/80754af9/json5_1624432770122/work
134
+ jsonpatch @ file:///tmp/build/80754af9/jsonpatch_1615747632069/work
135
+ jsonpointer==2.1
136
+ jsonschema @ file:///C:/b/abs_6ccs97j_l8/croot/jsonschema_1676558690963/work
137
+ jupyter @ file:///C:/Windows/TEMP/abs_56xfdi__li/croots/recipe/jupyter_1659349053177/work
138
+ jupyter-console @ file:///C:/b/abs_68ttzd5p9c/croot/jupyter_console_1677674667636/work
139
+ jupyter-server @ file:///C:/b/abs_1cfi3__jl8/croot/jupyter_server_1671707636383/work
140
+ jupyter_client @ file:///C:/ci/jupyter_client_1661834530766/work
141
+ jupyter_core @ file:///C:/b/abs_bd7elvu3w2/croot/jupyter_core_1676538600510/work
142
+ jupyterlab @ file:///C:/b/abs_513jt6yy74/croot/jupyterlab_1675354138043/work
143
+ jupyterlab-pygments @ file:///tmp/build/80754af9/jupyterlab_pygments_1601490720602/work
144
+ jupyterlab-widgets @ file:///tmp/build/80754af9/jupyterlab_widgets_1609884341231/work
145
+ jupyterlab_server @ file:///C:/b/abs_d1z_g1swc8/croot/jupyterlab_server_1677153204814/work
146
+ keyring @ file:///C:/ci_310/keyring_1642165564669/work
147
+ kiwisolver @ file:///C:/b/abs_88mdhvtahm/croot/kiwisolver_1672387921783/work
148
+ lazy-object-proxy @ file:///C:/ci_310/lazy-object-proxy_1642083437654/work
149
+ libarchive-c @ file:///tmp/build/80754af9/python-libarchive-c_1617780486945/work
150
+ littleutils==0.2.2
151
+ llvmlite==0.39.1
152
+ locket @ file:///C:/ci/locket_1652904090946/work
153
+ lxml @ file:///C:/ci/lxml_1657527492694/work
154
+ lz4 @ file:///C:/ci_310/lz4_1643300078932/work
155
+ Markdown @ file:///C:/b/abs_98lv_ucina/croot/markdown_1671541919225/work
156
+ markdown-it-py==3.0.0
157
+ MarkupSafe @ file:///C:/ci/markupsafe_1654508036328/work
158
+ matplotlib @ file:///C:/b/abs_b2d7uv90hg/croot/matplotlib-suite_1677674332463/work
159
+ matplotlib-inline @ file:///C:/ci/matplotlib-inline_1661934094726/work
160
+ mccabe @ file:///opt/conda/conda-bld/mccabe_1644221741721/work
161
+ mdurl==0.1.2
162
+ menuinst @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_455sf5o0ct/croots/recipe/menuinst_1661805970842/work
163
+ missingno==0.5.2
164
+ mistune @ file:///C:/ci_310/mistune_1642084168466/work
165
+ mkl-fft==1.3.1
166
+ mkl-random @ file:///C:/ci_310/mkl_random_1643050563308/work
167
+ mkl-service==2.4.0
168
+ mock @ file:///tmp/build/80754af9/mock_1607622725907/work
169
+ mpmath==1.2.1
170
+ msgpack @ file:///C:/ci/msgpack-python_1652348582618/work
171
+ multipledispatch @ file:///C:/ci_310/multipledispatch_1642084438481/work
172
+ munkres==1.1.4
173
+ mypy-extensions==0.4.3
174
+ navigator-updater==0.3.0
175
+ nbclassic @ file:///C:/b/abs_d0_ze5q0j2/croot/nbclassic_1676902914817/work
176
+ nbclient @ file:///C:/ci/nbclient_1650308592199/work
177
+ nbconvert @ file:///C:/b/abs_4av3q4okro/croot/nbconvert_1668450658054/work
178
+ nbformat @ file:///C:/b/abs_85_3g7dkt4/croot/nbformat_1670352343720/work
179
+ nest-asyncio @ file:///C:/b/abs_3a_4jsjlqu/croot/nest-asyncio_1672387322800/work
180
+ networkx @ file:///C:/ci/networkx_1657716953747/work
181
+ nltk @ file:///opt/conda/conda-bld/nltk_1645628263994/work
182
+ notebook @ file:///C:/b/abs_ca13hqvuzw/croot/notebook_1668179888546/work
183
+ notebook_shim @ file:///C:/b/abs_ebfczttg6x/croot/notebook-shim_1668160590914/work
184
+ numba @ file:///C:/b/abs_e53pp2e4k7/croot/numba_1670258349527/work
185
+ numexpr @ file:///C:/b/abs_a7kbak88hk/croot/numexpr_1668713882979/work
186
+ numpy @ file:///C:/b/abs_datssh7cer/croot/numpy_and_numpy_base_1672336199388/work
187
+ numpydoc @ file:///C:/b/abs_cfdd4zxbga/croot/numpydoc_1668085912100/work
188
+ openpyxl==3.0.10
189
+ outdated==0.2.2
190
+ packaging @ file:///C:/b/abs_cfsup8ur87/croot/packaging_1671697442297/work
191
+ pandas @ file:///C:/b/abs_b9kefbuby2/croot/pandas_1677835593760/work
192
+ pandas-flavor==0.6.0
193
+ pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work
194
+ panel @ file:///C:/b/abs_55ujq2fpyh/croot/panel_1676379705003/work
195
+ param @ file:///C:/b/abs_d799n8xz_7/croot/param_1671697759755/work
196
+ paramiko @ file:///opt/conda/conda-bld/paramiko_1640109032755/work
197
+ parsel @ file:///C:/ci/parsel_1646722035970/work
198
+ parso @ file:///opt/conda/conda-bld/parso_1641458642106/work
199
+ partd @ file:///opt/conda/conda-bld/partd_1647245470509/work
200
+ pathlib @ file:///Users/ktietz/demo/mc3/conda-bld/pathlib_1629713961906/work
201
+ pathspec @ file:///C:/b/abs_9cu5_2yb3i/croot/pathspec_1674681579249/work
202
+ patsy==0.5.3
203
+ pep8==1.7.1
204
+ pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
205
+ phik==0.12.3
206
+ pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
207
+ Pillow==9.4.0
208
+ pingouin==0.5.3
209
+ pkginfo @ file:///C:/b/abs_d18srtr68x/croot/pkginfo_1679431192239/work
210
+ platformdirs @ file:///C:/b/abs_73cc5cz_1u/croots/recipe/platformdirs_1662711386458/work
211
+ plotly @ file:///C:/ci/plotly_1658160673416/work
212
+ pluggy @ file:///C:/ci/pluggy_1648042746254/work
213
+ ply==3.11
214
+ pmdarima==2.0.3
215
+ pooch @ file:///tmp/build/80754af9/pooch_1623324770023/work
216
+ poyo @ file:///tmp/build/80754af9/poyo_1617751526755/work
217
+ prettytable==3.8.0
218
+ prometheus-client @ file:///C:/Windows/TEMP/abs_ab9nx8qb08/croots/recipe/prometheus_client_1659455104602/work
219
+ prompt-toolkit @ file:///C:/b/abs_6coz5_9f2s/croot/prompt-toolkit_1672387908312/work
220
+ Protego @ file:///tmp/build/80754af9/protego_1598657180827/work
221
+ protobuf==4.24.3
222
+ psutil @ file:///C:/Windows/Temp/abs_b2c2fd7f-9fd5-4756-95ea-8aed74d0039flsd9qufz/croots/recipe/psutil_1656431277748/work
223
+ ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
224
+ pure-eval @ file:///opt/conda/conda-bld/pure_eval_1646925070566/work
225
+ py @ file:///opt/conda/conda-bld/py_1644396412707/work
226
+ py-dotenv==0.1
227
+ py4j==0.10.9.7
228
+ pyarrow==13.0.0
229
+ pyasn1 @ file:///Users/ktietz/demo/mc3/conda-bld/pyasn1_1629708007385/work
230
+ pyasn1-modules==0.2.8
231
+ pycodestyle @ file:///C:/b/abs_d77nxvklcq/croot/pycodestyle_1674267231034/work
232
+ pycosat @ file:///C:/b/abs_4b1rrw8pn9/croot/pycosat_1666807711599/work
233
+ pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
234
+ pyct @ file:///C:/b/abs_92z17k7ig2/croot/pyct_1675450330889/work
235
+ pycurl==7.45.1
236
+ pydeck==0.8.1b0
237
+ PyDispatcher==2.0.5
238
+ pydocstyle @ file:///C:/b/abs_6dz687_5i3/croot/pydocstyle_1675221688656/work
239
+ pyerfa @ file:///C:/ci_310/pyerfa_1642088497201/work
240
+ pyflakes @ file:///C:/b/abs_6dve6e13zh/croot/pyflakes_1674165143327/work
241
+ pyfunctional==1.4.3
242
+ Pygments==2.16.1
243
+ PyHamcrest @ file:///tmp/build/80754af9/pyhamcrest_1615748656804/work
244
+ PyJWT @ file:///C:/ci/pyjwt_1657529477795/work
245
+ pylint @ file:///C:/b/abs_83sq99jc8i/croot/pylint_1676919922167/work
246
+ pylint-venv @ file:///C:/b/abs_bf0lepsbij/croot/pylint-venv_1673990138593/work
247
+ pyls-spyder==0.4.0
248
+ PyNaCl @ file:///C:/Windows/Temp/abs_d5c3ajcm87/croots/recipe/pynacl_1659620667490/work
249
+ pyodbc @ file:///C:/Windows/Temp/abs_61e3jz3u05/croots/recipe/pyodbc_1659513801402/work
250
+ pyOpenSSL @ file:///C:/b/abs_552w85x1jz/croot/pyopenssl_1677607703691/work
251
+ pyparsing @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_7f_7lba6rl/croots/recipe/pyparsing_1661452540662/work
252
+ PyQt5==5.15.7
253
+ PyQt5-sip @ file:///C:/Windows/Temp/abs_d7gmd2jg8i/croots/recipe/pyqt-split_1659273064801/work/pyqt_sip
254
+ PyQtWebEngine==5.15.4
255
+ pyrsistent @ file:///C:/ci_310/pyrsistent_1642117077485/work
256
+ PySocks @ file:///C:/ci_310/pysocks_1642089375450/work
257
+ pytest==7.1.2
258
+ python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
259
+ python-dotenv==1.0.0
260
+ python-lsp-black @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_dddk9lhpp1/croots/recipe/python-lsp-black_1661852041405/work
261
+ python-lsp-jsonrpc==1.0.0
262
+ python-lsp-server @ file:///C:/b/abs_e44khh1wya/croot/python-lsp-server_1677296772730/work
263
+ python-slugify @ file:///tmp/build/80754af9/python-slugify_1620405669636/work
264
+ python-snappy @ file:///C:/b/abs_61b1fmzxcn/croot/python-snappy_1670943932513/work
265
+ pytoolconfig @ file:///C:/b/abs_18sf9z_iwl/croot/pytoolconfig_1676315065270/work
266
+ pytz @ file:///C:/b/abs_22fofvpn1x/croot/pytz_1671698059864/work
267
+ pyviz-comms @ file:///tmp/build/80754af9/pyviz_comms_1623747165329/work
268
+ PyWavelets @ file:///C:/b/abs_a8r4b1511a/croot/pywavelets_1670425185881/work
269
+ pywin32==305.1
270
+ pywin32-ctypes @ file:///C:/ci_310/pywin32-ctypes_1642657835512/work
271
+ pywinpty @ file:///C:/b/abs_73vshmevwq/croot/pywinpty_1677609966356/work/target/wheels/pywinpty-2.0.10-cp310-none-win_amd64.whl
272
+ PyYAML @ file:///C:/b/abs_d0g7dqt2xw/croot/pyyaml_1670514768165/work
273
+ pyzmq @ file:///C:/ci/pyzmq_1657616000714/work
274
+ QDarkStyle @ file:///tmp/build/80754af9/qdarkstyle_1617386714626/work
275
+ qstylizer @ file:///C:/b/abs_ef86cgllby/croot/qstylizer_1674008538857/work/dist/qstylizer-0.2.2-py2.py3-none-any.whl
276
+ QtAwesome @ file:///C:/b/abs_c5evilj98g/croot/qtawesome_1674008690220/work
277
+ qtconsole @ file:///C:/b/abs_5bap7f8n0t/croot/qtconsole_1674008444833/work
278
+ QtPy @ file:///C:/ci/qtpy_1662015130233/work
279
+ queuelib==1.5.0
280
+ regex @ file:///C:/ci/regex_1658258299320/work
281
+ requests @ file:///C:/ci/requests_1657735340829/work
282
+ requests-file @ file:///Users/ktietz/demo/mc3/conda-bld/requests-file_1629455781986/work
283
+ requests-toolbelt @ file:///Users/ktietz/demo/mc3/conda-bld/requests-toolbelt_1629456163440/work
284
+ rich==13.5.3
285
+ rope @ file:///C:/b/abs_55g_tm_6ff/croot/rope_1676675029164/work
286
+ Rtree @ file:///C:/b/abs_e116ltblik/croot/rtree_1675157871717/work
287
+ ruamel-yaml-conda @ file:///C:/b/abs_6ejaexx82s/croot/ruamel_yaml_1667489767827/work
288
+ ruamel.yaml @ file:///C:/b/abs_30ee5qbthd/croot/ruamel.yaml_1666304562000/work
289
+ ruamel.yaml.clib @ file:///C:/b/abs_aarblxbilo/croot/ruamel.yaml.clib_1666302270884/work
290
+ scikit-image @ file:///C:/b/abs_63r0vmx78u/croot/scikit-image_1669241746873/work
291
+ scikit-learn==1.2.2
292
+ scikit-learn-intelex==20230228.214818
293
+ scikit-posthocs==0.7.0
294
+ scipy==1.10.0
295
+ Scrapy @ file:///C:/b/abs_9fn69i_d86/croot/scrapy_1677738199744/work
296
+ seaborn @ file:///C:/b/abs_68ltdkoyoo/croot/seaborn_1673479199997/work
297
+ Send2Trash @ file:///tmp/build/80754af9/send2trash_1632406701022/work
298
+ service-identity @ file:///Users/ktietz/demo/mc3/conda-bld/service_identity_1629460757137/work
299
+ sip @ file:///C:/Windows/Temp/abs_b8fxd17m2u/croots/recipe/sip_1659012372737/work
300
+ six @ file:///tmp/build/80754af9/six_1644875935023/work
301
+ sklearn-utils==0.0.15
302
+ smart-open @ file:///C:/ci/smart_open_1651235038100/work
303
+ smmap==5.0.1
304
+ sniffio @ file:///C:/ci_310/sniffio_1642092172680/work
305
+ snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work
306
+ sortedcontainers @ file:///tmp/build/80754af9/sortedcontainers_1623949099177/work
307
+ soupsieve @ file:///C:/b/abs_fasraqxhlv/croot/soupsieve_1666296394662/work
308
+ Sphinx @ file:///C:/ci/sphinx_1657617157451/work
309
+ sphinxcontrib-applehelp @ file:///home/ktietz/src/ci/sphinxcontrib-applehelp_1611920841464/work
310
+ sphinxcontrib-devhelp @ file:///home/ktietz/src/ci/sphinxcontrib-devhelp_1611920923094/work
311
+ sphinxcontrib-htmlhelp @ file:///tmp/build/80754af9/sphinxcontrib-htmlhelp_1623945626792/work
312
+ sphinxcontrib-jsmath @ file:///home/ktietz/src/ci/sphinxcontrib-jsmath_1611920942228/work
313
+ sphinxcontrib-qthelp @ file:///home/ktietz/src/ci/sphinxcontrib-qthelp_1611921055322/work
314
+ sphinxcontrib-serializinghtml @ file:///tmp/build/80754af9/sphinxcontrib-serializinghtml_1624451540180/work
315
+ spicy==0.16.0
316
+ spyder @ file:///C:/b/abs_93s9xkw3pn/croot/spyder_1677776163871/work
317
+ spyder-kernels @ file:///C:/b/abs_feh4xo1mrn/croot/spyder-kernels_1673292245176/work
318
+ SQLAlchemy @ file:///C:/Windows/Temp/abs_f8661157-660b-49bb-a790-69ab9f3b8f7c8a8s2psb/croots/recipe/sqlalchemy_1657867864564/work
319
+ stack-data @ file:///opt/conda/conda-bld/stack_data_1646927590127/work
320
+ statsmodels @ file:///C:/b/abs_bdqo3zaryj/croot/statsmodels_1676646249859/work
321
+ streamlit==1.27.0
322
+ sympy @ file:///C:/b/abs_95fbf1z7n6/croot/sympy_1668202411612/work
323
+ tables==3.7.0
324
+ tabulate @ file:///C:/ci/tabulate_1657600805799/work
325
+ TBB==0.2
326
+ tblib @ file:///Users/ktietz/demo/mc3/conda-bld/tblib_1629402031467/work
327
+ tenacity==8.2.3
328
+ terminado @ file:///C:/b/abs_25nakickad/croot/terminado_1671751845491/work
329
+ text-unidecode @ file:///Users/ktietz/demo/mc3/conda-bld/text-unidecode_1629401354553/work
330
+ textdistance @ file:///tmp/build/80754af9/textdistance_1612461398012/work
331
+ threadpoolctl @ file:///Users/ktietz/demo/mc3/conda-bld/threadpoolctl_1629802263681/work
332
+ three-merge @ file:///tmp/build/80754af9/three-merge_1607553261110/work
333
+ tifffile @ file:///tmp/build/80754af9/tifffile_1627275862826/work
334
+ tinycss2 @ file:///C:/b/abs_52w5vfuaax/croot/tinycss2_1668168823131/work
335
+ tldextract @ file:///opt/conda/conda-bld/tldextract_1646638314385/work
336
+ tokenizers @ file:///C:/ci/tokenizers_1651821358528/work
337
+ toml @ file:///tmp/build/80754af9/toml_1616166611790/work
338
+ tomli @ file:///C:/Windows/TEMP/abs_ac109f85-a7b3-4b4d-bcfd-52622eceddf0hy332ojo/croots/recipe/tomli_1657175513137/work
339
+ tomlkit @ file:///C:/Windows/TEMP/abs_3296qo9v6b/croots/recipe/tomlkit_1658946894808/work
340
+ toolz @ file:///C:/b/abs_cfvk6rc40d/croot/toolz_1667464080130/work
341
+ torch==1.12.1
342
+ tornado @ file:///C:/ci_310/tornado_1642093111997/work
343
+ tqdm @ file:///C:/b/abs_0axbz66qik/croots/recipe/tqdm_1664392691071/work
344
+ traitlets @ file:///C:/b/abs_e5m_xjjl94/croot/traitlets_1671143896266/work
345
+ transformers @ file:///C:/b/abs_8byf5_j714/croot/transformers_1667919454001/work
346
+ Twisted @ file:///C:/Windows/Temp/abs_ccblv2rzfa/croots/recipe/twisted_1659592764512/work
347
+ twisted-iocpsupport @ file:///C:/ci/twisted-iocpsupport_1646817083730/work
348
+ typing_extensions @ file:///C:/b/abs_89eui86zuq/croot/typing_extensions_1669923792806/work
349
+ tzdata==2023.3
350
+ tzlocal==5.0.1
351
+ ujson @ file:///C:/ci/ujson_1657525893897/work
352
+ Unidecode @ file:///tmp/build/80754af9/unidecode_1614712377438/work
353
+ urllib3 @ file:///C:/b/abs_9bcwxczrvm/croot/urllib3_1673575521331/work
354
+ validators==0.22.0
355
+ w3lib @ file:///Users/ktietz/demo/mc3/conda-bld/w3lib_1629359764703/work
356
+ watchdog @ file:///C:/ci_310/watchdog_1642113443984/work
357
+ wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work
358
+ webencodings==0.5.1
359
+ websocket-client @ file:///C:/ci_310/websocket-client_1642093970919/work
360
+ Werkzeug @ file:///C:/b/abs_17q5kgb8bo/croot/werkzeug_1671216014857/work
361
+ whatthepatch @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_e7bihs8grh/croots/recipe/whatthepatch_1661796085215/work
362
+ widgetsnbextension @ file:///C:/ci/widgetsnbextension_1645009839917/work
363
+ win-inet-pton @ file:///C:/ci_310/win_inet_pton_1642658466512/work
364
+ wincertstore==0.2
365
+ wrapt @ file:///C:/Windows/Temp/abs_7c3dd407-1390-477a-b542-fd15df6a24085_diwiza/croots/recipe/wrapt_1657814452175/work
366
+ xarray @ file:///C:/b/abs_2fi_umrauo/croot/xarray_1668776806973/work
367
+ xgboost==1.7.6
368
+ xlrd==2.0.1
369
+ xlwings @ file:///C:/b/abs_1ejhh6s00l/croot/xlwings_1677024180629/work
370
+ yapf @ file:///tmp/build/80754af9/yapf_1615749224965/work
371
+ zict==2.1.0
372
+ zipp @ file:///C:/b/abs_b9jfdr908q/croot/zipp_1672387552360/work
373
+ zope.interface @ file:///C:/ci_310/zope.interface_1642113633904/work
374
+ zstandard==0.19.0
some_data.xlsx ADDED
Binary file (15.9 kB). View file
 
streamlit_app.py ADDED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import seaborn as sns
4
+ import matplotlib.pyplot as plt
5
+
6
+
7
+ # Machine Learning Modeling
8
+ from sklearn.preprocessing import StandardScaler, MinMaxScaler, OneHotEncoder
9
+ from sklearn.compose import ColumnTransformer
10
+ from sklearn.linear_model import LinearRegression
11
+ from sklearn.model_selection import RandomizedSearchCV
12
+ import xgboost as xgb
13
+ from sklearn.metrics import mean_squared_error
14
+ import joblib
15
+
16
+ # Set the page layout to full width
17
+ st.set_page_config(layout="wide")
18
+ # Initialize df as None
19
+ df = None
20
+
21
+ st.sidebar.title("Favorita Stores")
22
+ selected_option = st.sidebar.radio("Select to Proceed", ["Data Statistics", "Visuals", "Time Series Analysis", "Forecasting"])
23
+
24
+ # Custom CSS styling for the title
25
+ st.markdown(
26
+ """
27
+ <style>
28
+ .title-text {
29
+ font-size: 28px;
30
+ text-align: center;
31
+ background-color: #3498db;
32
+ color: white;
33
+ padding: 10px 0;
34
+ width: 100%;
35
+ position: sticky;
36
+ top: 0;
37
+ z-index: 1;
38
+ }
39
+ </style>
40
+ """,
41
+ unsafe_allow_html=True
42
+ )
43
+
44
+ # Streamlit App Title
45
+ st.markdown('<p class="title-text">Machine Learning App for Sales Prediction</p>', unsafe_allow_html=True)
46
+
47
+ # Function to load and process the data
48
+ def load_and_process_data():
49
+ global df
50
+ # Allow the user to upload an Excel file
51
+ uploaded_file = st.file_uploader("Choose an Excel file", type=["xlsx"])
52
+ if uploaded_file is not None:
53
+ # Check if the file is an Excel file
54
+ if uploaded_file.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':
55
+ # Read the Excel file into a DataFrame
56
+ df = pd.read_excel(uploaded_file)
57
+ # Remove null values
58
+ df.dropna(inplace=True)
59
+ df = df.drop(columns='Unnamed: 0')
60
+ else:
61
+ st.write("Please upload a valid Excel file.")
62
+
63
+ # Load and process the data
64
+ load_and_process_data()
65
+
66
+ if selected_option == "Data Statistics":
67
+ # Rest of the code for "Data Statistics" option using df
68
+ if df is not None:
69
+ number_sample = st.number_input("Enter sample size to display data", min_value=5, max_value=10, step=1, value=5)
70
+ displayed_data = df.head(number_sample)
71
+ st.write("Sample data", displayed_data)
72
+ st.write("Summary Statistics of float/Integer columns", df.describe())
73
+ object_columns = df.select_dtypes(include='object').columns.tolist()
74
+ selected_column = st.selectbox("Select column of Data Type Object to View Unique values", object_columns)
75
+ if selected_column:
76
+ unique_values = df[selected_column].unique()
77
+ st.write("Unique values are", unique_values)
78
+
79
+ elif selected_option == "Visuals":
80
+ # Rest of the code for "Visuals" option using df
81
+ if df is not None:
82
+ object_columns = df.select_dtypes(include='object').columns.tolist()
83
+ selected_column = st.selectbox("Select column of Data Type Object for Visualization", object_columns)
84
+ if selected_column:
85
+ df['date'] = pd.to_datetime(df['date']) # Convert to datetime if applicable
86
+ df_grouped = df.groupby(selected_column)['sales'].sum().head(10)
87
+ df_grouped = df_grouped.sort_values(ascending=False)
88
+ fig, ax = plt.subplots(figsize=(15, 6))
89
+ ax.bar(df_grouped.index, df_grouped.values)
90
+ ax.set_xlabel(selected_column)
91
+ ax.set_ylabel('Sales Count')
92
+ ax.set_title(f'Top 10 Sales Count for {selected_column}')
93
+ st.pyplot(fig) # Pass the figure to st.pyplot()
94
+ elif selected_option == "Time Series Analysis":
95
+ if df is not None:
96
+ # Choose date and sales columns
97
+ timeseriesdata = df[['sales', 'date']]
98
+ timeseriesdata.index = timeseriesdata['date']
99
+ # Make date the index
100
+ timeseriesdata = timeseriesdata.resample('D').sum() # Resample to daily sales
101
+
102
+ # Resample the data based on user's choice
103
+ resample_method = st.selectbox("Select a resampling method", ['M', 'Q', 'Y'])
104
+ if resample_method:
105
+ resampled_data = timeseriesdata.resample(resample_method).sum()
106
+
107
+ # Plot the time series using Seaborn lineplot
108
+ plt.figure(figsize=(15, 6))
109
+ sns.lineplot(data=resampled_data)
110
+ plt.ylabel('Sales')
111
+ plt.title(f'Sales Time Series (Resampled by {resample_method})')
112
+ st.pyplot(plt.gcf())
113
+ else:
114
+ st.write("Please enter these inputs to predict sales. Thank you!")
115
+ # Load the pre-trained model and preprocessor
116
+ model = joblib.load('./xgb_model.joblib')
117
+ preprocessor = joblib.load('./preprocessor.joblib')
118
+
119
+
120
+
121
+ # Create a layout with 2 columns for even distribution
122
+ col1, col2 = st.columns(2)
123
+
124
+ # User Inputs - Number
125
+ with col1:
126
+ # Create a date input using st.date_input
127
+ date = st.date_input("Enter Date")
128
+
129
+ # Convert the selected date to a string in the desired format (e.g., YYYY-MM-DD)
130
+ formatted_date = date.strftime('%Y-%m-%d')
131
+
132
+ # User Inputs - Year
133
+ with col2:
134
+ family = st.selectbox("Select product family", ['CELEBRATION', 'CLEANING', 'DAIRY', 'DELI', 'EGGS', 'FROZEN FOODS',
135
+ 'GROCERY I', 'GROCERY II', 'HARDWARE', 'HOME AND KITCHEN I',
136
+ 'HOME AND KITCHEN II', 'HOME APPLIANCES', 'HOME CARE',
137
+ 'LADIESWEAR', 'LAWN AND GARDEN', 'LINGERIE', 'LIQUOR,WINE,BEER',
138
+ 'MAGAZINES', 'MEATS', 'PERSONAL CARE', 'PET SUPPLIES',
139
+ 'PLAYERS AND ELECTRONICS', 'POULTRY', 'PREPARED FOODS', 'PRODUCE',
140
+ 'SCHOOL AND OFFICE SUPPLIES', 'SEAFOOD', 'AUTOMOTIVE', 'BABY CARE',
141
+ 'BEAUTY', 'BEVERAGES', 'BOOKS', 'BREAD/BAKERY'])
142
+
143
+ # User Inputs - On Promotion
144
+ with col1:
145
+ onpromotion = st.number_input("Enter Number for onpromotion", min_value=0, step=1)
146
+
147
+
148
+ # User Inputs - Day of the Week
149
+ with col2:
150
+ city = st.selectbox("Select city", ['Quito', 'Cayambe', 'Latacunga', 'Riobamba', 'Ibarra',
151
+ 'Santo Domingo', 'Guaranda', 'Puyo', 'Ambato', 'Guayaquil',
152
+ 'Salinas', 'Daule', 'Babahoyo', 'Quevedo', 'Playas', 'Libertad',
153
+ 'Cuenca', 'Loja', 'Machala', 'Esmeraldas', 'Manta', 'El Carmen'])
154
+
155
+ # User Inputs - Product Category
156
+ with col1:
157
+ oil_prices = st.number_input("Enter oil price", min_value=1, step=1)
158
+
159
+
160
+ # User Inputs - Day of the Week
161
+ with col2:
162
+ holiday_type = st.selectbox("Select holiday type", ['Holiday', 'Additional', 'Transfer', 'Event', 'Bridge'])
163
+
164
+ # User Inputs - Product Category
165
+ with col1:
166
+ sales_lag_1 = st.number_input("Enter Number for sales lag", min_value=0, step=1)
167
+
168
+
169
+ # User Inputs - Day of the Week
170
+ with col2:
171
+ moving_average = st.number_input("Enter Number for moving average", min_value=0, step=1)
172
+
173
+ # Placeholder for Predicted Value
174
+
175
+ # Add custom spacing between columns
176
+ st.markdown("<hr>", unsafe_allow_html=True)
177
+
178
+
179
+
180
+ # Predict Button
181
+ if st.button("Predict"):
182
+ # Prepare input data for prediction
183
+ # Prepare input data for prediction
184
+ # Create a DataFrame with all required columns except "sales"
185
+ prediction_placeholder = st.empty()
186
+ input_df = pd.DataFrame({
187
+ "family": [family],
188
+ "onpromotion": [onpromotion],
189
+ "city": [city],
190
+ "oil_prices": [oil_prices],
191
+ "holiday_type": [holiday_type],
192
+ "sales_lag_1": [sales_lag_1],
193
+ "moving_average": [moving_average]
194
+ })
195
+
196
+ # Transform the input DataFrame using the preprocessor
197
+ preprocessed_data = preprocessor.transform(input_df)
198
+
199
+
200
+
201
+ # Make a prediction
202
+ prediction = model.predict(preprocessed_data)
203
+
204
+
205
+ # Display the prediction
206
+ prediction_placeholder.text(f"Predicted Value for sales: {prediction[0]: ,.2f}")
207
+
208
+ if prediction >= 0:
209
+ prediction_placeholder.markdown(
210
+ f'Predicted Value for sales: <span style="background-color: green; padding: 2px 5px; border-radius: 5px;">${prediction[0]:,.2f}</span>',
211
+ unsafe_allow_html=True
212
+ )
213
+ else:
214
+ prediction_placeholder.markdown(
215
+ f'Predicted Value for sales: <span style="background-color: red; padding: 2px 5px; border-radius: 5px;">${prediction[0]:,.2f}</span>',
216
+ unsafe_allow_html=True
217
+ )
xgb_model.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:62c4a5b6126d3a372dcbcab316b5c27dbce01b9c57a155ef0064bd8626fd8f96
3
+ size 419184