Objectifs
L'objectif de ce TME est de se familiariser avec l'interface graphique et d'extraire des règles d'association d'une base de donnée cinématographique.
Chargement des données
Nous allons d'abord charger les données concernant des films et des séances de cinéma dans la base de données. Le schéma et les données sont stockés sous forme de fichiers SQL qui se trouvent dans le répertoire $MINER_HOME/Officiel . Il suffit de charger seulement le fichier $MINER_HOME/Officiel/Officiel.sql qui inclut les fichiers $MINER_HOME/Officiel/OfficielSchema.sql et $MINER_HOME/Officiel/OfficielDonnees.sql
Exemple:
- L'utilisateur BDWADM8 se connecte à Oracle avec la commande sqlplus et charge le fichier $MINER_HOME/Officiel/Officiel.sql
sqlplus BDWADM8/BDWADM8@ora2
SQL> @$MINER_HOME/Officiel/Officiel.sql
SQL> quit
La définition SQL du schéma se trouve ici : OfficielSchema
Exploration des données :
Après avoir lancé l'interface graphique Oracle Data Miner (voir DMOracle), vous devriez voir une fenêtre avec un menu et un onglet "explorateur" (Navigator) qui permet de naviguer dans les modèles (Models), résultats (Results), paramètres (Settings), tâches (Tasks), activités (Mining Activites) et les "source de données" (Data Sources).
- Explorez la structure et le contenu des tables dans le schéma BDWADMxx (Data Sources).
- Remarque : les données des tables FILM2 et CINEMA2 proviennent du portail open-data http://www.data.gouv.fr.
Histogrammes:
- Affichez les statistiques concernant la table FILM2 : Menu -> Data->Show Summary Single Record
- Quelle est la valeur min/max de l'attribut FILM2.COPIES ?
- Affichez les histogrammes pour différents attributs de la table FILM2 : Fenêtre -> Histogram
- Quel distributeur a distribué le plus de films ?
- Quel pourcentage de films sont des films d'animation (genre) ?
- Quelle ville a le plus de cinémas (table CINEMA2)?
Requêtes :
- Donnez la requête SQL qui affiche le nombre de films (table FILM2) par distributeur en SQL (Tools->SQL Worksheet). Le résultat doit être trié par le nombre de films (descendant).
Extraction et interprétation de règles d'association :
L'application de processus de fouille consiste à exécuter des tâches (tasks) qui construisent un modèle et un résultat. La liste des tâches en cours d'exécution et terminées s'affichent dans le frame à gauche en bas de la fenêtre. En cliquant sur un tâche on peut ensuite visualiser le modèle construit, le résultat obtenu et les paramètres utilisés. Toutes ces informations sont stockées dans des tables.
Règles d'association :
Extrayez les règles d'associations qui existent dans la table FILM2 :
- Menu -> Model->Association Rules -> Build
- Attendez la fin de la tache : Frame Active Tasks : Queued / Executing / Success
- Affichez les règles trouvées : Frame Active Tasks : choisir Task -> choisir Model -> Rules -> bouton Get Rules.
- Combien de règles ont été générées ?GENERIQUE
- Expliquez le sens des cinq premières règles trouvées.
Modification des paramètres :
- Modifiez les paramètres par défaut : Minimum support>=0.01 et sans borner le nombre d'attributs par règle (décocher Limit Number of Attributes).
- Combien de règles ont été générées ?
- Modifiez le traitement par défaut des attributs (catégoriques ou numériques?) pendant l'extraction des règles : Build Settings et interprétez le résultat.
- Quels attributs vous semblent inutils pour la génération des règles ?
Requêtes SQL :
- Ecrivez la requête SQL qui trouve les ensembles fréquents (NATIONALITE=A, CLASSIFICATION=B) dans la table FILM2 avec un support > 2 nuplets (Tools->SQL Worksheet).
- Donnez la requête SQL qui retourne la confiance de la règle NATIONALITE'ETATS UNIS' -> CLASSIFICATION='TP'= (table FILM2)
Vues :
- Creez une vue ROLEFILM(nom_acteur,nom_role,id_film,titre,annee,nom_realisateur) qui relie les tables ROLE et FILM : Data -> CreateView?
- Extrayez les règles d'associations qui existent dans la vue ROLEFILM.
- Est-ce qu'il y a un acteur qui a tourné la majorité de ces films avec le même réalisateur?