cours/notes stage de L3.md
Oscar Plaisant ba4a8f79e1 update
2024-05-28 11:16:33 +02:00

18 KiB

excalidraw-plugin, tags, excalidraw-open-md
excalidraw-plugin tags excalidraw-open-md
parsed
excalidraw
true

up:: stage de L3 #fac #informatique

  • semaine 1 :
    • sujet par M.Labroche et M.Marcel
      • prédiction du résultat de requêtes SQL (ordre de valeurs d'un attribut)
      • inégalités de concentration
    • production de code
      • création de la base de données depuis des CSV
      • connexion python \longleftrightarrow base de données
      • récupération et traitement des données en python
        • filtrage et gestion des tables
        • gestion des ordres et des permutations
          • extraire plusieurs ordres d'une table
          • aggréger des permutations
            • distance \tau de kendall (normalisé : \frac{2 \tau}{n(n+1)})
            • aggrégation de kemeny-young (barycentre pour )
  • semaine 2 et 3:
    • réorientation du sujet
      • chercher à vérifier une hypothèse sur les données en faisant des requêtes sur des sous-ensembles des données
        • hypothèse sous forme d'un ordre sur des valeurs
        • utiliser des inégalités de concentration
  • semaine 4 :
    • implémentation de la loss modale
      • la loss est 1 si l'ordre est égal à l'hypothèse, et 0 sinon
      • on calcule la loss moyenne ainsi que la loss
    • utilisation du nouveau dataset
      • script make
        • faire un script modulaire (capable de s'adapter à plusieurs bases de données)
        • créer la bdd SQLite
        • la remplir avec les fichiers csv
  • semaine 5 :
    • utilisation du nouveau dataset

      • correction de tous les problèmes causés par le changement de shéma
        • il y en a beaucoup
    • début de rédaction

$= "![[" + dv.current().file.name + ".svg|1000]]"

%%

Excalidraw Data

Text Elements

part

partkey int name varchar mfgr char(6) category char(7) brand char(9) color varchar type varchar size integer container char(10) ^AoIsl4bv

supplier

suppkey int name char(25) address varchar city char(10) nation char(15) region char(12) phone char(15) ^2pDS1J7A

date

DATEKEY int DATE char DAYOFWEEK char MONTH char YEAR int YEARMONTHNUM int YEARMONTH char DAYNUMINWEEK int DAYNUMINMONTH int DAYNUMINYEAR int MONTHNUMINYEAR int WEEKNUMINYEAR int SELLINGSEASON varchar LASTDAYINWEEKFL int LASTDAYINMONTHFL int HOLIDAYFL int WEEKDAYFL int ^tBDGlEdU

lineorder

orderkey int linenumber int custkey int partkey int suppkey int orderdate int orderpriority char(15) shippriority char(1) quantity float extendedprice float ordtotalprice float discount float revenue float supplycost float tax float commitdate int shipmode char(10) ^MNRdNlSC

customer

custkey int name varchar address varchar city char nation char region char phone char mktsegment char ^Pd3gusQx

Drawing

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

r6uAECg8Y4Q4QbXnpEQhAA==

%%