Data Science
John Samuel
CPE Lyon
Année: 2024-2025
Courriel: john.samuel@cpe.fr
Les cadrans solaires témoignent de l'ingéniosité scientifique de l'antiquité. Ils ont influencé le développement ultérieur des instruments astronomiques.
Automatisation Partielle : Réduction des tâches manuelles dans la saisie de données.
Automatisation des calculs : Réduction du temps nécessaire pour effectuer des calculs complexes.
Avancées scientifiques : Facilitation de la recherche scientifique grâce à des outils de calcul plus efficaces.
Démocratisation de l'informatique : Transition vers l'accessibilité et l'utilisation généralisée des ordinateurs.
Précurseurs des technologies actuelles : Fondement des systèmes informatiques modernes.
Sortie de données : Facilitation de la visualisation des informations traitées.
Usage commercial : Adoption répandue dans les environnements professionnels.
Stockage portable et massif: Disquettes pour la portabilité des données et le stockage volumineux et permanent.
Serveurs : Impact sur les méthodes de stockage de données et contribution à la gestion centralisée des données.
Les projets suivants ont utilisé la puissance de traitement des ordinateurs personnels pour différents objectifs
Caissier : Acteur principal dans l'acquisition de données au point de vente.
Acquisition de données dans le domaine de l'e-commerce : Enregistrement des transactions, détails des produits, informations de paiement, et données sur les clients.
Guichet Automatique Bancaire: point d'acquisition de données cruciales dans le secteur financier.
Méthode d'acquisition de données par l'utilisation de capteurs de température.
Méthode d'acquisition de données à travers l'utilisation de caméras vidéo : enregistrement visuel continu de scènes spécifiques.
Acquisition de données à partir des médias et des plateformes de réseaux sociaux : collecte d'informations provenant de publications, commentaires, partages, et interactions en ligne.
Méthode d'acquisition de données impliquant la contribution du grand public : collecte de données provenant d'un grand nombre de participants en ligne. Les données incluent des idées, des avis, des contributions créatives, reflétant la diversité des participants.
Exemple de production participative dans le domaine des données : contributions massives à des projets tels que Wikipédia, Wikibooks, et autres.
Utilisation de la commande tail
pour extraire des informations du fichier d'accès Apache.
Exemple de collecte de données en temps réel à partir des journaux d'accès. Les données enregistrées
proviennent des requêtes HTTP au serveur Apache.
$ tail /var/log/apache2/access.log 127.0.0.1 - - [14/Nov/2018:14:46:49 +0100] "GET / HTTP/1.1" 200 3477 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0" 127.0.0.1 - - [14/Nov/2018:14:46:49 +0100] "GET /icons/ubuntu-logo.png HTTP/1.1" 304 180 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0" 127.0.0.1 - - [14/Nov/2018:14:46:49 +0100] "GET /favicon.ico HTTP/1.1" 404 294 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0"
Exemple de collecte de données en temps réel à partir des journaux d'accès. Les données enregistrées proviennent des erreurs et des anomalies détectées par le serveur Apache.
$ tail /var/log/apache2/error.log [Wed Nov 14 09:53:39.563044 2018] [mpm_prefork:notice] [pid 849] AH00163: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations [Wed Nov 14 09:53:39.563066 2018] [core:notice] [pid 849] AH00094: Command line: '/usr/sbin/apache2' [Wed Nov 14 11:35:35.060638 2018] [mpm_prefork:notice] [pid 849] AH00169: caught SIGTERM, shutting down
from urllib import request
response = request.urlopen("https://en.wikipedia.org/wiki/Main_Page")
html = response.read()
from urllib import request
from lxml import html
document = html.parse(request.urlopen("https://en.wikipedia.org/wiki/Main_Page"))
for link in document.iter("a"):
if(link.get("href") is not None):
print(link.base_url+link.get("href"))
import requests
url = "https://api.github.com/users/johnsamuelwrites"
response = requests.get(url)
print(response.json())
import requests
url = "https://api.github.com/users/johnsamuelwrites/repos"
response = requests.get(url)
print(response.json())
from SPARQLWrapper import SPARQLWrapper, JSON
sparql = SPARQLWrapper("http://query.wikidata.org/sparql")
sparql.setQuery("""
SELECT ?item WHERE {
?item wdt:P31 wd:Q9143;
}
LIMIT 10
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
for result in results["results"]["bindings"]:
print(result)
Identifie et corrige les anomalies pour garantir la qualité des données
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="root" type="rootType"/> <xs:complexType name="elementType"> <xs:sequence> <xs:element type="xs:string" name="languageLabel"/> <xs:element type="xs:short" name="year"/> </xs:sequence> </xs:complexType> <xs:complexType name="rootType"> <xs:sequence> <xs:element type="elementType" name="element" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>
L'élimination des doublons implique la suppression d'enregistrements redondants en utilisant des contraintes d'intégrité, comme les dépendances fonctionnelles.
Exemple : Identifier les colonnes pertinentes qui définissent la duplication (par exemple, 'Colonne1', 'Colonne2'). Appliquer la suppression des doublons en conservant uniquement la première occurrence.
num | languageLabel | year |
---|---|---|
1 | ENIAC coding system | 1943 |
\({num}\rightarrow{languageLabel}\)
\({languageLabel}\rightarrow{year}\)
\({num}\rightarrow{year}\)
Format léger et lisible par l'homme pour représenter et échanger des données et une structure basée sur des paires clé-valeur, adaptée pour les objets complexes et les listes.
[ { "languageLabel": "ENIAC coding system", "year": "1943" }, { "languageLabel": "ENIAC Short Code", "year": "1946" }, { "languageLabel": "Von Neumann and Goldstine graphing system", "year": "1946" } ]
Langage de balisage polyvalent pour représenter et structurer des données de manière lisible par l'homme et la machine. XML supporte la représentation de données complexes avec des schémas définissables.
<?xml version="1.0" encoding="UTF-8"?> <root> <element> <languageLabel>ENIAC coding system</languageLabel> <year>1943</year> </element> <element> <languageLabel>ENIAC Short Code</languageLabel> <year>1946</year> </element> <element> <languageLabel>Von Neumann and Goldstine graphing system</languageLabel> <year>1946</year> </element> </root>
Format de fichier texte utilisé pour représenter des données tabulaires sous forme de valeurs séparées par des virgules.Il est idéal pour stocker des données tabulaires comme les feuilles de calcul.
languageLabel,year ENIAC coding system,1943 ENIAC Short Code,1946 Von Neumann and Goldstine graphing system,1946
Exploration approfondie des données pour identifier des tendances significatives et des insights pertinents.
Jacques Bertin identifie différentes variables visuelles cruciales pour la représentation graphique des données.