STaRS-FUSION : Pipeline multi-modules tout-en-un
Fuente:
Zenodo
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| Format: | Recurso digital |
| Veröffentlicht: |
Zenodo
2026
|
| Online-Zugang: | |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| _version_ | 1866901796425826304 |
|---|---|
| author | FRADIER, Kevin |
| author_facet | FRADIER, Kevin |
| contents | <p>:</p> <h1> STaRS-FUSION : Pipeline multi-modules tout-en-un</h1> <p><strong>Auteur :</strong> Kevin Fradier<br><strong>Licence :</strong> © 2026 Kevin Fradier — CC BY-NC-ND 4.0</p> <h2>1️⃣ Philosophie</h2> <ul> <li>Multi-domaines : fossiles, réseaux, textes, séries temporelles, images</li> <li>Bottom-up : pas d’hypothèses globales imposées</li> <li>Modules croisés : TIME, EXT, MAP + TOP, DYN, INT, STAT, SENSOR, VR</li> <li>Testable et falsifiable : perturbations / bruit / comparaison entre modules</li> </ul> <h2>2️⃣ Installation</h2> <pre><code>git clone [Lien GitHub] cd STaRS-FUSION pip install -r requirements.txt </code></pre> <h2>3️⃣ Exemple de pipeline croisé (Python)</h2> <pre><code>import numpy as np import hashlib AUTHOR_SIGNATURE = "Kevin Fradier | STaRS-FUSION | 2026" # --- Modules --- def simulate_noise(data, loss_rate=0.3): noisy = [] for level in data: mask = np.random.rand(len(level)) > loss_rate noisy.append(level * mask) return noisy def entropy(level): p = level / np.sum(level) if np.sum(level)>0 else level p = p[p>0] return -np.sum(p*np.log2(p)) def robustness(data, n_iter=100): original = np.array([np.sum(l) for l in data]) scores = [] for _ in range(n_iter): perturbed = simulate_noise(data) pert = np.array([np.sum(l) for l in perturbed]) corr = np.corrcoef(original, pert)[0,1] scores.append(corr) return np.nanmean(scores), np.nanstd(scores) # Module MAP def map_structure(data): # Simplification : transforme chaque jeu en "distance structurelle" N = len(data) dist = np.zeros((N,N)) for i in range(N): for j in range(N): dist[i,j] = np.abs(np.sum(data[i]) - np.sum(data[j])) return dist # Module TIME def time_uncertainty(data): return [np.std(level) for level in data] # Module EXT def extinction_metric(data): return [np.min(level) for level in data] # Module croisé FUSION def fusion_analyze(data): ent = [entropy(l) for l in data] mean_corr, std_corr = robustness(data) time_u = time_uncertainty(data) ext_m = extinction_metric(data) map_d = map_structure(data) result = { "mean_entropy": float(np.mean(ent)), "robustness_corr": mean_corr, "robustness_std": std_corr, "time_uncertainty": time_u, "extinction_metric": ext_m, "map_distances": map_d.tolist(), "signature": AUTHOR_SIGNATURE } result["hash"] = hashlib.sha256(str(result).encode()).hexdigest() return result # --- Exemple d'utilisation --- data_example = [np.random.poisson(5, 10) for _ in range(5)] result = fusion_analyze(data_example) print(result) </code></pre> <h2>4️⃣ Ce que ça fait</h2> <ul> <li>Applique <strong>toutes les extensions et modules simultanément</strong></li> <li>Génère <strong>scores chiffrés, entropie, robustesse, distances MAP, métrique EXT et TIME</strong></li> <li>Produit <strong>un hash unique</strong> pour le jeu de données (traçabilité)</li> <li>Permet de <strong>comparer chaque module entre eux</strong></li> <li>Testable sur <strong>mini-datasets fournis ou vos propres données</strong></li> </ul> <h2>5️⃣ Points clés</h2> <ul> <li><strong>Multi-domaines</strong> : fossiles, réseaux, textes, séries, images</li> <li><strong>Tout-en-un</strong> : TIME, EXT, MAP + TOP, DYN, INT, STAT, SENSOR, VR</li> <li><strong>Testable & Falsifiable</strong> : bruit, perturbation, comparaison</li> <li><strong>Reproductible</strong> : code complet, mini-datasets inclus</li> <li><strong>Signature unique</strong> : hash pour chaque jeu analysé</li> </ul> <p><strong>Licence :</strong> © 2026 Kevin Fradier — CC BY-NC-ND 4.0</p> |
| format | Recurso digital |
| id | zenodo_https___doi_org_10_5281_zenodo_18210043 |
| institution | Zenodo |
| language | |
| publishDate | 2026 |
| publisher | Zenodo |
| record_format | zenodo |
| spellingShingle | STaRS-FUSION : Pipeline multi-modules tout-en-un FRADIER, Kevin <p>:</p> <h1> STaRS-FUSION : Pipeline multi-modules tout-en-un</h1> <p><strong>Auteur :</strong> Kevin Fradier<br><strong>Licence :</strong> © 2026 Kevin Fradier — CC BY-NC-ND 4.0</p> <h2>1️⃣ Philosophie</h2> <ul> <li>Multi-domaines : fossiles, réseaux, textes, séries temporelles, images</li> <li>Bottom-up : pas d’hypothèses globales imposées</li> <li>Modules croisés : TIME, EXT, MAP + TOP, DYN, INT, STAT, SENSOR, VR</li> <li>Testable et falsifiable : perturbations / bruit / comparaison entre modules</li> </ul> <h2>2️⃣ Installation</h2> <pre><code>git clone [Lien GitHub] cd STaRS-FUSION pip install -r requirements.txt </code></pre> <h2>3️⃣ Exemple de pipeline croisé (Python)</h2> <pre><code>import numpy as np import hashlib AUTHOR_SIGNATURE = "Kevin Fradier | STaRS-FUSION | 2026" # --- Modules --- def simulate_noise(data, loss_rate=0.3): noisy = [] for level in data: mask = np.random.rand(len(level)) > loss_rate noisy.append(level * mask) return noisy def entropy(level): p = level / np.sum(level) if np.sum(level)>0 else level p = p[p>0] return -np.sum(p*np.log2(p)) def robustness(data, n_iter=100): original = np.array([np.sum(l) for l in data]) scores = [] for _ in range(n_iter): perturbed = simulate_noise(data) pert = np.array([np.sum(l) for l in perturbed]) corr = np.corrcoef(original, pert)[0,1] scores.append(corr) return np.nanmean(scores), np.nanstd(scores) # Module MAP def map_structure(data): # Simplification : transforme chaque jeu en "distance structurelle" N = len(data) dist = np.zeros((N,N)) for i in range(N): for j in range(N): dist[i,j] = np.abs(np.sum(data[i]) - np.sum(data[j])) return dist # Module TIME def time_uncertainty(data): return [np.std(level) for level in data] # Module EXT def extinction_metric(data): return [np.min(level) for level in data] # Module croisé FUSION def fusion_analyze(data): ent = [entropy(l) for l in data] mean_corr, std_corr = robustness(data) time_u = time_uncertainty(data) ext_m = extinction_metric(data) map_d = map_structure(data) result = { "mean_entropy": float(np.mean(ent)), "robustness_corr": mean_corr, "robustness_std": std_corr, "time_uncertainty": time_u, "extinction_metric": ext_m, "map_distances": map_d.tolist(), "signature": AUTHOR_SIGNATURE } result["hash"] = hashlib.sha256(str(result).encode()).hexdigest() return result # --- Exemple d'utilisation --- data_example = [np.random.poisson(5, 10) for _ in range(5)] result = fusion_analyze(data_example) print(result) </code></pre> <h2>4️⃣ Ce que ça fait</h2> <ul> <li>Applique <strong>toutes les extensions et modules simultanément</strong></li> <li>Génère <strong>scores chiffrés, entropie, robustesse, distances MAP, métrique EXT et TIME</strong></li> <li>Produit <strong>un hash unique</strong> pour le jeu de données (traçabilité)</li> <li>Permet de <strong>comparer chaque module entre eux</strong></li> <li>Testable sur <strong>mini-datasets fournis ou vos propres données</strong></li> </ul> <h2>5️⃣ Points clés</h2> <ul> <li><strong>Multi-domaines</strong> : fossiles, réseaux, textes, séries, images</li> <li><strong>Tout-en-un</strong> : TIME, EXT, MAP + TOP, DYN, INT, STAT, SENSOR, VR</li> <li><strong>Testable & Falsifiable</strong> : bruit, perturbation, comparaison</li> <li><strong>Reproductible</strong> : code complet, mini-datasets inclus</li> <li><strong>Signature unique</strong> : hash pour chaque jeu analysé</li> </ul> <p><strong>Licence :</strong> © 2026 Kevin Fradier — CC BY-NC-ND 4.0</p> |
| title | STaRS-FUSION : Pipeline multi-modules tout-en-un |
| url | https://doi.org/10.5281/zenodo.18210043 |