-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a3c1dae
commit c9204e7
Showing
2 changed files
with
76 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
:::{.callout-tip collapse="true" icon=false} | ||
## Création d'un tableau de bord de monitoring | ||
|
||
:::::{.nonincremental} | ||
1. Nous allons utiliser [`Quarto Dashboards`](https://quarto.org/docs/dashboards/) qui fera partie de la version 1.4 de `Quarto`. Téléchargez et installez la pre-release. | ||
|
||
```sh | ||
wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.4.489/quarto-1.4.489-linux-amd64.deb \ | ||
-O quarto.deb | ||
sudo dpkg -i quarto.deb | ||
quarto check install | ||
rm quarto.deb | ||
``` | ||
|
||
2. Ouvrez le fichier `dashboard/index.qmd` et inspectez le code. Pour récupérer les données nécessaires à la création du tableau de bord, on utilise un SGBD *serverless* : `DuckDB`. `DuckDB` nous permet de faire des requêtes `SQL` sur un fichier `.parquet` contenant des logs *parsés*. Ce fichier contient une ligne par prédiction, avec les variables `timestamp`, `text`, `prediction_1`, `proba_1`, `prediction_2` et `proba_2`. | ||
|
||
3. Pour visualiser le tableau de bord, entrez les commandes suivantes dans un `Terminal` depuis la racine du projet et cliquez sur le lien généré. | ||
|
||
```sh | ||
cd dashboard | ||
quarto preview index.qmd | ||
``` | ||
|
||
4. Pour l'instant le pourcentage de prédictions avec une probabilité supérieure à 0.8 ne correspond pas à la réalité. Modifiez la requête SQL permettant d'obtenir la variable `pct_predictions` pour afficher la bonne valeur. | ||
|
||
<details> | ||
<summary> | ||
<font size=\"3\" color=\"darkgreen\"><b>Cliquez pour voir la réponse </b></font> | ||
</summary> | ||
|
||
```python | ||
pct_predictions = duckdb.sql( | ||
""" | ||
SELECT 100 * COUNT(*) / COUNT(*) | ||
FROM data; | ||
""" | ||
).fetchall()[0][0] | ||
``` | ||
|
||
</details> | ||
|
||
|
||
5. Les deux graphiques situés en bas du tableau de bord ne sont pas corrects non plus. Modifiez la requête SQL permettant d'obtenir la variable `daily_stats` pour afficher les bons graphiques. | ||
<details> | ||
<summary> | ||
<font size=\"3\" color=\"darkgreen\"><b>Cliquez pour voir la réponse </b></font> | ||
</summary> | ||
```python | ||
daily_stats = duckdb.sql( | ||
""" | ||
SELECT | ||
CAST(timestamp AS DATE) AS date, | ||
COUNT(*) AS n_liasses, | ||
( | ||
COUNT( | ||
CASE WHEN data.proba_1 > 0.8 THEN 1 END | ||
) * 100.0 / COUNT(*) | ||
) AS pct_high_proba | ||
FROM data | ||
GROUP BY CAST(timestamp AS DATE); | ||
""" | ||
).to_df() | ||
``` | ||
6. Constatez les changements apportés au tableau de bord. | ||
</details> | ||
::: | ||
::: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters