Spaces:
No application file
No application file
Updated_10
Browse files- LSTM_model.keras +0 -0
- __pycache__/feature_pipeline.cpython-311.pyc +0 -0
- __pycache__/feature_view.cpython-311.pyc +0 -0
- __pycache__/news_preprocessing.cpython-311.pyc +0 -0
- __pycache__/stock_preprocessing.cpython-311.pyc +0 -0
- feature_pipeline.ipynb +221 -134
- feature_view_freddie.ipynb → feature_view.ipynb +121 -15
- feature_view.py +103 -0
- historical_news.ipynb +1 -1
- historical_stock.ipynb +18 -6
- requirements.txt +3 -1
- stock_preprocessing.py +177 -0
LSTM_model.keras
ADDED
Binary file (291 kB). View file
|
|
__pycache__/feature_pipeline.cpython-311.pyc
CHANGED
Binary files a/__pycache__/feature_pipeline.cpython-311.pyc and b/__pycache__/feature_pipeline.cpython-311.pyc differ
|
|
__pycache__/feature_view.cpython-311.pyc
ADDED
Binary file (3.9 kB). View file
|
|
__pycache__/news_preprocessing.cpython-311.pyc
CHANGED
Binary files a/__pycache__/news_preprocessing.cpython-311.pyc and b/__pycache__/news_preprocessing.cpython-311.pyc differ
|
|
__pycache__/stock_preprocessing.cpython-311.pyc
ADDED
Binary file (6.04 kB). View file
|
|
feature_pipeline.ipynb
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
@@ -12,109 +12,128 @@
|
|
12 |
},
|
13 |
{
|
14 |
"cell_type": "code",
|
15 |
-
"execution_count":
|
16 |
"metadata": {},
|
17 |
"outputs": [
|
18 |
{
|
19 |
"name": "stdout",
|
20 |
"output_type": "stream",
|
21 |
"text": [
|
22 |
-
"Requirement already satisfied: great_expectations==0.18.12 in
|
23 |
-
"Requirement already satisfied: altair<5.0.0,>=4.2.1 in
|
24 |
-
"Requirement already satisfied: Click>=7.1.2 in
|
25 |
-
"Requirement already satisfied: colorama>=0.4.3 in
|
26 |
-
"Requirement already satisfied: cryptography>=3.2 in
|
27 |
-
"Requirement already satisfied: Ipython>=7.16.3 in
|
28 |
-
"Requirement already satisfied: ipywidgets>=7.5.1 in
|
29 |
-
"Requirement already satisfied: jinja2>=2.10 in
|
30 |
-
"Requirement already satisfied: jsonpatch>=1.22 in
|
31 |
-
"Requirement already satisfied: jsonschema>=2.5.1 in
|
32 |
-
"Requirement already satisfied: makefun<2,>=1.7.0 in
|
33 |
-
"Requirement already satisfied: marshmallow<4.0.0,>=3.7.1 in
|
34 |
-
"Requirement already satisfied: mistune>=0.8.4 in
|
35 |
-
"Requirement already satisfied: nbformat>=5.0 in
|
36 |
-
"Requirement already satisfied: notebook>=6.4.10 in
|
37 |
-
"Requirement already satisfied: packaging in
|
38 |
-
"Requirement already satisfied: pydantic>=1.9.2 in
|
39 |
-
"Requirement already satisfied: pyparsing>=2.4 in
|
40 |
-
"Requirement already satisfied: python-dateutil>=2.8.1 in
|
41 |
-
"Requirement already satisfied: pytz>=2021.3 in
|
42 |
-
"Requirement already satisfied: requests>=2.20 in
|
43 |
-
"Requirement already satisfied: ruamel.yaml<0.17.18,>=0.16 in
|
44 |
-
"Requirement already satisfied: scipy>=1.6.0 in
|
45 |
-
"Requirement already satisfied: tqdm>=4.59.0 in
|
46 |
-
"Requirement already satisfied: typing-extensions>=3.10.0.0 in
|
47 |
-
"Requirement already satisfied: tzlocal>=1.2 in
|
48 |
-
"Requirement already satisfied: urllib3>=1.26 in
|
49 |
-
"Requirement already satisfied: numpy<2.0.0,>=1.22.4 in
|
50 |
-
"Requirement already satisfied: pandas>=1.3.0 in
|
51 |
-
"Requirement already satisfied: entrypoints in
|
52 |
-
"Requirement already satisfied: toolz in
|
53 |
-
"Requirement already satisfied: cffi>=1.12 in
|
54 |
-
"Requirement already satisfied:
|
55 |
-
"Requirement already satisfied:
|
56 |
-
"Requirement already satisfied:
|
57 |
-
"Requirement already satisfied:
|
58 |
-
"Requirement already satisfied:
|
59 |
-
"Requirement already satisfied:
|
60 |
-
"Requirement already satisfied:
|
61 |
-
"Requirement already satisfied:
|
62 |
-
"Requirement already satisfied:
|
63 |
-
"Requirement already satisfied:
|
64 |
-
"Requirement already satisfied:
|
65 |
-
"Requirement already satisfied:
|
66 |
-
"Requirement already satisfied:
|
67 |
-
"Requirement already satisfied:
|
68 |
-
"Requirement already satisfied:
|
69 |
-
"Requirement already satisfied:
|
70 |
-
"Requirement already satisfied:
|
71 |
-
"Requirement already satisfied:
|
72 |
-
"Requirement already satisfied:
|
73 |
-
"Requirement already satisfied:
|
74 |
-
"Requirement already satisfied:
|
75 |
-
"Requirement already satisfied:
|
76 |
-
"Requirement already satisfied:
|
77 |
-
"Requirement already satisfied:
|
78 |
-
"Requirement already satisfied:
|
79 |
-
"Requirement already satisfied:
|
80 |
-
"Requirement already satisfied:
|
81 |
-
"Requirement already satisfied:
|
82 |
-
"Requirement already satisfied:
|
83 |
-
"Requirement already satisfied:
|
84 |
-
"Requirement already satisfied:
|
85 |
-
"Requirement already satisfied:
|
86 |
-
"Requirement already satisfied:
|
87 |
-
"Requirement already satisfied:
|
88 |
-
"Requirement already satisfied:
|
89 |
-
"Requirement already satisfied:
|
90 |
-
"Requirement already satisfied:
|
91 |
-
"Requirement already satisfied:
|
92 |
-
"Requirement already satisfied:
|
93 |
-
"Requirement already satisfied:
|
94 |
-
"Requirement already satisfied:
|
95 |
-
"Requirement already satisfied:
|
96 |
-
"Requirement already satisfied:
|
97 |
-
"Requirement already satisfied:
|
98 |
-
"Requirement already satisfied:
|
99 |
-
"Requirement already satisfied:
|
100 |
-
"Requirement already satisfied:
|
101 |
-
"Requirement already satisfied:
|
102 |
-
"Requirement already satisfied:
|
103 |
-
"Requirement already satisfied:
|
104 |
-
"Requirement already satisfied:
|
105 |
-
"Requirement already satisfied:
|
106 |
-
"Requirement already satisfied:
|
107 |
-
"Requirement already satisfied:
|
108 |
-
"Requirement already satisfied:
|
109 |
-
"Requirement already satisfied:
|
110 |
-
"Requirement already satisfied:
|
111 |
-
"Requirement already satisfied:
|
112 |
-
"Requirement already satisfied:
|
113 |
-
"Requirement already satisfied:
|
114 |
-
"Requirement already satisfied:
|
115 |
-
"Requirement already satisfied:
|
116 |
-
"Requirement already satisfied:
|
117 |
-
"Requirement already satisfied:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
]
|
119 |
}
|
120 |
],
|
@@ -124,7 +143,7 @@
|
|
124 |
},
|
125 |
{
|
126 |
"cell_type": "code",
|
127 |
-
"execution_count":
|
128 |
"metadata": {},
|
129 |
"outputs": [],
|
130 |
"source": [
|
@@ -145,7 +164,76 @@
|
|
145 |
},
|
146 |
{
|
147 |
"cell_type": "code",
|
148 |
-
"execution_count":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
"metadata": {},
|
150 |
"outputs": [],
|
151 |
"source": [
|
@@ -165,7 +253,7 @@
|
|
165 |
},
|
166 |
{
|
167 |
"cell_type": "code",
|
168 |
-
"execution_count":
|
169 |
"metadata": {},
|
170 |
"outputs": [],
|
171 |
"source": [
|
@@ -174,7 +262,7 @@
|
|
174 |
},
|
175 |
{
|
176 |
"cell_type": "code",
|
177 |
-
"execution_count":
|
178 |
"metadata": {},
|
179 |
"outputs": [],
|
180 |
"source": [
|
@@ -183,7 +271,7 @@
|
|
183 |
},
|
184 |
{
|
185 |
"cell_type": "code",
|
186 |
-
"execution_count":
|
187 |
"metadata": {},
|
188 |
"outputs": [],
|
189 |
"source": [
|
@@ -198,7 +286,7 @@
|
|
198 |
},
|
199 |
{
|
200 |
"cell_type": "code",
|
201 |
-
"execution_count":
|
202 |
"metadata": {},
|
203 |
"outputs": [
|
204 |
{
|
@@ -223,17 +311,16 @@
|
|
223 |
},
|
224 |
{
|
225 |
"cell_type": "code",
|
226 |
-
"execution_count":
|
227 |
"metadata": {},
|
228 |
"outputs": [
|
229 |
{
|
230 |
"name": "stdout",
|
231 |
"output_type": "stream",
|
232 |
"text": [
|
233 |
-
"Connection closed.\n",
|
234 |
"Connected. Call `.close()` to terminate connection gracefully.\n",
|
235 |
"\n",
|
236 |
-
"Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/
|
237 |
"Connected. Call `.close()` to terminate connection gracefully.\n"
|
238 |
]
|
239 |
}
|
@@ -246,7 +333,7 @@
|
|
246 |
},
|
247 |
{
|
248 |
"cell_type": "code",
|
249 |
-
"execution_count":
|
250 |
"metadata": {},
|
251 |
"outputs": [],
|
252 |
"source": [
|
@@ -255,7 +342,7 @@
|
|
255 |
},
|
256 |
{
|
257 |
"cell_type": "code",
|
258 |
-
"execution_count":
|
259 |
"metadata": {},
|
260 |
"outputs": [],
|
261 |
"source": [
|
@@ -267,7 +354,7 @@
|
|
267 |
},
|
268 |
{
|
269 |
"cell_type": "code",
|
270 |
-
"execution_count":
|
271 |
"metadata": {},
|
272 |
"outputs": [
|
273 |
{
|
@@ -433,7 +520,7 @@
|
|
433 |
"[3486 rows x 7 columns]"
|
434 |
]
|
435 |
},
|
436 |
-
"execution_count":
|
437 |
"metadata": {},
|
438 |
"output_type": "execute_result"
|
439 |
}
|
@@ -444,7 +531,7 @@
|
|
444 |
},
|
445 |
{
|
446 |
"cell_type": "code",
|
447 |
-
"execution_count":
|
448 |
"metadata": {},
|
449 |
"outputs": [],
|
450 |
"source": [
|
@@ -454,7 +541,7 @@
|
|
454 |
},
|
455 |
{
|
456 |
"cell_type": "code",
|
457 |
-
"execution_count":
|
458 |
"metadata": {},
|
459 |
"outputs": [
|
460 |
{
|
@@ -471,7 +558,7 @@
|
|
471 |
},
|
472 |
{
|
473 |
"cell_type": "code",
|
474 |
-
"execution_count":
|
475 |
"metadata": {},
|
476 |
"outputs": [],
|
477 |
"source": [
|
@@ -484,14 +571,14 @@
|
|
484 |
},
|
485 |
{
|
486 |
"cell_type": "code",
|
487 |
-
"execution_count":
|
488 |
"metadata": {},
|
489 |
"outputs": [
|
490 |
{
|
491 |
"name": "stdout",
|
492 |
"output_type": "stream",
|
493 |
"text": [
|
494 |
-
"2024-05-06
|
495 |
"\n"
|
496 |
]
|
497 |
}
|
@@ -510,7 +597,7 @@
|
|
510 |
},
|
511 |
{
|
512 |
"cell_type": "code",
|
513 |
-
"execution_count":
|
514 |
"metadata": {},
|
515 |
"outputs": [
|
516 |
{
|
@@ -518,13 +605,13 @@
|
|
518 |
"output_type": "stream",
|
519 |
"text": [
|
520 |
"Feature Group created successfully, explore it at \n",
|
521 |
-
"https://c.app.hopsworks.ai:443/p/
|
522 |
]
|
523 |
},
|
524 |
{
|
525 |
"data": {
|
526 |
"application/vnd.jupyter.widget-view+json": {
|
527 |
-
"model_id": "
|
528 |
"version_major": 2,
|
529 |
"version_minor": 0
|
530 |
},
|
@@ -541,16 +628,16 @@
|
|
541 |
"text": [
|
542 |
"Launching job: tesla_stock_1_offline_fg_materialization\n",
|
543 |
"Job started successfully, you can follow the progress at \n",
|
544 |
-
"https://c.app.hopsworks.ai/p/
|
545 |
]
|
546 |
},
|
547 |
{
|
548 |
"data": {
|
549 |
"text/plain": [
|
550 |
-
"(<hsfs.core.job.Job at
|
551 |
]
|
552 |
},
|
553 |
-
"execution_count":
|
554 |
"metadata": {},
|
555 |
"output_type": "execute_result"
|
556 |
}
|
@@ -561,7 +648,7 @@
|
|
561 |
},
|
562 |
{
|
563 |
"cell_type": "code",
|
564 |
-
"execution_count":
|
565 |
"metadata": {},
|
566 |
"outputs": [],
|
567 |
"source": [
|
@@ -570,7 +657,7 @@
|
|
570 |
},
|
571 |
{
|
572 |
"cell_type": "code",
|
573 |
-
"execution_count":
|
574 |
"metadata": {},
|
575 |
"outputs": [],
|
576 |
"source": [
|
@@ -579,7 +666,7 @@
|
|
579 |
},
|
580 |
{
|
581 |
"cell_type": "code",
|
582 |
-
"execution_count":
|
583 |
"metadata": {},
|
584 |
"outputs": [],
|
585 |
"source": [
|
@@ -588,14 +675,14 @@
|
|
588 |
},
|
589 |
{
|
590 |
"cell_type": "code",
|
591 |
-
"execution_count":
|
592 |
"metadata": {},
|
593 |
"outputs": [
|
594 |
{
|
595 |
"name": "stdout",
|
596 |
"output_type": "stream",
|
597 |
"text": [
|
598 |
-
"2024-05-06
|
599 |
"\n"
|
600 |
]
|
601 |
}
|
@@ -613,7 +700,7 @@
|
|
613 |
},
|
614 |
{
|
615 |
"cell_type": "code",
|
616 |
-
"execution_count":
|
617 |
"metadata": {},
|
618 |
"outputs": [
|
619 |
{
|
@@ -621,13 +708,13 @@
|
|
621 |
"output_type": "stream",
|
622 |
"text": [
|
623 |
"Feature Group created successfully, explore it at \n",
|
624 |
-
"https://c.app.hopsworks.ai:443/p/
|
625 |
]
|
626 |
},
|
627 |
{
|
628 |
"data": {
|
629 |
"application/vnd.jupyter.widget-view+json": {
|
630 |
-
"model_id": "
|
631 |
"version_major": 2,
|
632 |
"version_minor": 0
|
633 |
},
|
@@ -644,16 +731,16 @@
|
|
644 |
"text": [
|
645 |
"Launching job: news_sentiment_updated_1_offline_fg_materialization\n",
|
646 |
"Job started successfully, you can follow the progress at \n",
|
647 |
-
"https://c.app.hopsworks.ai/p/
|
648 |
]
|
649 |
},
|
650 |
{
|
651 |
"data": {
|
652 |
"text/plain": [
|
653 |
-
"(<hsfs.core.job.Job at
|
654 |
]
|
655 |
},
|
656 |
-
"execution_count":
|
657 |
"metadata": {},
|
658 |
"output_type": "execute_result"
|
659 |
}
|
@@ -679,7 +766,7 @@
|
|
679 |
"name": "python",
|
680 |
"nbconvert_exporter": "python",
|
681 |
"pygments_lexer": "ipython3",
|
682 |
-
"version": "3.11.
|
683 |
},
|
684 |
"orig_nbformat": 4
|
685 |
},
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
|
|
12 |
},
|
13 |
{
|
14 |
"cell_type": "code",
|
15 |
+
"execution_count": 2,
|
16 |
"metadata": {},
|
17 |
"outputs": [
|
18 |
{
|
19 |
"name": "stdout",
|
20 |
"output_type": "stream",
|
21 |
"text": [
|
22 |
+
"Requirement already satisfied: great_expectations==0.18.12 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (0.18.12)\n",
|
23 |
+
"Requirement already satisfied: altair<5.0.0,>=4.2.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.2.2)\n",
|
24 |
+
"Requirement already satisfied: Click>=7.1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (8.1.7)\n",
|
25 |
+
"Requirement already satisfied: colorama>=0.4.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (0.4.6)\n",
|
26 |
+
"Requirement already satisfied: cryptography>=3.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (42.0.6)\n",
|
27 |
+
"Requirement already satisfied: Ipython>=7.16.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (8.22.2)\n",
|
28 |
+
"Requirement already satisfied: ipywidgets>=7.5.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (8.1.2)\n",
|
29 |
+
"Requirement already satisfied: jinja2>=2.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.1.3)\n",
|
30 |
+
"Requirement already satisfied: jsonpatch>=1.22 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.33)\n",
|
31 |
+
"Requirement already satisfied: jsonschema>=2.5.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.22.0)\n",
|
32 |
+
"Requirement already satisfied: makefun<2,>=1.7.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.15.2)\n",
|
33 |
+
"Requirement already satisfied: marshmallow<4.0.0,>=3.7.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.21.2)\n",
|
34 |
+
"Requirement already satisfied: mistune>=0.8.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.0.2)\n",
|
35 |
+
"Requirement already satisfied: nbformat>=5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (5.10.4)\n",
|
36 |
+
"Requirement already satisfied: notebook>=6.4.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (7.1.3)\n",
|
37 |
+
"Requirement already satisfied: packaging in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (24.0)\n",
|
38 |
+
"Requirement already satisfied: pydantic>=1.9.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.7.1)\n",
|
39 |
+
"Requirement already satisfied: pyparsing>=2.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.1.2)\n",
|
40 |
+
"Requirement already satisfied: python-dateutil>=2.8.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.9.0)\n",
|
41 |
+
"Requirement already satisfied: pytz>=2021.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2024.1)\n",
|
42 |
+
"Requirement already satisfied: requests>=2.20 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.31.0)\n",
|
43 |
+
"Requirement already satisfied: ruamel.yaml<0.17.18,>=0.16 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (0.17.17)\n",
|
44 |
+
"Requirement already satisfied: scipy>=1.6.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.13.0)\n",
|
45 |
+
"Requirement already satisfied: tqdm>=4.59.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.66.4)\n",
|
46 |
+
"Requirement already satisfied: typing-extensions>=3.10.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.11.0)\n",
|
47 |
+
"Requirement already satisfied: tzlocal>=1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (5.2)\n",
|
48 |
+
"Requirement already satisfied: urllib3>=1.26 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.2.1)\n",
|
49 |
+
"Requirement already satisfied: numpy<2.0.0,>=1.22.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.26.4)\n",
|
50 |
+
"Requirement already satisfied: pandas>=1.3.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.5.1)\n",
|
51 |
+
"Requirement already satisfied: entrypoints in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from altair<5.0.0,>=4.2.1->great_expectations==0.18.12) (0.4)\n",
|
52 |
+
"Requirement already satisfied: toolz in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from altair<5.0.0,>=4.2.1->great_expectations==0.18.12) (0.12.1)\n",
|
53 |
+
"Requirement already satisfied: cffi>=1.12 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from cryptography>=3.2->great_expectations==0.18.12) (1.16.0)\n",
|
54 |
+
"Requirement already satisfied: decorator in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (5.1.1)\n",
|
55 |
+
"Requirement already satisfied: jedi>=0.16 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.19.1)\n",
|
56 |
+
"Requirement already satisfied: matplotlib-inline in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.1.7)\n",
|
57 |
+
"Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (3.0.42)\n",
|
58 |
+
"Requirement already satisfied: pygments>=2.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (2.17.2)\n",
|
59 |
+
"Requirement already satisfied: stack-data in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.6.2)\n",
|
60 |
+
"Requirement already satisfied: traitlets>=5.13.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (5.14.3)\n",
|
61 |
+
"Requirement already satisfied: comm>=0.1.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (0.2.2)\n",
|
62 |
+
"Requirement already satisfied: widgetsnbextension~=4.0.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (4.0.10)\n",
|
63 |
+
"Requirement already satisfied: jupyterlab-widgets~=3.0.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (3.0.10)\n",
|
64 |
+
"Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jinja2>=2.10->great_expectations==0.18.12) (2.1.5)\n",
|
65 |
+
"Requirement already satisfied: jsonpointer>=1.9 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonpatch>=1.22->great_expectations==0.18.12) (2.4)\n",
|
66 |
+
"Requirement already satisfied: attrs>=22.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (23.2.0)\n",
|
67 |
+
"Requirement already satisfied: jsonschema-specifications>=2023.03.6 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (2023.12.1)\n",
|
68 |
+
"Requirement already satisfied: referencing>=0.28.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (0.35.1)\n",
|
69 |
+
"Requirement already satisfied: rpds-py>=0.7.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (0.18.0)\n",
|
70 |
+
"Requirement already satisfied: fastjsonschema>=2.15 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbformat>=5.0->great_expectations==0.18.12) (2.19.1)\n",
|
71 |
+
"Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbformat>=5.0->great_expectations==0.18.12) (5.7.2)\n",
|
72 |
+
"Requirement already satisfied: jupyter-server<3,>=2.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (2.14.0)\n",
|
73 |
+
"Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (2.27.1)\n",
|
74 |
+
"Requirement already satisfied: jupyterlab<4.2,>=4.1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (4.1.8)\n",
|
75 |
+
"Requirement already satisfied: notebook-shim<0.3,>=0.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (0.2.4)\n",
|
76 |
+
"Requirement already satisfied: tornado>=6.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (6.3.3)\n",
|
77 |
+
"Requirement already satisfied: annotated-types>=0.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic>=1.9.2->great_expectations==0.18.12) (0.6.0)\n",
|
78 |
+
"Requirement already satisfied: pydantic-core==2.18.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic>=1.9.2->great_expectations==0.18.12) (2.18.2)\n",
|
79 |
+
"Requirement already satisfied: six>=1.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from python-dateutil>=2.8.1->great_expectations==0.18.12) (1.16.0)\n",
|
80 |
+
"Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from requests>=2.20->great_expectations==0.18.12) (3.3.2)\n",
|
81 |
+
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from requests>=2.20->great_expectations==0.18.12) (3.7)\n",
|
82 |
+
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from requests>=2.20->great_expectations==0.18.12) (2024.2.2)\n",
|
83 |
+
"Requirement already satisfied: tzdata in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from tzlocal>=1.2->great_expectations==0.18.12) (2024.1)\n",
|
84 |
+
"Requirement already satisfied: pycparser in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from cffi>=1.12->cryptography>=3.2->great_expectations==0.18.12) (2.22)\n",
|
85 |
+
"Requirement already satisfied: parso<0.9.0,>=0.8.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jedi>=0.16->Ipython>=7.16.3->great_expectations==0.18.12) (0.8.4)\n",
|
86 |
+
"Requirement already satisfied: platformdirs>=2.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=5.0->great_expectations==0.18.12) (4.2.1)\n",
|
87 |
+
"Requirement already satisfied: pywin32>=300 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=5.0->great_expectations==0.18.12) (305.1)\n",
|
88 |
+
"Requirement already satisfied: anyio>=3.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (4.3.0)\n",
|
89 |
+
"Requirement already satisfied: argon2-cffi>=21.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (23.1.0)\n",
|
90 |
+
"Requirement already satisfied: jupyter-client>=7.4.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (8.6.1)\n",
|
91 |
+
"Requirement already satisfied: jupyter-events>=0.9.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.10.0)\n",
|
92 |
+
"Requirement already satisfied: jupyter-server-terminals>=0.4.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.5.3)\n",
|
93 |
+
"Requirement already satisfied: nbconvert>=6.4.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (7.16.4)\n",
|
94 |
+
"Requirement already satisfied: overrides>=5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (7.7.0)\n",
|
95 |
+
"Requirement already satisfied: prometheus-client>=0.9 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.20.0)\n",
|
96 |
+
"Requirement already satisfied: pywinpty>=2.0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.0.13)\n",
|
97 |
+
"Requirement already satisfied: pyzmq>=24 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (25.1.2)\n",
|
98 |
+
"Requirement already satisfied: send2trash>=1.8.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.8.3)\n",
|
99 |
+
"Requirement already satisfied: terminado>=0.8.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.18.1)\n",
|
100 |
+
"Requirement already satisfied: websocket-client>=1.7 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.8.0)\n",
|
101 |
+
"Requirement already satisfied: async-lru>=1.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (2.0.4)\n",
|
102 |
+
"Requirement already satisfied: httpx>=0.25.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (0.27.0)\n",
|
103 |
+
"Requirement already satisfied: ipykernel>=6.5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (6.29.3)\n",
|
104 |
+
"Requirement already satisfied: jupyter-lsp>=2.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (2.2.5)\n",
|
105 |
+
"Requirement already satisfied: babel>=2.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=6.4.10->great_expectations==0.18.12) (2.14.0)\n",
|
106 |
+
"Requirement already satisfied: json5>=0.9.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=6.4.10->great_expectations==0.18.12) (0.9.25)\n",
|
107 |
+
"Requirement already satisfied: wcwidth in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from prompt-toolkit<3.1.0,>=3.0.41->Ipython>=7.16.3->great_expectations==0.18.12) (0.2.13)\n",
|
108 |
+
"Requirement already satisfied: executing>=1.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (2.0.1)\n",
|
109 |
+
"Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (2.4.1)\n",
|
110 |
+
"Requirement already satisfied: pure-eval in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (0.2.2)\n",
|
111 |
+
"Requirement already satisfied: sniffio>=1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.1)\n",
|
112 |
+
"Requirement already satisfied: argon2-cffi-bindings in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (21.2.0)\n",
|
113 |
+
"Requirement already satisfied: httpcore==1.* in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (1.0.5)\n",
|
114 |
+
"Requirement already satisfied: h11<0.15,>=0.13 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpcore==1.*->httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (0.14.0)\n",
|
115 |
+
"Requirement already satisfied: debugpy>=1.6.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipykernel>=6.5.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (1.6.7)\n",
|
116 |
+
"Requirement already satisfied: nest-asyncio in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipykernel>=6.5.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (1.6.0)\n",
|
117 |
+
"Requirement already satisfied: psutil in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipykernel>=6.5.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (5.9.0)\n",
|
118 |
+
"Requirement already satisfied: python-json-logger>=2.0.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.0.7)\n",
|
119 |
+
"Requirement already satisfied: pyyaml>=5.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (6.0.1)\n",
|
120 |
+
"Requirement already satisfied: rfc3339-validator in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.1.4)\n",
|
121 |
+
"Requirement already satisfied: rfc3986-validator>=0.1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.1.1)\n",
|
122 |
+
"Requirement already satisfied: beautifulsoup4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (4.12.3)\n",
|
123 |
+
"Requirement already satisfied: bleach!=5.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (6.1.0)\n",
|
124 |
+
"Requirement already satisfied: defusedxml in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.7.1)\n",
|
125 |
+
"Requirement already satisfied: jupyterlab-pygments in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.3.0)\n",
|
126 |
+
"Requirement already satisfied: nbclient>=0.5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.10.0)\n",
|
127 |
+
"Requirement already satisfied: pandocfilters>=1.4.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.5.1)\n",
|
128 |
+
"Requirement already satisfied: tinycss2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.0)\n",
|
129 |
+
"Requirement already satisfied: webencodings in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.5.1)\n",
|
130 |
+
"Requirement already satisfied: fqdn in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.5.1)\n",
|
131 |
+
"Requirement already satisfied: isoduration in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (20.11.0)\n",
|
132 |
+
"Requirement already satisfied: uri-template in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.0)\n",
|
133 |
+
"Requirement already satisfied: webcolors>=1.11 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.13)\n",
|
134 |
+
"Requirement already satisfied: soupsieve>1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.5)\n",
|
135 |
+
"Requirement already satisfied: arrow>=0.15.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.0)\n",
|
136 |
+
"Requirement already satisfied: types-python-dateutil>=2.8.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.9.0.20240316)\n"
|
137 |
]
|
138 |
}
|
139 |
],
|
|
|
143 |
},
|
144 |
{
|
145 |
"cell_type": "code",
|
146 |
+
"execution_count": 3,
|
147 |
"metadata": {},
|
148 |
"outputs": [],
|
149 |
"source": [
|
|
|
164 |
},
|
165 |
{
|
166 |
"cell_type": "code",
|
167 |
+
"execution_count": 4,
|
168 |
+
"metadata": {},
|
169 |
+
"outputs": [
|
170 |
+
{
|
171 |
+
"name": "stdout",
|
172 |
+
"output_type": "stream",
|
173 |
+
"text": [
|
174 |
+
"Requirement already satisfied: modal in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (0.62.141)\n",
|
175 |
+
"Requirement already satisfied: aiohttp in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (3.9.5)\n",
|
176 |
+
"Requirement already satisfied: aiostream~=0.5.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.5.2)\n",
|
177 |
+
"Requirement already satisfied: certifi in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (2024.2.2)\n",
|
178 |
+
"Requirement already satisfied: click>=8.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (8.1.7)\n",
|
179 |
+
"Requirement already satisfied: fastapi in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.111.0)\n",
|
180 |
+
"Requirement already satisfied: grpclib==0.4.7 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.4.7)\n",
|
181 |
+
"Requirement already satisfied: protobuf!=4.24.0,<5.0,>=3.19 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (4.25.3)\n",
|
182 |
+
"Requirement already satisfied: rich>=12.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (13.7.1)\n",
|
183 |
+
"Requirement already satisfied: synchronicity~=0.6.6 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.6.7)\n",
|
184 |
+
"Requirement already satisfied: toml in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.10.2)\n",
|
185 |
+
"Requirement already satisfied: typer>=0.9 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.12.3)\n",
|
186 |
+
"Requirement already satisfied: types-certifi in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (2021.10.8.3)\n",
|
187 |
+
"Requirement already satisfied: types-toml in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.10.8.20240310)\n",
|
188 |
+
"Requirement already satisfied: watchfiles in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.21.0)\n",
|
189 |
+
"Requirement already satisfied: typing-extensions~=4.6 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (4.11.0)\n",
|
190 |
+
"Requirement already satisfied: h2<5,>=3.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from grpclib==0.4.7->modal) (4.1.0)\n",
|
191 |
+
"Requirement already satisfied: multidict in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from grpclib==0.4.7->modal) (6.0.5)\n",
|
192 |
+
"Requirement already satisfied: colorama in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from click>=8.1.0->modal) (0.4.6)\n",
|
193 |
+
"Requirement already satisfied: markdown-it-py>=2.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from rich>=12.0.0->modal) (3.0.0)\n",
|
194 |
+
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from rich>=12.0.0->modal) (2.17.2)\n",
|
195 |
+
"Requirement already satisfied: sigtools==4.0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from synchronicity~=0.6.6->modal) (4.0.1)\n",
|
196 |
+
"Requirement already satisfied: attrs in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from sigtools==4.0.1->synchronicity~=0.6.6->modal) (23.2.0)\n",
|
197 |
+
"Requirement already satisfied: shellingham>=1.3.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from typer>=0.9->modal) (1.5.4)\n",
|
198 |
+
"Requirement already satisfied: aiosignal>=1.1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from aiohttp->modal) (1.3.1)\n",
|
199 |
+
"Requirement already satisfied: frozenlist>=1.1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from aiohttp->modal) (1.4.1)\n",
|
200 |
+
"Requirement already satisfied: yarl<2.0,>=1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from aiohttp->modal) (1.9.4)\n",
|
201 |
+
"Requirement already satisfied: starlette<0.38.0,>=0.37.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.37.2)\n",
|
202 |
+
"Requirement already satisfied: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (2.7.1)\n",
|
203 |
+
"Requirement already satisfied: fastapi-cli>=0.0.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.0.2)\n",
|
204 |
+
"Requirement already satisfied: httpx>=0.23.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.27.0)\n",
|
205 |
+
"Requirement already satisfied: jinja2>=2.11.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (3.1.3)\n",
|
206 |
+
"Requirement already satisfied: python-multipart>=0.0.7 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.0.9)\n",
|
207 |
+
"Requirement already satisfied: ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (5.9.0)\n",
|
208 |
+
"Requirement already satisfied: orjson>=3.2.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (3.10.3)\n",
|
209 |
+
"Requirement already satisfied: email_validator>=2.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (2.1.1)\n",
|
210 |
+
"Requirement already satisfied: uvicorn>=0.12.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (0.29.0)\n",
|
211 |
+
"Requirement already satisfied: anyio>=3.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from watchfiles->modal) (4.3.0)\n",
|
212 |
+
"Requirement already satisfied: idna>=2.8 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from anyio>=3.0.0->watchfiles->modal) (3.7)\n",
|
213 |
+
"Requirement already satisfied: sniffio>=1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from anyio>=3.0.0->watchfiles->modal) (1.3.1)\n",
|
214 |
+
"Requirement already satisfied: dnspython>=2.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from email_validator>=2.0.0->fastapi->modal) (2.6.1)\n",
|
215 |
+
"Requirement already satisfied: hyperframe<7,>=6.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from h2<5,>=3.1.0->grpclib==0.4.7->modal) (6.0.1)\n",
|
216 |
+
"Requirement already satisfied: hpack<5,>=4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from h2<5,>=3.1.0->grpclib==0.4.7->modal) (4.0.0)\n",
|
217 |
+
"Requirement already satisfied: httpcore==1.* in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpx>=0.23.0->fastapi->modal) (1.0.5)\n",
|
218 |
+
"Requirement already satisfied: h11<0.15,>=0.13 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpcore==1.*->httpx>=0.23.0->fastapi->modal) (0.14.0)\n",
|
219 |
+
"Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jinja2>=2.11.2->fastapi->modal) (2.1.5)\n",
|
220 |
+
"Requirement already satisfied: mdurl~=0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->modal) (0.1.2)\n",
|
221 |
+
"Requirement already satisfied: annotated-types>=0.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->modal) (0.6.0)\n",
|
222 |
+
"Requirement already satisfied: pydantic-core==2.18.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->modal) (2.18.2)\n",
|
223 |
+
"Requirement already satisfied: httptools>=0.5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (0.6.1)\n",
|
224 |
+
"Requirement already satisfied: python-dotenv>=0.13 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (1.0.1)\n",
|
225 |
+
"Requirement already satisfied: pyyaml>=5.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (6.0.1)\n",
|
226 |
+
"Requirement already satisfied: websockets>=10.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (12.0)\n"
|
227 |
+
]
|
228 |
+
}
|
229 |
+
],
|
230 |
+
"source": [
|
231 |
+
"!pip install modal"
|
232 |
+
]
|
233 |
+
},
|
234 |
+
{
|
235 |
+
"cell_type": "code",
|
236 |
+
"execution_count": 5,
|
237 |
"metadata": {},
|
238 |
"outputs": [],
|
239 |
"source": [
|
|
|
253 |
},
|
254 |
{
|
255 |
"cell_type": "code",
|
256 |
+
"execution_count": 6,
|
257 |
"metadata": {},
|
258 |
"outputs": [],
|
259 |
"source": [
|
|
|
262 |
},
|
263 |
{
|
264 |
"cell_type": "code",
|
265 |
+
"execution_count": 7,
|
266 |
"metadata": {},
|
267 |
"outputs": [],
|
268 |
"source": [
|
|
|
271 |
},
|
272 |
{
|
273 |
"cell_type": "code",
|
274 |
+
"execution_count": 8,
|
275 |
"metadata": {},
|
276 |
"outputs": [],
|
277 |
"source": [
|
|
|
286 |
},
|
287 |
{
|
288 |
"cell_type": "code",
|
289 |
+
"execution_count": 9,
|
290 |
"metadata": {},
|
291 |
"outputs": [
|
292 |
{
|
|
|
311 |
},
|
312 |
{
|
313 |
"cell_type": "code",
|
314 |
+
"execution_count": 10,
|
315 |
"metadata": {},
|
316 |
"outputs": [
|
317 |
{
|
318 |
"name": "stdout",
|
319 |
"output_type": "stream",
|
320 |
"text": [
|
|
|
321 |
"Connected. Call `.close()` to terminate connection gracefully.\n",
|
322 |
"\n",
|
323 |
+
"Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/693399\n",
|
324 |
"Connected. Call `.close()` to terminate connection gracefully.\n"
|
325 |
]
|
326 |
}
|
|
|
333 |
},
|
334 |
{
|
335 |
"cell_type": "code",
|
336 |
+
"execution_count": 11,
|
337 |
"metadata": {},
|
338 |
"outputs": [],
|
339 |
"source": [
|
|
|
342 |
},
|
343 |
{
|
344 |
"cell_type": "code",
|
345 |
+
"execution_count": 12,
|
346 |
"metadata": {},
|
347 |
"outputs": [],
|
348 |
"source": [
|
|
|
354 |
},
|
355 |
{
|
356 |
"cell_type": "code",
|
357 |
+
"execution_count": 13,
|
358 |
"metadata": {},
|
359 |
"outputs": [
|
360 |
{
|
|
|
520 |
"[3486 rows x 7 columns]"
|
521 |
]
|
522 |
},
|
523 |
+
"execution_count": 13,
|
524 |
"metadata": {},
|
525 |
"output_type": "execute_result"
|
526 |
}
|
|
|
531 |
},
|
532 |
{
|
533 |
"cell_type": "code",
|
534 |
+
"execution_count": 14,
|
535 |
"metadata": {},
|
536 |
"outputs": [],
|
537 |
"source": [
|
|
|
541 |
},
|
542 |
{
|
543 |
"cell_type": "code",
|
544 |
+
"execution_count": 15,
|
545 |
"metadata": {},
|
546 |
"outputs": [
|
547 |
{
|
|
|
558 |
},
|
559 |
{
|
560 |
"cell_type": "code",
|
561 |
+
"execution_count": 16,
|
562 |
"metadata": {},
|
563 |
"outputs": [],
|
564 |
"source": [
|
|
|
571 |
},
|
572 |
{
|
573 |
"cell_type": "code",
|
574 |
+
"execution_count": 17,
|
575 |
"metadata": {},
|
576 |
"outputs": [
|
577 |
{
|
578 |
"name": "stdout",
|
579 |
"output_type": "stream",
|
580 |
"text": [
|
581 |
+
"2024-05-06 13:43:00,985 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
|
582 |
"\n"
|
583 |
]
|
584 |
}
|
|
|
597 |
},
|
598 |
{
|
599 |
"cell_type": "code",
|
600 |
+
"execution_count": 18,
|
601 |
"metadata": {},
|
602 |
"outputs": [
|
603 |
{
|
|
|
605 |
"output_type": "stream",
|
606 |
"text": [
|
607 |
"Feature Group created successfully, explore it at \n",
|
608 |
+
"https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/786781\n"
|
609 |
]
|
610 |
},
|
611 |
{
|
612 |
"data": {
|
613 |
"application/vnd.jupyter.widget-view+json": {
|
614 |
+
"model_id": "b3248b9d522a467db9ce202ef5815fe9",
|
615 |
"version_major": 2,
|
616 |
"version_minor": 0
|
617 |
},
|
|
|
628 |
"text": [
|
629 |
"Launching job: tesla_stock_1_offline_fg_materialization\n",
|
630 |
"Job started successfully, you can follow the progress at \n",
|
631 |
+
"https://c.app.hopsworks.ai/p/693399/jobs/named/tesla_stock_1_offline_fg_materialization/executions\n"
|
632 |
]
|
633 |
},
|
634 |
{
|
635 |
"data": {
|
636 |
"text/plain": [
|
637 |
+
"(<hsfs.core.job.Job at 0x19cffe27490>, None)"
|
638 |
]
|
639 |
},
|
640 |
+
"execution_count": 18,
|
641 |
"metadata": {},
|
642 |
"output_type": "execute_result"
|
643 |
}
|
|
|
648 |
},
|
649 |
{
|
650 |
"cell_type": "code",
|
651 |
+
"execution_count": 19,
|
652 |
"metadata": {},
|
653 |
"outputs": [],
|
654 |
"source": [
|
|
|
657 |
},
|
658 |
{
|
659 |
"cell_type": "code",
|
660 |
+
"execution_count": 20,
|
661 |
"metadata": {},
|
662 |
"outputs": [],
|
663 |
"source": [
|
|
|
666 |
},
|
667 |
{
|
668 |
"cell_type": "code",
|
669 |
+
"execution_count": 21,
|
670 |
"metadata": {},
|
671 |
"outputs": [],
|
672 |
"source": [
|
|
|
675 |
},
|
676 |
{
|
677 |
"cell_type": "code",
|
678 |
+
"execution_count": 22,
|
679 |
"metadata": {},
|
680 |
"outputs": [
|
681 |
{
|
682 |
"name": "stdout",
|
683 |
"output_type": "stream",
|
684 |
"text": [
|
685 |
+
"2024-05-06 13:43:12,343 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
|
686 |
"\n"
|
687 |
]
|
688 |
}
|
|
|
700 |
},
|
701 |
{
|
702 |
"cell_type": "code",
|
703 |
+
"execution_count": 23,
|
704 |
"metadata": {},
|
705 |
"outputs": [
|
706 |
{
|
|
|
708 |
"output_type": "stream",
|
709 |
"text": [
|
710 |
"Feature Group created successfully, explore it at \n",
|
711 |
+
"https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/787796\n"
|
712 |
]
|
713 |
},
|
714 |
{
|
715 |
"data": {
|
716 |
"application/vnd.jupyter.widget-view+json": {
|
717 |
+
"model_id": "524bb5481c34441ba708a4c14edac44b",
|
718 |
"version_major": 2,
|
719 |
"version_minor": 0
|
720 |
},
|
|
|
731 |
"text": [
|
732 |
"Launching job: news_sentiment_updated_1_offline_fg_materialization\n",
|
733 |
"Job started successfully, you can follow the progress at \n",
|
734 |
+
"https://c.app.hopsworks.ai/p/693399/jobs/named/news_sentiment_updated_1_offline_fg_materialization/executions\n"
|
735 |
]
|
736 |
},
|
737 |
{
|
738 |
"data": {
|
739 |
"text/plain": [
|
740 |
+
"(<hsfs.core.job.Job at 0x19c811c2e90>, None)"
|
741 |
]
|
742 |
},
|
743 |
+
"execution_count": 23,
|
744 |
"metadata": {},
|
745 |
"output_type": "execute_result"
|
746 |
}
|
|
|
766 |
"name": "python",
|
767 |
"nbconvert_exporter": "python",
|
768 |
"pygments_lexer": "ipython3",
|
769 |
+
"version": "3.11.9"
|
770 |
},
|
771 |
"orig_nbformat": 4
|
772 |
},
|
feature_view_freddie.ipynb → feature_view.ipynb
RENAMED
@@ -2,7 +2,7 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
@@ -23,9 +23,81 @@
|
|
23 |
},
|
24 |
{
|
25 |
"cell_type": "code",
|
26 |
-
"execution_count":
|
27 |
"metadata": {},
|
28 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
"source": [
|
30 |
"from feature_pipeline import tesla_fg\n",
|
31 |
"from feature_pipeline import news_sentiment_fg"
|
@@ -33,7 +105,7 @@
|
|
33 |
},
|
34 |
{
|
35 |
"cell_type": "code",
|
36 |
-
"execution_count":
|
37 |
"metadata": {},
|
38 |
"outputs": [
|
39 |
{
|
@@ -42,7 +114,7 @@
|
|
42 |
"True"
|
43 |
]
|
44 |
},
|
45 |
-
"execution_count":
|
46 |
"metadata": {},
|
47 |
"output_type": "execute_result"
|
48 |
}
|
@@ -56,7 +128,7 @@
|
|
56 |
},
|
57 |
{
|
58 |
"cell_type": "code",
|
59 |
-
"execution_count":
|
60 |
"metadata": {},
|
61 |
"outputs": [
|
62 |
{
|
@@ -64,9 +136,15 @@
|
|
64 |
"output_type": "stream",
|
65 |
"text": [
|
66 |
"Connection closed.\n",
|
67 |
-
"Connected. Call `.close()` to terminate connection gracefully.\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
"\n",
|
69 |
-
"Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/
|
70 |
"Connected. Call `.close()` to terminate connection gracefully.\n"
|
71 |
]
|
72 |
}
|
@@ -79,7 +157,7 @@
|
|
79 |
},
|
80 |
{
|
81 |
"cell_type": "code",
|
82 |
-
"execution_count":
|
83 |
"metadata": {},
|
84 |
"outputs": [],
|
85 |
"source": [
|
@@ -91,13 +169,13 @@
|
|
91 |
"\n",
|
92 |
" # Define the query\n",
|
93 |
" ds_query = tesla_fg.select(['date', 'open', 'ticker'])\\\n",
|
94 |
-
" .join(news_sentiment_fg.select(['
|
95 |
"\n",
|
96 |
" # Create the feature view\n",
|
97 |
" feature_view = fs.create_feature_view(\n",
|
98 |
" name='tesla_stocks_fv',\n",
|
99 |
" query=ds_query,\n",
|
100 |
-
" labels=['
|
101 |
" )\n",
|
102 |
"\n",
|
103 |
" return feature_view, tesla_fg"
|
@@ -105,7 +183,7 @@
|
|
105 |
},
|
106 |
{
|
107 |
"cell_type": "code",
|
108 |
-
"execution_count":
|
109 |
"metadata": {},
|
110 |
"outputs": [
|
111 |
{
|
@@ -113,7 +191,7 @@
|
|
113 |
"output_type": "stream",
|
114 |
"text": [
|
115 |
"Feature view created successfully, explore it at \n",
|
116 |
-
"https://c.app.hopsworks.ai:443/p/
|
117 |
]
|
118 |
}
|
119 |
],
|
@@ -127,7 +205,35 @@
|
|
127 |
},
|
128 |
{
|
129 |
"cell_type": "code",
|
130 |
-
"execution_count":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
"metadata": {},
|
132 |
"outputs": [],
|
133 |
"source": [
|
@@ -149,7 +255,7 @@
|
|
149 |
},
|
150 |
{
|
151 |
"cell_type": "code",
|
152 |
-
"execution_count":
|
153 |
"metadata": {},
|
154 |
"outputs": [],
|
155 |
"source": [
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
|
|
23 |
},
|
24 |
{
|
25 |
"cell_type": "code",
|
26 |
+
"execution_count": 2,
|
27 |
"metadata": {},
|
28 |
+
"outputs": [
|
29 |
+
{
|
30 |
+
"name": "stdout",
|
31 |
+
"output_type": "stream",
|
32 |
+
"text": [
|
33 |
+
" date 1. open 2. high 3. low 4. close 5. volume ticker\n",
|
34 |
+
"0 2024-05-03 182.10 184.78 178.4200 181.19 75491539.0 TSLA\n",
|
35 |
+
"1 2024-05-02 182.86 184.60 176.0200 180.01 89148041.0 TSLA\n",
|
36 |
+
"2 2024-05-01 182.00 185.86 179.0100 179.99 92829719.0 TSLA\n",
|
37 |
+
"3 2024-04-30 186.98 190.95 182.8401 183.28 127031787.0 TSLA\n",
|
38 |
+
"4 2024-04-29 188.42 198.87 184.5400 194.05 243869678.0 TSLA\n",
|
39 |
+
"Connected. Call `.close()` to terminate connection gracefully.\n",
|
40 |
+
"\n",
|
41 |
+
"Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/693399\n",
|
42 |
+
"Connected. Call `.close()` to terminate connection gracefully.\n",
|
43 |
+
"Index(['date', 'open', 'high', 'low', 'close', 'volume', 'ticker'], dtype='object')\n",
|
44 |
+
"2024-05-06 13:44:59,122 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
|
45 |
+
"\n",
|
46 |
+
"Feature Group created successfully, explore it at \n",
|
47 |
+
"https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/787797\n"
|
48 |
+
]
|
49 |
+
},
|
50 |
+
{
|
51 |
+
"data": {
|
52 |
+
"application/vnd.jupyter.widget-view+json": {
|
53 |
+
"model_id": "1b857e05ae714fc09a2a7fcd05f56a73",
|
54 |
+
"version_major": 2,
|
55 |
+
"version_minor": 0
|
56 |
+
},
|
57 |
+
"text/plain": [
|
58 |
+
"Uploading Dataframe: 0.00% | | Rows 0/3486 | Elapsed Time: 00:00 | Remaining Time: ?"
|
59 |
+
]
|
60 |
+
},
|
61 |
+
"metadata": {},
|
62 |
+
"output_type": "display_data"
|
63 |
+
},
|
64 |
+
{
|
65 |
+
"name": "stdout",
|
66 |
+
"output_type": "stream",
|
67 |
+
"text": [
|
68 |
+
"Launching job: tesla_stock_2_offline_fg_materialization\n",
|
69 |
+
"Job started successfully, you can follow the progress at \n",
|
70 |
+
"https://c.app.hopsworks.ai/p/693399/jobs/named/tesla_stock_2_offline_fg_materialization/executions\n",
|
71 |
+
"2024-05-06 13:45:08,516 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
|
72 |
+
"\n",
|
73 |
+
"Feature Group created successfully, explore it at \n",
|
74 |
+
"https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/785786\n"
|
75 |
+
]
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"data": {
|
79 |
+
"application/vnd.jupyter.widget-view+json": {
|
80 |
+
"model_id": "98e7ee7cb2c943b8893d0ae2a7254104",
|
81 |
+
"version_major": 2,
|
82 |
+
"version_minor": 0
|
83 |
+
},
|
84 |
+
"text/plain": [
|
85 |
+
"Uploading Dataframe: 0.00% | | Rows 0/66 | Elapsed Time: 00:00 | Remaining Time: ?"
|
86 |
+
]
|
87 |
+
},
|
88 |
+
"metadata": {},
|
89 |
+
"output_type": "display_data"
|
90 |
+
},
|
91 |
+
{
|
92 |
+
"name": "stdout",
|
93 |
+
"output_type": "stream",
|
94 |
+
"text": [
|
95 |
+
"Launching job: news_sentiment_updated_2_offline_fg_materialization\n",
|
96 |
+
"Job started successfully, you can follow the progress at \n",
|
97 |
+
"https://c.app.hopsworks.ai/p/693399/jobs/named/news_sentiment_updated_2_offline_fg_materialization/executions\n"
|
98 |
+
]
|
99 |
+
}
|
100 |
+
],
|
101 |
"source": [
|
102 |
"from feature_pipeline import tesla_fg\n",
|
103 |
"from feature_pipeline import news_sentiment_fg"
|
|
|
105 |
},
|
106 |
{
|
107 |
"cell_type": "code",
|
108 |
+
"execution_count": 3,
|
109 |
"metadata": {},
|
110 |
"outputs": [
|
111 |
{
|
|
|
114 |
"True"
|
115 |
]
|
116 |
},
|
117 |
+
"execution_count": 3,
|
118 |
"metadata": {},
|
119 |
"output_type": "execute_result"
|
120 |
}
|
|
|
128 |
},
|
129 |
{
|
130 |
"cell_type": "code",
|
131 |
+
"execution_count": 4,
|
132 |
"metadata": {},
|
133 |
"outputs": [
|
134 |
{
|
|
|
136 |
"output_type": "stream",
|
137 |
"text": [
|
138 |
"Connection closed.\n",
|
139 |
+
"Connected. Call `.close()` to terminate connection gracefully.\n"
|
140 |
+
]
|
141 |
+
},
|
142 |
+
{
|
143 |
+
"name": "stdout",
|
144 |
+
"output_type": "stream",
|
145 |
+
"text": [
|
146 |
"\n",
|
147 |
+
"Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/693399\n",
|
148 |
"Connected. Call `.close()` to terminate connection gracefully.\n"
|
149 |
]
|
150 |
}
|
|
|
157 |
},
|
158 |
{
|
159 |
"cell_type": "code",
|
160 |
+
"execution_count": 9,
|
161 |
"metadata": {},
|
162 |
"outputs": [],
|
163 |
"source": [
|
|
|
169 |
"\n",
|
170 |
" # Define the query\n",
|
171 |
" ds_query = tesla_fg.select(['date', 'open', 'ticker'])\\\n",
|
172 |
+
" .join(news_sentiment_fg.select(['sentiment']))\n",
|
173 |
"\n",
|
174 |
" # Create the feature view\n",
|
175 |
" feature_view = fs.create_feature_view(\n",
|
176 |
" name='tesla_stocks_fv',\n",
|
177 |
" query=ds_query,\n",
|
178 |
+
" labels=['open']\n",
|
179 |
" )\n",
|
180 |
"\n",
|
181 |
" return feature_view, tesla_fg"
|
|
|
183 |
},
|
184 |
{
|
185 |
"cell_type": "code",
|
186 |
+
"execution_count": 10,
|
187 |
"metadata": {},
|
188 |
"outputs": [
|
189 |
{
|
|
|
191 |
"output_type": "stream",
|
192 |
"text": [
|
193 |
"Feature view created successfully, explore it at \n",
|
194 |
+
"https://c.app.hopsworks.ai:443/p/693399/fs/689222/fv/tesla_stocks_fv/version/1\n"
|
195 |
]
|
196 |
}
|
197 |
],
|
|
|
205 |
},
|
206 |
{
|
207 |
"cell_type": "code",
|
208 |
+
"execution_count": 11,
|
209 |
+
"metadata": {},
|
210 |
+
"outputs": [],
|
211 |
+
"source": [
|
212 |
+
"def fix_data_from_feature_view(df,start_date,end_date):\n",
|
213 |
+
" df = df.sort_values(\"date\")\n",
|
214 |
+
" df = df.reset_index()\n",
|
215 |
+
" df = df.drop(columns=[\"index\"])\n",
|
216 |
+
"\n",
|
217 |
+
" # Create a boolean mask for rows that fall within the date range\n",
|
218 |
+
" mask = (pd.to_datetime(df['date']) >= pd.to_datetime(start_date)) & (pd.to_datetime(df['date']) <= pd.to_datetime(end_date))\n",
|
219 |
+
" len_df = np.shape(df)\n",
|
220 |
+
" df = df[mask] # Use the boolean mask to filter the DataFrame\n",
|
221 |
+
" print('From shape {} to {} after cropping to given date range: {} to {}'.format(len_df,np.shape(df),start_date,end_date))\n",
|
222 |
+
"\n",
|
223 |
+
" # Get rid off all non-business days\n",
|
224 |
+
" isBusinessDay, is_open = extract_business_day(start_date,end_date)\n",
|
225 |
+
" is_open = [not i for i in is_open] # Invert the mask to be able to drop all non-buisiness days\n",
|
226 |
+
"\n",
|
227 |
+
" filtered_df = df.drop(df[is_open].index) # Use the mask to filter the rows of the DataFrame\n",
|
228 |
+
" print('From shape {} to {} after removing non-business days'.format(np.shape(df),np.shape(filtered_df)))\n",
|
229 |
+
" print(filtered_df)\n",
|
230 |
+
" \n",
|
231 |
+
" return filtered_df"
|
232 |
+
]
|
233 |
+
},
|
234 |
+
{
|
235 |
+
"cell_type": "code",
|
236 |
+
"execution_count": 7,
|
237 |
"metadata": {},
|
238 |
"outputs": [],
|
239 |
"source": [
|
|
|
255 |
},
|
256 |
{
|
257 |
"cell_type": "code",
|
258 |
+
"execution_count": 8,
|
259 |
"metadata": {},
|
260 |
"outputs": [],
|
261 |
"source": [
|
feature_view.py
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# %%
|
2 |
+
# Import necessary libraries
|
3 |
+
import pandas as pd # For data manipulation using DataFrames
|
4 |
+
import numpy as np # For numerical operations
|
5 |
+
import matplotlib.pyplot as plt # For data visualization
|
6 |
+
import os # For operating system-related tasks
|
7 |
+
import joblib # For saving and loading models
|
8 |
+
import hopsworks # For getting access to hopsworks
|
9 |
+
|
10 |
+
|
11 |
+
|
12 |
+
# Import specific modules from scikit-learn
|
13 |
+
from sklearn.preprocessing import StandardScaler, OneHotEncoder # For data preprocessing
|
14 |
+
from sklearn.metrics import accuracy_score # For evaluating model accuracy
|
15 |
+
|
16 |
+
# %%
|
17 |
+
from feature_pipeline import tesla_fg
|
18 |
+
from feature_pipeline import news_sentiment_fg
|
19 |
+
|
20 |
+
# %%
|
21 |
+
from dotenv import load_dotenv
|
22 |
+
import os
|
23 |
+
|
24 |
+
load_dotenv()
|
25 |
+
|
26 |
+
# %%
|
27 |
+
api_key = os.environ.get('hopsworks_api')
|
28 |
+
project = hopsworks.login(api_key_value=api_key)
|
29 |
+
fs = project.get_feature_store()
|
30 |
+
|
31 |
+
# %%
|
32 |
+
def create_stocks_feature_view(fs, version):
|
33 |
+
|
34 |
+
# Loading in the feature groups
|
35 |
+
tesla_fg = fs.get_feature_group('tesla_stock', version=1)
|
36 |
+
news_sentiment_fg = fs.get_feature_group('news_sentiment_updated', version=1)
|
37 |
+
|
38 |
+
# Define the query
|
39 |
+
ds_query = tesla_fg.select(['date', 'open', 'ticker'])\
|
40 |
+
.join(news_sentiment_fg.select(['sentiment']))
|
41 |
+
|
42 |
+
# Create the feature view
|
43 |
+
feature_view = fs.create_feature_view(
|
44 |
+
name='tesla_stocks_fv',
|
45 |
+
query=ds_query,
|
46 |
+
labels=['open']
|
47 |
+
)
|
48 |
+
|
49 |
+
return feature_view, tesla_fg
|
50 |
+
|
51 |
+
# %%
|
52 |
+
try:
|
53 |
+
feature_view = fs.get_feature_view("tesla_stocks_fv", version=1)
|
54 |
+
tesla_fg = fs.get_feature_group('tesla_stock', version=1)
|
55 |
+
except:
|
56 |
+
feature_view, tesla_fg = create_stocks_feature_view(fs, 1)
|
57 |
+
|
58 |
+
# %%
|
59 |
+
def fix_data_from_feature_view(df,start_date,end_date):
|
60 |
+
df = df.sort_values("date")
|
61 |
+
df = df.reset_index()
|
62 |
+
df = df.drop(columns=["index"])
|
63 |
+
|
64 |
+
# Create a boolean mask for rows that fall within the date range
|
65 |
+
mask = (pd.to_datetime(df['date']) >= pd.to_datetime(start_date)) & (pd.to_datetime(df['date']) <= pd.to_datetime(end_date))
|
66 |
+
len_df = np.shape(df)
|
67 |
+
df = df[mask] # Use the boolean mask to filter the DataFrame
|
68 |
+
print('From shape {} to {} after cropping to given date range: {} to {}'.format(len_df,np.shape(df),start_date,end_date))
|
69 |
+
|
70 |
+
# Get rid off all non-business days
|
71 |
+
isBusinessDay, is_open = extract_business_day(start_date,end_date)
|
72 |
+
is_open = [not i for i in is_open] # Invert the mask to be able to drop all non-buisiness days
|
73 |
+
|
74 |
+
filtered_df = df.drop(df[is_open].index) # Use the mask to filter the rows of the DataFrame
|
75 |
+
print('From shape {} to {} after removing non-business days'.format(np.shape(df),np.shape(filtered_df)))
|
76 |
+
print(filtered_df)
|
77 |
+
|
78 |
+
return filtered_df
|
79 |
+
|
80 |
+
# %%
|
81 |
+
#def create_stocks_feature_view(fs, version):
|
82 |
+
|
83 |
+
#Loading in the feature groups
|
84 |
+
# tesla_fg = fs.get_feature_group('tesla_stock', version = 3)
|
85 |
+
# news_sentiment_fg = fs.get_feature_group('news_sentiment_updated', version = 2)
|
86 |
+
|
87 |
+
# ds_query = tesla_fg.select(['date','open', 'ticker'])\
|
88 |
+
# .join(news_sentiment_fg.select_except(['ticker','time', 'amp_url', 'image_url']))
|
89 |
+
|
90 |
+
# return (fs.create_tesla_feature_view(
|
91 |
+
# name = 'tsla_stocks_fv',
|
92 |
+
# query = ds_query,
|
93 |
+
# labels=['ticker']
|
94 |
+
# ), tesla_fg)
|
95 |
+
|
96 |
+
# %%
|
97 |
+
#try:
|
98 |
+
# feature_view = fs.get_feature_view("tsla_stocks_fv", version=1)
|
99 |
+
# tesla_fg = fs.get_feature_group('tesla_stock', version=3)
|
100 |
+
#except:
|
101 |
+
# feature_view, tesla_fg = create_stocks_feature_view(fs, 1)
|
102 |
+
|
103 |
+
|
historical_news.ipynb
CHANGED
@@ -663,7 +663,7 @@
|
|
663 |
"name": "python",
|
664 |
"nbconvert_exporter": "python",
|
665 |
"pygments_lexer": "ipython3",
|
666 |
-
"version": "3.11.
|
667 |
},
|
668 |
"orig_nbformat": 4
|
669 |
},
|
|
|
663 |
"name": "python",
|
664 |
"nbconvert_exporter": "python",
|
665 |
"pygments_lexer": "ipython3",
|
666 |
+
"version": "3.11.9"
|
667 |
},
|
668 |
"orig_nbformat": 4
|
669 |
},
|
historical_stock.ipynb
CHANGED
@@ -4,7 +4,19 @@
|
|
4 |
"cell_type": "code",
|
5 |
"execution_count": 1,
|
6 |
"metadata": {},
|
7 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
"source": [
|
9 |
"from dotenv import load_dotenv\n",
|
10 |
"import os \n",
|
@@ -25,7 +37,7 @@
|
|
25 |
},
|
26 |
{
|
27 |
"cell_type": "code",
|
28 |
-
"execution_count":
|
29 |
"metadata": {},
|
30 |
"outputs": [
|
31 |
{
|
@@ -67,7 +79,7 @@
|
|
67 |
},
|
68 |
{
|
69 |
"cell_type": "code",
|
70 |
-
"execution_count":
|
71 |
"metadata": {},
|
72 |
"outputs": [],
|
73 |
"source": [
|
@@ -125,7 +137,7 @@
|
|
125 |
},
|
126 |
{
|
127 |
"cell_type": "code",
|
128 |
-
"execution_count":
|
129 |
"metadata": {},
|
130 |
"outputs": [],
|
131 |
"source": [
|
@@ -198,7 +210,7 @@
|
|
198 |
},
|
199 |
{
|
200 |
"cell_type": "code",
|
201 |
-
"execution_count":
|
202 |
"metadata": {},
|
203 |
"outputs": [
|
204 |
{
|
@@ -236,7 +248,7 @@
|
|
236 |
"name": "python",
|
237 |
"nbconvert_exporter": "python",
|
238 |
"pygments_lexer": "ipython3",
|
239 |
-
"version": "3.11.
|
240 |
},
|
241 |
"orig_nbformat": 4
|
242 |
},
|
|
|
4 |
"cell_type": "code",
|
5 |
"execution_count": 1,
|
6 |
"metadata": {},
|
7 |
+
"outputs": [
|
8 |
+
{
|
9 |
+
"ename": "ModuleNotFoundError",
|
10 |
+
"evalue": "No module named 'modal'",
|
11 |
+
"output_type": "error",
|
12 |
+
"traceback": [
|
13 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
14 |
+
"\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
|
15 |
+
"Cell \u001b[1;32mIn[1], line 7\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mhopsworks\u001b[39;00m\n\u001b[0;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mre\u001b[39;00m \n\u001b[1;32m----> 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmodal\u001b[39;00m \n\u001b[0;32m 8\u001b[0m \u001b[38;5;66;03m#prepocessing\u001b[39;00m\n\u001b[0;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mrequests\u001b[39;00m\n",
|
16 |
+
"\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'modal'"
|
17 |
+
]
|
18 |
+
}
|
19 |
+
],
|
20 |
"source": [
|
21 |
"from dotenv import load_dotenv\n",
|
22 |
"import os \n",
|
|
|
37 |
},
|
38 |
{
|
39 |
"cell_type": "code",
|
40 |
+
"execution_count": null,
|
41 |
"metadata": {},
|
42 |
"outputs": [
|
43 |
{
|
|
|
79 |
},
|
80 |
{
|
81 |
"cell_type": "code",
|
82 |
+
"execution_count": null,
|
83 |
"metadata": {},
|
84 |
"outputs": [],
|
85 |
"source": [
|
|
|
137 |
},
|
138 |
{
|
139 |
"cell_type": "code",
|
140 |
+
"execution_count": null,
|
141 |
"metadata": {},
|
142 |
"outputs": [],
|
143 |
"source": [
|
|
|
210 |
},
|
211 |
{
|
212 |
"cell_type": "code",
|
213 |
+
"execution_count": null,
|
214 |
"metadata": {},
|
215 |
"outputs": [
|
216 |
{
|
|
|
248 |
"name": "python",
|
249 |
"nbconvert_exporter": "python",
|
250 |
"pygments_lexer": "ipython3",
|
251 |
+
"version": "3.11.9"
|
252 |
},
|
253 |
"orig_nbformat": 4
|
254 |
},
|
requirements.txt
CHANGED
@@ -16,4 +16,6 @@ python-dotenv
|
|
16 |
requests
|
17 |
alpha_vantage
|
18 |
textblob
|
19 |
-
great_expectations==0.18.12
|
|
|
|
|
|
16 |
requests
|
17 |
alpha_vantage
|
18 |
textblob
|
19 |
+
great_expectations==0.18.12
|
20 |
+
prophet
|
21 |
+
tensorflow
|
stock_preprocessing.py
ADDED
@@ -0,0 +1,177 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# %%
|
2 |
+
from dotenv import load_dotenv
|
3 |
+
import os
|
4 |
+
from alpha_vantage.timeseries import TimeSeries
|
5 |
+
import pandas as pd
|
6 |
+
import hopsworks
|
7 |
+
import re
|
8 |
+
import modal
|
9 |
+
#prepocessing
|
10 |
+
import requests
|
11 |
+
import pandas as pd
|
12 |
+
import json
|
13 |
+
#import pandas_market_calendars as mcal
|
14 |
+
import datetime
|
15 |
+
import numpy as np
|
16 |
+
from datetime import datetime, timedelta
|
17 |
+
|
18 |
+
|
19 |
+
# %%
|
20 |
+
load_dotenv()
|
21 |
+
|
22 |
+
api_key = os.environ.get('stocks_api') # Replace this with your actual API key
|
23 |
+
ts = TimeSeries(key=api_key, output_format='pandas')
|
24 |
+
|
25 |
+
# Fetch daily adjusted stock prices; adjust the symbol as needed
|
26 |
+
data, meta_data = ts.get_daily(symbol='TSLA', outputsize='full')
|
27 |
+
|
28 |
+
print(data.head())
|
29 |
+
|
30 |
+
# %%
|
31 |
+
data
|
32 |
+
|
33 |
+
# %%
|
34 |
+
data.info()
|
35 |
+
|
36 |
+
# %%
|
37 |
+
meta_data
|
38 |
+
|
39 |
+
# %%
|
40 |
+
#Stock market:
|
41 |
+
def today_is_a_business_day(today):
|
42 |
+
# Get the NYSE calendar
|
43 |
+
cal = mcal.get_calendar('NYSE')
|
44 |
+
schedule = cal.schedule(start_date=today, end_date=today) # Get the NYSE calendar's open and close times for the specified period
|
45 |
+
try:
|
46 |
+
isBusinessDay = schedule.market_open.dt.strftime('%Y-%m-%d')
|
47 |
+
return True
|
48 |
+
except:
|
49 |
+
print('Today {} is not a business day'.format(today))
|
50 |
+
return False
|
51 |
+
|
52 |
+
# %%
|
53 |
+
def next_business_day(today):
|
54 |
+
|
55 |
+
# Real tomorrow
|
56 |
+
tomorrow = (today + timedelta(days=1)).strftime("%Y-%m-%d")
|
57 |
+
|
58 |
+
# Get the NYSE calendar
|
59 |
+
cal = mcal.get_calendar('NYSE')
|
60 |
+
|
61 |
+
found_next_business_day = False
|
62 |
+
while not found_next_business_day:
|
63 |
+
schedule = cal.schedule(start_date=tomorrow, end_date=tomorrow) # Get the NYSE calendar's open and close times for the specified period
|
64 |
+
try:
|
65 |
+
isBusinessDay = schedule.market_open.dt.strftime('%Y-%m-%d') # Only need a list of dates when it's open (not open and close times)
|
66 |
+
found_next_business_day = True
|
67 |
+
except:
|
68 |
+
print('The date {} is not a business day'.format(tomorrow))
|
69 |
+
tomorrow = (datetime.datetime.strptime(tomorrow,"%Y-%m-%d") + timedelta(days=1)).strftime("%Y-%m-%d")
|
70 |
+
|
71 |
+
return isBusinessDay.to_numpy()[0]
|
72 |
+
|
73 |
+
# %%
|
74 |
+
def extract_business_day(start_date,end_date):
|
75 |
+
"""
|
76 |
+
Given a start_date and end_date.
|
77 |
+
|
78 |
+
`Returns`:
|
79 |
+
|
80 |
+
isBusinessDay: list of str (with all dates being business days)
|
81 |
+
is_open: boolean list
|
82 |
+
e.g is_open = [1,0,...,1] means that start_date = open, day after start_date = closed, and end_date = open
|
83 |
+
"""
|
84 |
+
|
85 |
+
# Save for later
|
86 |
+
end_date_save = end_date
|
87 |
+
|
88 |
+
# Get the NYSE calendar
|
89 |
+
cal = mcal.get_calendar('NYSE')
|
90 |
+
|
91 |
+
# Get the NYSE calendar's open and close times for the specified period
|
92 |
+
schedule = cal.schedule(start_date=start_date, end_date=end_date)
|
93 |
+
|
94 |
+
# Only need a list of dates when it's open (not open and close times)
|
95 |
+
isBusinessDay = np.array(schedule.market_open.dt.strftime('%Y-%m-%d'))
|
96 |
+
|
97 |
+
# Go over all days:
|
98 |
+
delta = datetime.timedelta(days=1)
|
99 |
+
start_date = datetime.datetime.strptime(start_date,"%Y-%m-%d") #datetime.date(2015, 7, 16)
|
100 |
+
end_date = datetime.datetime.strptime(end_date,"%Y-%m-%d") #datetime.date(2023, 1, 4)
|
101 |
+
|
102 |
+
# Extract days from the timedelta object
|
103 |
+
num_days = (end_date - start_date).days + 1
|
104 |
+
|
105 |
+
# Create boolean array for days being open (1) and closed (0)
|
106 |
+
is_open = np.zeros(num_days)
|
107 |
+
|
108 |
+
# iterate over range of dates
|
109 |
+
current_BusinessDay = isBusinessDay[0]
|
110 |
+
count_dates = 0
|
111 |
+
next_BusinessDay = 0
|
112 |
+
|
113 |
+
while (start_date <= end_date):
|
114 |
+
|
115 |
+
if start_date.strftime('%Y-%m-%d') == current_BusinessDay:
|
116 |
+
is_open[count_dates] = True
|
117 |
+
|
118 |
+
if current_BusinessDay == end_date_save or current_BusinessDay==isBusinessDay[-1]:
|
119 |
+
break
|
120 |
+
else:
|
121 |
+
next_BusinessDay += 1
|
122 |
+
current_BusinessDay = isBusinessDay[next_BusinessDay]
|
123 |
+
else:
|
124 |
+
is_open[count_dates] = False
|
125 |
+
|
126 |
+
count_dates += 1
|
127 |
+
start_date += delta
|
128 |
+
|
129 |
+
print(np.shape(is_open))
|
130 |
+
|
131 |
+
return isBusinessDay, is_open
|
132 |
+
|
133 |
+
# %%
|
134 |
+
def clean_column_name(name):
|
135 |
+
# Remove all non-letter characters
|
136 |
+
cleaned_name = re.sub(r'[^a-zA-Z]', '', name)
|
137 |
+
return cleaned_name
|
138 |
+
|
139 |
+
# %%
|
140 |
+
data.columns = [clean_column_name(col) for col in data.columns]
|
141 |
+
|
142 |
+
# %%
|
143 |
+
data.head()
|
144 |
+
|
145 |
+
# %%
|
146 |
+
data.reset_index(inplace=True)
|
147 |
+
|
148 |
+
|
149 |
+
# %%
|
150 |
+
data.head()
|
151 |
+
|
152 |
+
# %%
|
153 |
+
data
|
154 |
+
|
155 |
+
# %%
|
156 |
+
# Define the date range you're interested in
|
157 |
+
yesterday =datetime.now()-timedelta(days=1)
|
158 |
+
two_years_back = yesterday - timedelta(days=684)
|
159 |
+
|
160 |
+
# %%
|
161 |
+
# Filter the DataFrame to this range
|
162 |
+
filtered_df = data[(data['date'] >= two_years_back) & (data['date'] <= yesterday)]
|
163 |
+
|
164 |
+
# %%
|
165 |
+
filtered_df.head()
|
166 |
+
|
167 |
+
# %%
|
168 |
+
print(filtered_df['date'].min())
|
169 |
+
print(filtered_df['date'].max())
|
170 |
+
|
171 |
+
# %%
|
172 |
+
filtered_df.shape
|
173 |
+
|
174 |
+
# %%
|
175 |
+
|
176 |
+
|
177 |
+
|