Unité 12 / 12

Analyse des données minières avec Python et les frontières de l'IA

Gains :

  • Capacité à produire des scripts qui nettoient et visualisent les données de forage, de production et de surveillance avec Python, avec prise en charge de l'IA
  • Capacité à reconnaître les risques liés à la qualité des données, au surapprentissage et à l'extrapolation lors de la création de modèles simples de prédiction et d'anomalies
  • Capacité à vérifier le code et les résultats générés par l'IA avec contrôle de l'unité, calcul indépendant et plausibilité technique

Dans chaque unité de ce module, vous avez vu que l'IA est puissante en matière de codage : nettoyage de forages, bilan de masse, squelette de krigeage, résumé de la flotte, analyse des vibrations, analyse de l'environnement. Cette dernière unité se concentre sur Python, l'outil concret pour ce code, et sur la discipline appropriée pour générer du code avec l'IA. Python est devenu le standard de facto en matière d'analyse de données minières car il est gratuit, possède de puissantes bibliothèques (pandas : manipulation de données tabulaires ; numpy : calcul numérique ; matplotlib : traçage ; scikit-learn : apprentissage automatique) et automatise les tâches répétitives. L'IA multiplie la vitesse à laquelle vous écrivez ce code ; mais le code qu'il produit n'est pas toujours correct. Le principe central de cette unité : ne jamais exécuter le code écrit par l'IA sans l'avoir lu au préalable, validé son unité et l'avoir testé avec une petite quantité de données connues. Le code peut produire silencieusement un mauvais résultat, ce qui peut se transformer en une mauvaise décision technique dans le secteur minier.

Flux de base de génération de code avec l'IA

Obtenir du code à partir de l'IA est un cycle d'ingénierie, pas une conversation :

  1. Décrivez clairement la tâche. Entrée (colonnes, unités, exemple de ligne), sortie souhaitée et contraintes. Une requête ambiguë produit un code ambigu.
  2. Demandez qu'il soit petit et lisible. Demandez un code commenté étape par étape plutôt qu'une fonction géante.
  3. Lisez et comprenez. Comprenez ce que fait chaque ligne ; N'exécutez pas de code que vous ne comprenez pas.
  4. Testez avec de petites données. Exécutez-le manuellement avec 5 à 10 lignes dont vous connaissez les résultats et vérifiez le résultat attendu.
  5. Questionner les cas extrêmes. Cellule vide, valeur négative, brassage d'unités, enregistrement répétitif Comment se comporte le code ?
  6. Mettez à l’échelle et vérifiez la logique. Exécuter sur toutes les données ; Le résultat est-il techniquement raisonnable ?
Astuce : Les erreurs les plus courantes qui entrent dans le code AI sont silencieuses : mauvais nom de colonne, mélange d'unités (m vs ft, g/t vs ppm), lignes supprimées silencieusement (comme dropna), mauvaise moyenne (moyenne simple lorsqu'elle doit être pondérée). Ceux-ci ne provoquent pas d'erreurs ; Cela produit simplement un mauvais numéro. Ainsi, « je n’ai pas eu d’erreur » ne signifie jamais « correct ».

Tâches Python typiques dans le secteur minier

  • Nettoyage des données : Fusion des tables de forage/production/suivi, signalement d'incohérences, normalisation des unités.
  • Résumé et visualisation : Histogramme, séries chronologiques, courbe teneur-tonnage, graphiques OEE.
  • Statistiques et géostatistiques : Statistiques récapitulatives, corrélation, variogramme/krigeage (avec bibliothèques spéciales).
  • Détection d'anomalies : capture de dérive basée sur un seuil ou basée sur un modèle simple.
  • Modèles de prédiction simples : par exemple, relation taille-rendement de broyage avec régression.

Pour la plupart de ces tâches, l’IA fournit un excellent code de départ. Mais il existe deux pièges : la qualité des données et les limites du modèle. Connaître les deux est essentiel pour utiliser le code de l’IA en toute sécurité.

Limites du modèle : surapprentissage et extrapolation

Les modèles prédictifs simples que l’IA construit facilement sont vulnérables à deux risques majeurs. Surajustement : le modèle mémorise les données d'entraînement mais fonctionne mal sur les nouvelles données ; Construire des modèles complexes avec peu de données invite à cela. Extrapolation : le modèle devient peu fiable lorsqu'il est obligé de faire une prédiction sur une plage en dehors des données d'entraînement ; Par exemple, un modèle appris dans la plage de 0,3 à 0,8 g/t peut donner des résultats dénués de sens pour 5 g/t. L’IA ne gère pas « spontanément » ces risques à votre place ; A vous de lire le modèle de manière critique, de faire la distinction entraînement/test, de regarder l'intervalle de confiance et de vérifier si la prédiction est physiquement plausible. Quelle que soit la précision d’un numéro de modèle, il ne peut pas servir de base à une décision technique en dehors de la plage de données.

trois mini-cases

Cas 1 — Erreur de volume silencieux. Un ingénieur veut un code qui permette à l'IA de calculer la note moyenne à partir des données d'analyse. Le code fonctionne, le résultat est de 2,1 g/t. L'ingénieur lit le code ; Notez que la moyenne n’est pas pondérée par la longueur de l’intervalle, mais est considérée comme une moyenne simple. Les notes élevées à intervalles courts prenaient injustement du poids. En passant à la moyenne pondérée, la valeur diminue à 1,7 g/t. Le code n'a donné aucune erreur ; la lecture a détecté l'erreur.

Cas 2 — Suppression de ligne silencieuse. Dans un code récapitulatif de production, l'IA a nettoyé les lignes avec des valeurs manquantes avec dropna. Le code fonctionne correctement, mais le tonnage total est sous-estimé car certaines lignes valides ont été complètement supprimées en raison d'une seule colonne vide. Lorsque l’ingénieur compare le nombre de lignes entre entrée et sortie, il voit la différence et corrige la logique de nettoyage. Leçon : comparez toujours le nombre de lignes d’entrée et de sortie.

Cas 3 — Piège d’extrapolation. Une équipe applique un modèle de régression appris dans les classes inférieures à un domaine de qualité supérieure ; Le modèle donne une estimation de rendement absurdement élevée. Heureusement, l'ingénieur rejette le résultat, affirmant que « cette zone est bien en dehors de la plage vue par le modèle » et demande des tests métallurgiques. Leçon : connaître la plage de données pour laquelle le modèle est valide ; N'utilisez pas d'estimation hors de l'État.

Modèles d'invite copiables

CODE DE NETTOYAGE DE DONNÉES SÉCURISÉ "Rôle : Vous êtes un assistant d'analyste de données Python. Écrivez du code avec des pandas qui nettoie le tableau suivant. Colonnes et unités : [liste]. Règles : (1) imprimer le nombre de lignes AVANT et APRÈS la suppression de lignes ;

DEMANDE DE RÉVISION DE CODE "Expliquez le code Python suivant ligne par ligne et soulignez les points de risque suivants : hypothèse de nom de colonne incorrecte, confusion d'unité, chute de ligne silencieuse, erreur moyenne plate/pondérée, comportement de cas limite (nul/négatif). NE PAS CORRIGER le code ; énumérez simplement les risques. Code : [coller]."

CONFIGURATION DE TEST AVEC PETITES DONNEES "Pour cette fonction, produisez manuellement une petite donnée de test (5-6 lignes) dont je connais le résultat et le résultat attendu ; écrivez un bloc de test qui vérifie si la fonction fonctionne correctement sur ces données. Testez également les cas extrêmes (cellule vide, négatif, valeur extrême unitaire). Fonction : [coller]."

MODÈLE SIMPLE + AVERTISSEMENT DE LIMITE "Établissez une régression simple pour [x -> y] avec les données suivantes. Faites la différence entre l'entraînement et les tests, signalez la métrique d'erreur et indiquez clairement la plage de x sur laquelle le modèle est VALIDE. Avertissez si des prédictions sont faites EN DEHORS de cette plage. Commentez le risque de surentraînement et la rareté des données. Données : [coller]."

Invite faible/Invite forte

INVITE FAIBLE : "Calculez la note moyenne à partir de ces données."

INVITE FORTE : "Rôle : Vous êtes un assistant Python. Colonnes : HoleID, From(m), To(m),Au(g/t). Calculez la note moyenne PONDÉRÉE avec la longueur de l'intervalle. Code : (1) imprimez le nombre de lignes d'entrée/sortie ; (2) signalez les valeurs nulles/négatives avant de les supprimer ; (3) confirmez l'hypothèse de l'unité. Affichez également les sous-totaux afin que je puisse vérifier le résultat manuellement. Données : [coller]."

Tableau comparatif : risque et précaution

Risque

symptôme

précaution

Interférence de l'unité

Numéro raisonnable mais erroné

Commentez l'unité dans le code, vérifiez-la

Chute de ligne silencieuse

Il manque le total

Comparer le nombre de lignes d'entrée/sortie

Moyenne simple ou moyenne pondérée

mauvaise moyenne

Vérifier la pondération

surapprentissage

Mauvais sur les données de test

Séparation formation/test, restez simple

extrapolation

Supposition absurde hors de portée

Limiter la plage valide

Erreurs courantes

  • Exécuter le code sans le lire. "Il n'y a eu aucune erreur" ne veut pas dire que c'est vrai.
  • Ne pas tester avec de petites données. La confiance sans exemple vérifiable est fausse.
  • Ne pas comparer le nombre de lignes d'entrée/sortie. C’est ainsi que les pertes silencieuses s’échappent.
  • Ignorer la gamme de modèles. Les estimations d’extrapolation ne sont pas fiables.
  • Faire confiance à la beauté du thème. Un tableau élégant peut cacher un mauvais numéro.
Attention : si le code IA va dans un compte d'ingénierie, ce code est tout aussi responsable qu'un compte. Chaque fois que le résultat devient une décision d'exploitation minière, exécutez le code et sa sortie via une vérification logique indépendante et une comparaison avec une deuxième méthode si possible.

En résumé

Python est l'outil de facto pour l'analyse des données d'exploration de données, et l'IA augmente considérablement la vitesse à laquelle vous les écrivez. Mais le code de l’IA peut receler des bugs silencieux (confusion d’unités, suppression de lignes, moyenne erronée) et des pièges de modèle (surapprentissage, extrapolation). Flux sécurisé : décrire clairement, vouloir petit et lisible, lire et comprendre, tester avec de petites données connues, interroger les cas limites, vérifier l'échelle et la logique. Un résultat de modèle ne peut pas servir de base à une décision en dehors de la plage de données ; et chaque code porte autant de responsabilité qu'un compte s'il se transforme en décision minière.

Tâche de candidature

Utilisez le modèle « Code de nettoyage sécurisé des données » avec une tâche de moyenne de notes ou de résumé de production pour obtenir le code de l'IA ; Faites réduire les risques du code avec le modèle « Demande de révision de code ». Ensuite, avec le modèle « Configuration de test avec de petites données », créez manuellement un ensemble de données dont vous connaissez les résultats et vérifiez le code. Enfin, pour une relation simple, configurez un modèle avec le modèle "Modèle simple + avertissement de limite" et testez qu'il donne un avertissement lorsqu'il sort de la plage valide.

liste de contrôle

  • [ ] J'ai lu le code de l'IA et compris chaque ligne, je ne l'ai pas exécuté aveuglément.
  • [ ] Je l'ai testé avec de petites données vérifiables manuellement.
  • [ ] J'ai comparé le nombre de lignes d'entrée et de sortie.
  • [ ] J'ai vérifié la cohérence et la pondération des unités.
  • [ ] J'ai limité la plage de données valides du modèle, évitant toute extrapolation.
  • [ ] J'ai vérifié le résultat, qui s'est transformé en décision, avec une logique/seconde méthode indépendante.

Examen de module

1. Un stagiaire demande à l'outil de chat IA la teneur moyenne du gisement et écrit la valeur résultante de « 1,8 g/t d'or » directement dans le rapport de réserve. Quelle est l’erreur fondamentale de cette approche ?

  • A) La valeur de la teneur doit provenir des propres données de forage/analyse du projet et des prévisions vérifiées ; Le nombre généré par l'IA peut être une fabrication sans source ✔
  • B) Il aurait fallu demander l'IA en onces au lieu de grammes
  • C) La valeur est correcte, seul un point aurait dû être utilisé à la place d'une virgule
  • D) Il suffit de poser trois fois la même question à l'IA et de faire la moyenne

Explication : Le modèle de langage ne connaît pas les données de forage de votre projet ; produit un nombre qui semble le plus probable (hallucination). La teneur provient uniquement des données de forage composites et de l'estimation géostatistique du projet ; Les résultats de l’IA ne peuvent pas être inclus dans le rapport sans l’approbation d’une personne compétente.

2. Que permet la « classification basée sur les risques » dans l’utilisation de l’IA en ingénierie minière ?

  • A) Baisser le prix de l'outil d'IA
  • B) Déterminer le rôle de l'IA et la profondeur de vérification obligatoire en fonction du niveau de risque de la tâche ✔
  • C) Les invites doivent être écrites plus courtes
  • D) Déléguer automatiquement toutes les décisions à l'IA

Explication : Toutes les missions ne présentent pas le même niveau de risque. La classification de la tâche comme faible/moyenne/élevée/critique détermine quelle sortie peut être librement utilisée et laquelle nécessite une vérification des normes et sur le terrain et l'approbation d'un ingénieur compétent.

3. Que modèle le « variogramme » en géostatistique ?

  • A) Consommation de carburant de l'équipement
  • B) Evolution du prix du métal au fil du temps
  • C) Continuité spatiale en fonction de la distance ; ✔ comment la similarité diminue à mesure que les points s'éloignent
  • D) La fréquence de vibration créée par le dynamitage

Description : Le variogramme décrit comment la similarité des échantillons entre eux diminue (continuité spatiale) à mesure que la distance entre deux points augmente. Le krigeage utilise ce modèle pour estimer les points non mesurés avec une marge d'incertitude.

4. Quelle est la meilleure approche lorsque l’IA préclasse la lithologie à partir de photographies de carottes de forage ?

  • A) Traitement du type de roche donné par AI directement dans le journal de forage
  • B) Copier le texte d'AI dans le rapport sans examiner du tout la photo
  • C) Annuler l'observation du géologue et s'appuyer uniquement sur l'IA
  • D) Considérez le résultat comme une prédiction/hypothèse préliminaire et vérifiez-le avec l'observation d'un géologue et une analyse en laboratoire ✔

Description : l'IA peut générer une liste de prédictions et d'attention à partir de l'image ; Cependant, la décision finale en matière de lithologie/altération est prise par l'observation et l'analyse en laboratoire du géologue. Les résultats de l’IA sont un début, une hypothèse à vérifier.

5. Que signifie le « taux de découverture » dans la planification d'une mine à ciel ouvert ?

  • A) La quantité de rouille (steriles stériles) qui doit être enlevée pour obtenir une unité de minerai ✔
  • B) Pourcentage de métal dans le minerai
  • C) Nombre quotidien de déplacements des camions
  • D) La quantité d'explosif utilisée lors du dynamitage

Description : Le taux de découverture est la quantité de déchets (bandes/déchets) qui doit être éliminée pour obtenir une unité de minerai. La limite finale de la fosse et l'économie dépendent largement de ce rapport ; Même si l’IA génère des scénarios, la décision concernant les limites appartient à l’ingénieur compétent.

6. Qu'est-ce que cela signifie en maintenance prédictive lorsque l'IA détecte des « anomalies » dans les données de vibration et de température ?

  • A) Preuve que l'équipement est définitivement en panne
  • B) Un avertissement indiquant que les données s'écartent de la normale ; Il ne s'agit pas d'un diagnostic définitif de dysfonctionnement, mais d'un signe qui doit être confirmé par un examen physique ✔
  • C) Ordonner l'arrêt automatique de l'équipement
  • D) Garantir que les données ont été enregistrées de manière incorrecte

Explication : Une anomalie est un écart des données par rapport au comportement normal et peut indiquer un dysfonctionnement ; mais ce n'est pas un diagnostic définitif. La décision d'arrêter l'équipement ou de remplacer des pièces est prise avec l'examen physique de l'équipe de maintenance et l'approbation du responsable des opérations.

7. Qu'est-ce qui est essentiel pour la sécurité lors de l'utilisation de l'IA dans la conception des forages ?

  • A) Mise en œuvre de la recommandation IA directement sur le terrain
  • B) Sauter la mesure des vibrations
  • C) Vérification de la conception proposée par AI avec mesure sur le terrain, limite réglementaire et approbation d'un expert en dynamitage agréé ✔
  • D) Fixation de la quantité d'explosifs avec le maximum donné par l'IA

Description : Dynamitage ; Il comporte de sérieux risques en matière de sécurité et de réglementation, tels que les vibrations, les chocs aériens et les projections de pierres. L'IA peut produire une esquisse de conception et une recommandation de paramètres ; Cependant, la conception finale doit satisfaire aux mesures sur le terrain, aux limites réglementaires et à l'approbation de l'expert en dynamitage agréé (détonateur/responsable).

8. Quelle est la relation typique entre la « récupération » et la « qualité de concentré » dans le traitement des minéraux et de quoi AI doit-elle tenir compte lors de l'interprétation de cette relation ?

  • A) Les deux augmentent toujours ensemble
  • B) Il n'y a aucun lien entre eux
  • C) La relation est constante et la même dans toutes les installations
  • D) Il existe généralement un équilibre inversé (le rendement diminue à mesure que la teneur augmente) ; les valeurs réelles doivent être vérifiées par des tests métallurgiques et un bilan de masse ✔

Explication : Généralement, à mesure que l'on essaie d'obtenir une qualité plus concentrée, le rendement diminue (équilibre qualité-rendement). L'IA peut expliquer cette tendance, mais les valeurs opérationnelles réelles doivent être confirmées par des tests métallurgiques et un bilan de masse ; la tendance générale ne remplace pas la réalité spécifique au site.

9. Quelle est l’utilisation la plus appropriée de l’analyse des données sur les quasi-accidents/accidents avec l’IA en matière de sécurité au travail ?

  • A) Classer les enregistrements en texte libre et extraire les modèles de risque récurrents ; Laissez la décision à l’expert SST ✔
  • B) Déterminer automatiquement le coupable des accidents
  • C) Déléguer les arrêtés de travail à AI
  • D) Archivage des enregistrements de quasi-accidents sans les examiner

Description : L'IA peut classer de grandes quantités d'enregistrements de texte libre et extraire rapidement des modèles répétitifs et des conditions à risque. Cependant, la décision d'arrêter un travail, d'évacuer une zone ou une cause profonde est prise dans le cadre de l'expert en SST et de la législation ; La sortie de l’IA est une entrée, pas une décision.

10. Pourquoi « l'accélération du taux de déformation » est-elle un signe critique dans les données radar/prisme lors de la surveillance des pentes ?

  • A) Cela indique clairement que l'appareil de mesure est cassé.
  • B) Cela peut annoncer une défaite progressive ; La décision d’alerte précoce et d’évacuation appartient à l’ingénieur géotechnique ✔
  • C) Cela montre que la pente est totalement sûre
  • D) Cela n’est significatif qu’en cas de précipitations et peut être ignoré

Explication : Avant les ruptures de talus, une augmentation progressive du taux de déformation (accélération) est généralement observée ; Cela peut être le signe d’un échec progressif. L'IA peut mettre en évidence la tendance, mais la décision d'évacuation/d'alerte précoce est prise par l'analyse et le protocole de l'ingénieur géotechnique.

11. En matière de surveillance environnementale, quelle est la réponse la plus précise à un signe de « dépassement » détecté par l'IA dans une série chronologique sur la qualité de l'eau ?

  • A) Signaler les résultats de l'IA directement à l'agence gouvernementale
  • B) Ignorez l'avertissement et continuez à regarder
  • C) Vérifier avec le résultat d'un laboratoire accrédité, la limite réglementaire et l'évaluation d'un ingénieur en environnement ✔
  • D) S'appuyer uniquement sur l'IA et annuler les analyses en laboratoire

Description : l’IA peut signaler rapidement une éventuelle violation ; Cependant, la décision officielle de conformité est prise par l'analyse d'un laboratoire accrédité, les valeurs limites prévues par la législation et l'évaluation de l'ingénieur environnemental. Le résultat de l’IA est une alerte de contrôle, pas une décision juridique/technique.

12. Quel est le moyen le plus fiable d'éviter d'obtenir une référence inventée (hallucinatoire) lorsque vous demandez à l'IA le numéro de clause d'une norme telle que JORC ou NI 43-101 ?

  • A) S'appuyer sur le numéro d'article donné par l'IA
  • B) Poser à nouveau la même question avec des mots différents
  • C) Regarder un article de blog au lieu du standard
  • D) Ouvrir et confirmer chaque référence d'article à partir du texte officiel en vigueur de la norme et obtenir l'approbation d'une personne compétente ✔

Explication : Bien que le modèle de langage connaisse correctement le nom de la norme, il peut halluciner le numéro d'article et le texte. Chaque référence de substance doit être ouverte et confirmée à partir du texte officiel en vigueur de la norme et la conformité finale doit être confirmée par la personne compétente (CP/QP).

13. Quelle est la vérification la plus critique avant d’exécuter un script d’analyse Python écrit par l’IA ?

  • A) Lire le code et vérifier la correspondance unité/colonne, tester avec de petites données connues et vérifier la plausibilité du résultat ✔
  • B) Exécuter le code directement sur l'ensemble des données sans le lire
  • C) Juste voir qu'il n'y a pas d'erreur et accepter le résultat
  • D) S'appuyer sur les graphiques de la sortie pour être joli.

Description : le code de l'IA peut mélanger des unités, prendre des noms de colonnes de manière incorrecte ou supprimer silencieusement des lignes. Il est essentiel de lire le code, de vérifier la correspondance des volumes et des colonnes, de tester avec une petite quantité de données connues et de vérifier si le résultat est techniquement raisonnable.

14. Quel est le meilleur comportement en termes de confidentialité lors de la transmission de données minières à un outil d'IA basé sur le cloud ?

  • A) Coller toutes les données brutes telles quelles
  • B) Anonymiser le contexte et nettoyer les données sensibles de réserve/coordination/production et utiliser un outil d'entreprise conforme aux politiques ✔
  • C) En supposant que la fourniture de coordonnées réelles est essentielle à la qualité des résultats
  • D) Ignorer du tout la politique de confidentialité

Explication : Les chiffres de réserve, les informations de licence/coordonnées et les données de production sont sensibles en termes de secrets commerciaux et de législation. Il est nécessaire d'anonymiser le contexte, d'effacer les véritables coordonnées et noms, de choisir l'outil de garantie d'entreprise/de confidentialité et de se conformer à la politique de l'entreprise.