L'arbre de décision R1 → R9

Cliquez sur chaque règle pour voir le détail.

🌿 R1 — Extérieur (side == "ext")+

Condition : side == "ext"

garden / terrace / balcony (voir sous-arbre ci-dessous)

Pouvoir discriminant : 100% exclusif aux extérieurs. Aucune pièce intérieure n'a side == "ext".

🍳 R2 — Cuisine ouverte+

Condition : sep_ratio ≥ 0.28 AND area < 8 AND doors ≤ 1

kitchen (conf 0.80)

Discriminant : les cuisines ouvertes ont le plus haut ratio de séparateurs (0.30–0.41). Le garde doors ≤ 1 (v5.5) exclut les corridors multi-portes.

🛋️ R3 — Séjour+

Condition : area 15–80 AND windows ≥ 1 AND side == "int" AND glazing_ratio ≥ 0.23

living_room (conf 0.85)

Discriminant : les séjours ont ≥27% de ratio vitré (≥2 fenêtres ou baies). Les chambres restent sous 20%.

Gardes : side=="int" (v5.6) — un séjour est toujours intérieur. glazing_ratio ≥ 0.23 (v6.3) — zone morte [0.20, 0.27].

🛏️ R4 — Chambre+

Condition : area 8.5–17 AND doors ≥ 1 AND no adjacent AND (windows ≥ 1 → 0.85 | sep_ratio < 0.05 + placard → 0.95)

bedroom (conf 0.85 ou 0.95)

Gardes : doors ≥ 1 (v5.5), no adjacent (v5.4) — une chambre a des murs pleins. area max 15→17 (v6.3).

Discriminant : has_placard_door — 76% des chambres, <10% des autres.

🚶 R6 — Corridor+

Condition : sep ≥ 1 AND sep_ratio ≥ 0.05 AND area < 8 AND connected ≥ 2

corridor (conf 0.65)

Discriminant : un corridor a toujours au moins un séparateur et ≥2 connexions (il relie des pièces).

📦 R7 — Placard+

Condition : wl_count == 5 (ou wl_count == 7 AND area < 1.5)

storage (conf 0.90)

Discriminant : wl_count == 5 est 100% exclusif aux placards (13/13 dans P1). Un placard a 5 segments de mur car c'est un petit renfoncement.

🚽 R8 — WC+

Condition : area ≤ 3.2 AND nw ≤ 1 AND sep == 0

toilet (conf 0.75)

Discriminant : le WC est la plus petite pièce intérieure sans séparateur. Le seuil 3.2m² évite la confusion avec les petites SDB.

🚿 R9 — Salle de bain+

Condition : area 3–8 AND nw ≤ 3 AND sep == 0

bathroom (conf 0.75)

Discriminant : les SDB sont plus grandes que les WC, intérieures, et sans séparateur (murs pleins pour l'isolation phonique).

R1 — Classification des extérieurs (v6.1)

Distinguer garden / terrace / balcony sans lire le nom Revit. Basé sur une analyse d'Information Gain.

AttributInformation GainRôle
level_type (RDC vs étage)43%Jardins et terrasses au sol
total_neighbors30%Jardins = plus de voisins adjacents
sep_ratio26%Jardins ≥ 0.7, balcons ≤ 0.3
has_adjacent23%Jardins : toujours adjacent
windows_count20%Jardins : 0 fenêtres
area16%Jardins > 25m², balcons < 15m²

Point-in-Polygon vertical (v6.2)

Pour les étages : on construit les polygones 2D des pièces intérieures au N-1, puis on teste si le centroïde de la pièce extérieure tombe dedans. Si oui → terrasse (au-dessus d'un logement). Sinon → balcony.

Résultat : Balcony P1 100%, Terrace P1 100%. -7 erreurs P1, 0 régression P2.

Sliders de seuils

Explorez l'effet des seuils critiques sur la classification.

Seuil actuel (0.23) — Zone morte [0.20, 0.27]
Chambres : glazing ≤ 0.20 | Séjours : glazing ≥ 0.27
0 faux positif dans les deux sens.
Seuil actuel (0.28)
Capture 100% des cuisines ouvertes (sep_ratio 0.30–0.41). Marge de sécurité : 0.02.
Seuil actuel (3.20 m²)
Sépare WC (≤3.2) des petites SDB (3.5+). 0 confusion WC↔SDB.

Gardes ajoutés par version

RègleGardeVersionMotivation
R2doors ≤ 1v5.5Exclut corridors multi-portes
R3side == "int"v5.6Un séjour est toujours intérieur
R3glazing_ratio ≥ 0.23v6.3Sépare chambres (≤0.20) des séjours (≥0.27)
R4doors ≥ 1v5.5Une chambre a toujours une porte
R4no adjacentv5.4Murs pleins (pas de séparateur)
R4area max 15→17v6.3Grandes chambres jusqu'à 17m²