utils package¶
Submodules¶
utils.cluster_ts module¶
-
class
utils.cluster_ts.
ClusterTs
(ss)[source]¶ Bases :
object
Classe disposant des methodes de transformations et de manipulations des donnees a des fins de partitionnements
- classe mere de:
kmean
kshape
- Parameters:
- ss : SeriesSupp
- instance du manager de series temporelles
- Variables:
- ts: Array[[[float]]]
- les series temporelle au format desiree pour le clustering
- ts_clust: Array[int]
- Chaque entier est selon son index le cluster auquel appartient l’index referant de ts
- ts_name: Array[String]
- Nom de la serie temporelle, du capteur a sa granularite (annee, mois, semaine)
- ss: SeriesSupp
- instance du manager de series temporelles
- sampler: int
- Taille du sampling
sampler()
- ploter: :class:Plot
- Instance d’un objet d’affichage
- n: int
- Nombre de cluster
- capteurs_names: Array[String]
- Nom de la serie temporelle, du capteur a sa granularite (annee, mois, semaine) Bientot supprime
- from_save: Bool
- True si les infos sont recuperees d’un cluster sauvegarde
- proto: Array[[[float]]]
- Prototype de chaque cluster
- last_readed: {Dict}
- Informations recuperer depuis le fichier “Pickle” sauvegarde du cluster etudier
- store_path: String
- Chemin vers le dossier de stockage des sauvegardes. N’est plus utilise depuis l’implementation d’une boite de dialogue pour la recherche de fichier de sauvegarde
- name_file: String
- Chemin absolue vers fichier “Pickle”
- clust_name: String
- Nom de la technique de clustering de l’instance
- metric: String
- Nom de la technique de clacul de distance de l’instance
- geo: :class:Geo
- Instance Geo
- cluster_by_name: {Dict}
- Clustering des series temporelles uniquement par le nom des capteurs sans redondance
- cluster_by_fullname: {Dict}
- Clustering des series temporelles uniquement par le nom des capteurs et leurs granularite
- size_min: int
- Taille minimale d’une serie pour etre garde lors du preprocessing
- nb_capteur: {Dict}
- Clustering des series temporelles uniquement par le nom des capteurs redondance
- nb_week: {Dict}
- Lors d’un decoupage en semaine, represente la redondance par capteur des semaines
- Example:
- See: Cluster_engine.ipynb
- Notes:
- Dependencies:
- tslearn
- pandas
- Pickle
-
capteur_parser
()[source]¶ Parser des noms de capteurs, pour pouvoir garder en memoire les nom des capteur et leur extension de date selon la TS
- Parameters:
- NA
- Returns:
- NA
-
check_equal
(iterator)[source]¶ Verifie si la TS reste tout le temps sur la meme valeur
- Parameters:
- iterator: iterator
- la TS
- Returns:
- Bool
-
clust_hoverview
(n)[source]¶ Affiche les TS d’un cluster n donnee
- Parameters:
- n: int
- cluster selectionne
- Returns:
- NA
-
clust_hoverview_rng
(n)[source]¶ DEPRECATED: Tire une TS random d’un cluster n pour se donner une idee des membres de ce dernier
- Parameters:
- n: int
- Le cluster numero n
- Returns:
- NA
-
get_captor_distribution_in_cluster
()[source]¶ Retourne le nombre d’occurance des cpateur dans chacun des clusters
- Parameters:
- NA
- Returns:
- unnamed: DataFrame
- Tableau d’occurance
-
get_clust_part_for_captor
(cpt)[source]¶ recupere les cluster pour capteur cpt donne et leur distribution au sein des cluster
- Parameters:
- cpt: String
- Capteur target
- Returns:
- res: String
- Seulement les noms des date pour chacun des clusters
-
get_cluster_n
(n)[source]¶ Retourne les TS d’un cluster n
- Parameters:
- n: int
- Numero de cluster souhaite
- Returns:
- res: Array[float]
- Ensemble des TS du cluster
-
get_part_of_ts
(data, elmt)[source]¶ Selon les Parameters d’elmt retrouve une partie des donnes depuis data
- Parameters:
- data: {Dict}
- Donnee depuis les quelles on souhaite recuperer une partie precise
- elmt: {Dict}
- Information liee a la demande (date)
- Returns:
- res_ts: Array[float]
- TS souhaitee
-
get_ts_by_captor
(cpt)[source]¶ recupere les TS pour capteur cpt donne et leur distribution au sein des cluster
- Parameters:
- cpt: String
- Capteur target
- Returns:
- res: tuple(String, {Dict})
- String represente le capteur et le dictionnaires la distribution des sous TS dans chaque clusters (key = cluster)
-
highlight_max
(s)[source]¶ Parametre d’affichage surligne les max par ligne de DataFrame
- Parameters:
- s: pandas
- Ligne du tableau
- Returns:
- unnamed: pands.style
- Affichage des max
-
parse_capteur_split
(elmt)[source]¶ Recupere les information d’une TS depuis son nom comme le nom de son capteur et la date
- Parameters:
- elmt: String
- Nom du capteur avec info
- Returns:
- res: {Dict}
- Les infos decoupes et range dans un dico
-
read_cluster
(path='')[source]¶ Ouvre et recupere toutes les informations d’un fichier pickle(sauvegarde d’un clustering) et update les variable de l’instance pour correspondre
- Parameters:
- path: String
- Chemin d’acces au fichier
- Returns:
- NA
-
set_size_min
(size)[source]¶ Set taille minimale d’une TS pour etre gardee
- Parameters:
- size: int
- Taille minimale
- Returns:
- NA
-
show_info
()[source]¶ Affiche les informations recuperees depuis le txt d’info de la sauvegarde cluster lie a l’instance
- Parameters:
- NA
- Returns:
- NA
utils.data_factory module¶
-
class
utils.data_factory.
DataFactory
(cwd)[source]¶ Bases :
object
Factory fournis et importe les donnees en gerant le nombre d’intances
- Parameters:
- cwd: String
- chemin d’acces ou le main est excecute
- Variables:
- path_RG24: String
- Chemin pour recuperer les donnees RG24
- path_RG1: String
- Chemin pour recuperer les donnees RG1
- path_GW: String
- Chemin pour recuperer les donnees GW
- RG24: {Dict}
- Les donnees RG24
- RG1: {Dict}
- Les donnees RG1
- GW: {Dict}
- Les donnees GW
- Notes:
- RG24: Rain gauge, precipitation de pluie journaliere
- RG1: Rain gauge, precipitation de pluie horaire
- GW: Grand Water, donnees piezometriques
-
get_data
(name)[source]¶ Dirige l’importation vers la bonne methode selon le parametre
- Parameters:
- name: String
- Nom du type de donnees a recuperer
- Returns:
- None
-
get_dataset
(source)[source]¶ Recupere et retourne un Dictionnaire de Dataframe importe de multiple fichiers csv
- Parameters:
- source: String
- Chemin vers les fichiers csv
- Returns:
- dataset: {Dict}
- Dictionnaire des donnees par capteurs
-
path_GW
= 'csv_prepro\\GW'¶
-
path_RG1
= 'csv_prepro\\RG\\precipitation_1h_RG'¶
-
path_RG24
= 'csv_prepro\\RG\\precipiation_RG'¶
utils.file_dialog module¶
utils.geo module¶
-
class
utils.geo.
Geo
(cwd)[source]¶ Bases :
object
Classe entierement dedie a l’affichage des capteur dans l’espace les donnees sont normees suivant un type de geolocalisation geologique propre a la NC, la classe dispose de plusieurs type d’affichage
- Parameters:
- cwd: String
- Chemin vers le main
- Variables:
- path_geo_RG: String
- Chemin pour recuperer les donnees RG
- path_geo_GW: String
- Chemin pour recuperer les donnees GW
- geo_RG: {Dict}
- Les donnees geo_RG
- geo_GW: {Dict}
- Les donnees geo_GW
- dist_mat: pandas.DataFrame
- Matrice des distances entre les pluviometre et des piezometres
- Notes:
- RG: Rain gauge, precipitation de pluie journaliere
- GW: Grand Water, donnees piezometric
-
distance_matrix
()[source]¶ Retourne une dataframe representant les distances entre piezo et pluvio ainsi que les distances les plus courte
- Parameters:
- NA
- Returns:
- gdist_style: pandas.style
- Matrice stylise des distances
-
get_geo_data
(source)[source]¶ Recupere les donnees geographique
- Parameters:
- source: String
- location ou recuperer ces donnees
- Returns:
- data: pandas.DataFrame
- Donnees sous forme de tableau
utils.k_mean module¶
-
class
utils.k_mean.
Kmean
(ss)[source]¶ Bases :
utils.cluster_ts.ClusterTs
Classe de partitionnement des donnees avec l’algorithm K-mean
- Parameters:
- ss : SeriesSupp
- instance du manager de series temporelles
- Variables:
- seed: int
- Valeur d’initialisation de l’algo, random.
- counter: Counter
- repartition des objets au sein des clusters
- km: TimeSeriesKMeans
- Instance de l’algo
- clust_name: String
- Nom de l’algo(affichage des plots)
- metric: String
- Choix du metrics utilise, principalement softdtw ici car tres efficace et rapide
utils.k_shape module¶
-
class
utils.k_shape.
Kshape
(ss)[source]¶ Bases :
utils.cluster_ts.ClusterTs
Classe de partitionnement des donnees avec l’algorithm K-shape
- Parameters:
- ss : SeriesSupp
- instance du manager de series temporelles
- Variables:
- seed: int
- Valeur d’initialisation de l’algo, random.
- counter: Counter
- repartition des objets au sein des clusters
- km: TimeSeriesKMeans
- Instance de l’algo
- clust_name: String
- Nom de l’algo(affichage des plots)
- metric: String
- Choix du metrics utilise, principalement softdtw ici car tres efficace et rapide
utils.parser module¶
utils.plot module¶
-
class
utils.plot.
Plot
(cluster)[source]¶ Bases :
object
Classe permetant l’affichage sous forme de graph de donnees
- Parameters:
- cluster: ClusterTs
- instance de partitionnement
- Variables:
- mode: String
- Type d’affichage des graphes
- colors: {Dict}
- Dictionnaire de couleur pour les plots
-
change_mode
(m)[source]¶ - Change le type d’affichage:
- 1: Markers
- 2: Lines
- 3: Lines+Markers
- Parameters:
- m: int [1:3]
- L’entier qui determiner le mode actuel, si en dehors de [1:3] reste au meme mode qu’avant l’appel
- Returns:
- NA
-
plot_cluster
()[source]¶ Methode d’affichage graphique des clusters formes par l’instance ClusterTs Affiche chaque groupe avec une difference de couleur pour le prototype
-
plot_cluster_light
()[source]¶ Version legere d’affichage pour limiter la consommation de puissance d’un affichage dynamique
-
plot_histo
(n)[source]¶ Affcihe par cluster le nombre d’occurence des Capteurs de et la granularite maximale
-
plot_scatter
(data)[source]¶ Affiche des donnees avant cluster, permet de visualiser les donnees decoupe par exemple data: [DICT] les donnees key: Capteur value: Dataframe
-
plot_scatter_by_capteur_color_cluster
(data, dict_clust, rg=None)[source]¶ Affiche un capteur et colorise selon l’appartenance au cluster
-
plot_scatter_light
(data)[source]¶ Encore une version plus legere de la methode de base data: [DICT] les donnees key: Capteur value: Dataframe
utils.prefix_span module¶
-
class
utils.prefix_span.
PrefixSpanManager
(sax_engine, export=True)[source]¶ Bases :
object
Classe d’outil a l’utilisation de prefixspan
- Parameters:
- sax_engine: SaxEngine
- Instance de preprocessing SAX
- export: Boolean
- Si oui ou non les donnees sont deja exportees au bon format
- Variables:
- se_instance: SaxEngine
- L’instance de class SAX
- data: Array[]
- Les donnees au format SAX
utils.pygapbide module¶
-
class
utils.pygapbide.
GapbideManager
(gp=None)[source]¶ Bases :
object
Manager d’une instance :class:Gabide
- Variables d’Instance:
- gp: Gapbide
- Instance de l’algo a manager
- dataset: Array[int]
- Liste des donnees sax les entiers font office de symboles
- res: Array[[int: X*], int: Y, Z(int: Z1, int: Z2, int: Z3)]
- X* Pattern d’entiers ex: 244695
- Y Support du pattern
- Z( * Z1: Position du patterns, indice de la transaction
- Z2: Indice au sein de la transaction du debut du patterns
- Z3: Indice de fin…)
utils.sax_engine module¶
-
class
utils.sax_engine.
SaxEngine
(nsy, nse)[source]¶ Bases :
object
Manager SAX(SymbolicAggregateApproximation) pour formater les donnees temporelles vers unhe suites de segments a symboles representatifs
- Parameters:
- nsy : int
- Nombre de symbols
- nsy : int
- Nombre de segments
- Variables:
- raw_data : ArrayList
- Donnees brutes
- process_data : ArrayList
- Donnees retravaillees pour correspondre au format fit()
- sax_data_inv : ArrayList
- Donnees au format SAX mais de meme taille len() que les donnees brutes
- sax_data : ArrayList
- Donnees au format SAX
- Example:
- See: Sequential_pattern_mining.ipynb
utils.series_supp module¶
-
class
utils.series_supp.
SeriesSupp
(cwd, factory, dataset_name)[source]¶ Bases :
object
Premet d’organiser et de manipuler les données.
- Parameters:
- cwd: String
- chemin d’acces ou le main est excecute
- factory: Factory
- Instance de la factory
- dataset_name: String
- Definie le type de donnees a recuperer
- Variables:
- dataset: {Dict}
- Le dataset original sans modification
- tmp_dataset: {Dict}
- Le dataset actuel avec les modification
- years: [ARRAY<STRING>]
- Setup de decoupage par annees
- months: [ARRAY<STRING>]
- Setup de decoupage par mois
- days: [ARRAY<STRING>]
- Setup de decoupage par annees | [BOOL] decoupage semaines
- factory: DataFactory
- Instance de la Factory
- dataset_name: String
- Permet de connaitre la source souhaite e.g import_dataset()
-
dict_smooth
(wind=24, col='Valeur')[source]¶ Dictionnaire full smooth
- Parameters:
- wind: int
- Taille de la fenetre 24 pour smooth journalier
- col: str (DEFAUlT = « Valeur »)
- Colonne cible de l’action
- Returns:
- NA
-
get_data_from_captor
(cpt)[source]¶ Retourne toutes les series temporelles liees a un nom de capteur
- Parameters:
- cpt: String
- Nom du capteur desire
- Returns:
- res: {Dict}
- Sous dataset du capteur associe, les clefs sont les differente declinaisons en series temporelles du capteur, varie en longueur selon la granularite
utils.statics_func module¶
-
utils.statics_func.
openfile_dialog
()[source]¶ Boite de dialogue permetant de recuperer les fichers de sauvegarde de partitionnement Pickle
- Parameters:
- NA
- Returns:
- fname: String
- Chemin vers le fichier selectionne
-
utils.statics_func.
thresholding_algo
(y, lag, threshold, influence)[source]¶ Algorithm de detection de pics dans une TS
- Parameters:
- lag
- threshold
- influence
- Returns:
- unnamed: {Dict}
- Informations sortie de l’algo, signals est une liste de meme len que la TS, representant les ppics via une variation boolean