PROJET SODAS Analyse de données sur les livres
Contexte : Datamining – SODAS
Le Datamining
Etant donné le nombre impressionnant de données qu’une entreprise, ou autre, peut stocker, il est nécessaire de pouvoir les regrouper, en concept, afin de pouvoir en extraire le maximum d’informations. Tout ceci dans le but d’analyser, synthétiser et organiser les données ainsi que les informations. Ces concepts peuvent être modélisés par des données de niveaux supérieurs, par des données symboliques. Ces derniers ont pour but de décrire les concepts et également, de les décrire au sein de l’ensemble des individus qu’ils représentent. Ces informations peuvent être divisées en deux catégories ou deux niveaux : les informations relatives à une ligne, un individu d’un ensemble X, puis les concepts, un niveau agrégé.
SODAS
Est un logiciel qui permet de traiter des données a l’aide de données symboliques. Il permet, à partir d’une base de données de construire un tableau de données symboliques, grâce à des règles et des taxonomies, dans le but de décrire des concepts. Chaque concept est décrit à l’aide de variables (de différentes natures). Ainsi, grâce au logiciel SODAS, un fichier d’objets symboliques auquel on peut appliquer une douzaine de méthodes d’analyses.
Application : Etude de données sur les livres
Présentation des données
Source des données : La base BDLivres.mdb
La base de données BDLivres.mdb est la base de données sur laquelle repose notre étude. Il s’agit d’une base de données relationnelles sous ACCESS. Elle a été fournit par des données se trouvant sur Internet et notamment des sites référençant la liste des livres ayant obtenues des prix littéraires : Goncourt, Femina etc…
Notre base de données contient une centaine de livres qui ont été présenté à des prix littéraires. Sur chaque livre, nous avons le nom et prénom de l’auteur, la maison d’édition, le titre du livre, l’age de l’auteur etc… Nous allons dans le prochain paragraphe présenter le schéma de la base, les différentes tables, et relations.
Présentation de la base
Notre base de données BDLivres.mdb est composée des tables suivantes : La table LIVRE contient les informations relatives aux livres : o Titre o Catégorie o Editeur o Date de parution… La table PRIX contient les différents prix gagnés : o Goncourt o Fémina o Médicis o Renaudot La table AUTEUR contient les informations relatives à l’auteur : o Nom o Prénom o Age La table AGE_AUTEUR contient les intervalles d’âge : 7 tranches d’âge de 20 à 90 ans découpé en décennies. La table NATIONALITE_AUTEUR contient les différentes nationalités d’origine des auteurs : o Française o Espagnol o Anglaise o Allemande La table VILLE_AUTEUR contient les villes d’origine des différents auteurs : o Paris / Marseille / Lyon o Berlin / Francfort o Madrid / Barcelone o Londres / Manchester Dans notre cas, Un auteur ayant une certaine nationalité « d’origine », ne peut être originaire que d’une ville du pays de sa nationalité : exple un auteur allemand ne peut être originaire que des villes de Berlin ou Francfort.
Variables et requêtes
Individus, variables et concepts
Les individus sont les livres sélectionnés pour participer aux prix littéraires, notre base de données regroupe 100 individus.
Les variables de description sont :
La date de parution l’age de l’auteur le nom de l’auteur la nationalité de l’auteur le nombre de prix pour chaque catégorie de livre L’éditeur du livre
Les concepts sont les différentes catégories des livres :
Littérature française Littérature anglaise Littérature allemande Littérature espagnole
Requêtes
Nous utiliserons trois requêtes dans notre analyse :
La requête REQ_LIVRE nous renvoie la majorité des variables de descriptions, les informations relatives aux livres. REQ_LIVRE SELECT DISTINCTROW Livre.Titre, Livre.Catégorie, Auteur.Nom, Nationnalite_auteur.Pays, Prix.Nom, Auteur.Prenom, Auteur.Age, Age_auteur.tranche_age FROM Age_auteur, Prix INNER JOIN (Nationnalite_auteur INNER JOIN (Auteur INNER JOIN Livre ON Auteur.Id = Livre.Id_Auteur) ON Nationnalite_auteur.Id = Auteur.Id_nationalite) ON Prix.N° = Livre.Id_prix WHERE (((Auteur.Age) Between [Age_auteur].[Age_minimum] And [age_Auteur].[Age_maximum]) AND ((Auteur.Id)=[Livre].[Id_Auteur]) AND ((Nationnalite_auteur.Id)=[Auteur].[Id_nationalite]) AND ((Prix.N°)=[Livre].[Id_prix]));
La requête REQ_CATEGORIE nous renvoie le nombre de livres ayant reçu un prix par catégorie. REQ_CATEGORIE SELECT Livre.Catégorie, Count(Livre.Id_prix) AS Nb_prix FROM Livre GROUP BY Livre.Catégorie;La requête REQ_EDITEUR insère une variable multimodale Edition (ou éditeur). REQ_EDITEUR SELECT DISTINCT Livre.Catégorie, Livre.Editeur, 1 AS pondération FROM Livre;