единица 12 / 12

Анализ на данни за копаене с Python и границите на AI

Печалби:

  • Възможност за създаване на скриптове, които почистват и визуализират данни за сондиране, производство и мониторинг с Python, с поддръжка на AI
  • Способност за разпознаване на рисковете от качество на данните, свръхобучаване и екстраполация при изграждане на прости модели за прогнозиране и аномалии
  • Възможност за проверка на генерирания от AI код и резултат с контрол на единица, независимо изчисление и инженерна правдоподобност

Във всяка единица от този модул сте видели, че AI е мощен в кодирането: почистване на сондажи, масов баланс, кригин скелет, обобщение на флота, анализ на вибрации, сканиране на околната среда. Тази последна част се фокусира върху Python, конкретния инструмент за този код и правилната дисциплина за генериране на код с AI. Python се превърна в фактически стандарт в анализа на данни за копаене, защото е безплатен, има мощни библиотеки (pandas: манипулиране на таблични данни; numpy: числено смятане; matplotlib: чертане; scikit-learn: машинно обучение) и автоматизира повтарящи се задачи. AI умножава скоростта, с която пишете този код; но кодът, който произвежда, не винаги е правилен. Централният принцип на това устройство: Никога не стартирайте кода, който AI пише, без първо да го прочетете, валидирате модула му и го тествате с малко количество известни данни. Кодът може тихо да произведе грешен резултат, който може да се превърне в лошо инженерно решение при копаене.

Основен поток на генериране на код с AI

Получаването на код от AI е инженерен цикъл, а не разговор:

  1. Опишете ясно задачата. Вход (колони, единици, примерен ред), желан изход и ограничения. Нееднозначната заявка създава двусмислен код.
  2. Поискайте да е малък и четим. Поискайте стъпка по стъпка, коментиран код, вместо една огромна функция.
  3. Прочетете и разберете. Разберете какво прави всеки ред; Не изпълнявайте код, който не разбирате.
  4. Тествайте с малки данни. Стартирайте го ръчно с 5-10 реда, чиито резултати знаете и проверете очаквания резултат.
  5. Случаи на крайния въпрос. Празна клетка, отрицателна стойност, разбъркване на единици, повтарящ се запис Как се държи кодът?
  6. Мащабиране и проверка на логиката. Изпълнение на всички данни; Резултатът инженерно разумен ли е?
Съвет: Най-често срещаните грешки, които въвеждат AI кода, са безшумни: грешно име на колона, смесване на единици (m срещу ft, g/t срещу ppm), тихо изпуснати редове (като dropna), грешна средна стойност (обикновена средна стойност, когато трябва да се претегли). Те не причиняват грешки; Просто произвежда грешен номер. Така че "не получих грешка" никога не означава "правилно".

Типични задачи на Python в копаене

  • Почистване на данни: Обединяване на таблици за сондиране/производство/мониторинг, маркиране на несъответствия, нормализиране на единица.
  • Обобщение и визуализация: Хистограма, времеви редове, крива на съдържанието на тонажа, OEE графики.
  • Статистика и геостатистика: Обобщена статистика, корелация, вариограма/кригинг (със специални библиотеки).
  • Откриване на аномалии: Улавяне на отклонение на базата на праг или просто базирано на модел.
  • Прости модели за прогнозиране: Например връзка размер на смилане-добив с регресия.

За повечето от тези задачи AI осигурява отличен начален код. Но има два капана: качеството на данните и ограниченията на модела. Познаването и на двете е от ключово значение за безопасното използване на AI кода.

Граници на модела: свръхобучаване и екстраполация

Простите прогнозни модели, които AI лесно изгражда, са уязвими на два основни риска. Пренастройване: Моделът запаметява данни за обучение, но се представя слабо при нови данни; Изграждането на сложни модели с малко данни води до това. Екстраполация: Моделът става ненадежден, когато е принуден да направи прогноза за диапазон извън данните за обучение; Например, модел, научен в диапазона 0,3-0,8 g/t, може да даде безсмислени резултати за 5 g/t. AI не „спонтанно“ управлява тези рискове вместо вас; От вас зависи да прочетете модела критично, да направите разлика между обучението и теста, да разгледате доверителния интервал и да проверите дали прогнозата е физически правдоподобна. Колкото и точен да изглежда номерът на модела, той не може да бъде основа за инженерно решение извън обхвата на данните.

три мини калъфа

Случай 1 — Грешка при тих звук. Инженер иска код, който кара AI да изчислява средната оценка от данните от анализа. Кодът работи, резултатът е 2,1 g/t. Инженерът чете кода; Забележете, че средната стойност не се претегля по дължината на интервала, а се приема като права средна стойност. Високите оценки на кратки интервали несправедливо наддаваха на тегло. При преминаване към среднопретеглената стойност стойността намалява до 1,7 g/t. Кодът не дава грешки; четенето хвана грешката.

Случай 2 — Безшумно изпускане на линия. В производствения обобщен код AI изчисти редове с липсващи стойности с dropna. Кодът работи безпроблемно, но общият тонаж е подценен, тъй като някои валидни редове бяха премахнати изцяло поради една празна колона. Когато инженерът сравнява броя на редовете между входа и изхода, той вижда разликата и коригира логиката на почистване. Урок: винаги сравнявайте броя на входните и изходните редове.

Случай 3 — Екстраполационен капан. Екип прилага регресионен модел, научен в диапазона с ниска оценка, към област с висока оценка; Моделът дава абсурдно висока оценка на доходността. За щастие, инженерът отхвърля резултата, като казва, че „тази област е далеч извън обхвата, видян от модела“ и изисква металургично изпитване. Урок: познавайте диапазона от данни, за които моделът е валиден; Не използвайте оценка извън държавата.

Копируеми шаблони за подкана

КОД ЗА СИГУРНО ПОЧИСТВАНЕ НА ДАННИ "Роля: Вие сте асистент на анализатор на данни на Python. Напишете код с pandas, който почиства следната таблица. Колони и единици: [списък]. Правила: (1) отпечатайте броя на редовете ПРЕДИ и СЛЕД изтриването на редове; (2) докладвайте кои редове са били изпуснати и защо; (3) коментирайте преобразувания на единици; (4) използвайте претеглена средна стойност, където е необходимо, вместо обикновена. Обяснете всяка стъпка с ред за коментар."

ЗАЯВКА ЗА ПРЕГЛЕД НА КОДА "Обяснете следния код на Python ред по ред и посочете следните рискови точки: неправилно предположение за име на колона, объркване на единици, тихо изхвърляне на ред, плоска/претеглена средна грешка, поведение (нулево/отрицателно) в крайни случаи. НЕ ПОПРАВЯЙТЕ кода; просто избройте рисковете. Код: [поставете]."

ТЕСТОВА НАСТРОЙКА С МАЛКИ ДАННИ "За тази функция създайте ръчно малки тестови данни (5-6 реда), от които знам резултата и очаквания изход; напишете тестов блок, който проверява дали функцията работи правилно върху тези данни. Тествайте също екстремните случаи (празна клетка, отрицателна, екстремна стойност на единица). Функция: [поставяне]."

ПРОСТ МОДЕЛ + ПРЕДУПРЕЖДЕНИЕ ЗА ГРАНИЦА "Настройте проста регресия за [x -> y] със следните данни. Направете разлика между обучение/тестване, докладвайте показателя за грешка и ясно посочете диапазона от x, в който моделът е ВАЛИДЕН. Предупреждавайте, ако са направени прогнози ИЗВЪН този диапазон. Коментирайте риска от претрениране и оскъдността на данните. Данни: [поставете]."

Слаба подкана / Силна подкана

СЛАБА ПОДКАНА: „Изчислете средната оценка от тези данни.“

СИЛНА ПОДСКАЗКА: "Роля: Вие сте асистент на Python. Колони: HoleID, From(m), To(m),Au(g/t). Изчислете ПРЕТЕГЛЕНА средна оценка с дължина на интервала. Код: (1) отпечатайте броя на входните/изходните редове; (2) докладвайте нулеви/отрицателни стойности, преди да ги изпуснете; (3) потвърдете предположението за единица. Показвайте също междинни суми, за да мога да проверя резултат ръчно. Данни: [поставяне]."

Сравнителна таблица: риск и предпазни мерки

Риск

симптом

предпазна мярка

Намеса на устройството

Разумен, но грешен номер

Коментирайте модула в код, проверете го

Безшумен спад на линията

Общо липсва

Сравнете броя на входните/изходните линии

Обикновена срещу среднопретеглена стойност

грешна средна стойност

Проверете теглото

свръхнаучаване

Лошо за данните от теста

Разделяне на обучение/тест, нека бъде просто

екстраполация

Безсмислено предположение извън обхвата

Ограничете валидния диапазон

Често срещани грешки

  • Изпълнение на кода, без да го четете. „Не получи никакви грешки“ не означава, че е вярно.
  • Не се тества с малки данни. Доверието без доказуем пример е фалшиво.
  • Не се сравнява броят на входните/изходните линии. Така се измъкват тихите загуби.
  • Игнориране на моделната гама. Екстраполационните оценки са ненадеждни.
  • Доверете се на красотата на класацията. Стилната диаграма може да скрие грешното число.
Внимание: Ако AI кодът влезе в инженерен акаунт, този код е също толкова отговорен, колкото и акаунт. Навсякъде, където резултатът стане решение за копаене, изпълнете кода и неговия изход чрез независима логическа проверка и сравнение с втори метод, ако е възможно.

В обобщение

Python е де факто инструментът за анализ на данни за копаене, а AI значително увеличава скоростта, с която го пишете. Но AI кодът може да крие тихи грешки (объркване на единици, изпускане на редове, грешно осредняване) и капани на модела (прекомерно обучение, екстраполация). Сигурен поток: опишете ясно, искате малко и четливо, четете и разбирайте, тествайте с малки известни данни, крайни случаи на заявки, проверка на мащаб и логика. Резултатът от модела не може да бъде основа за решение извън обхвата на данните; и всеки код носи същата отговорност като акаунт, ако се превърне в решение за добив.

Задача за приложение

Използвайте шаблона „Код за дезинфекция на защитени данни“ с осредняване на оценка или обобщена задача за производство, за да получите кода от AI; Намалете риска на кода с шаблона „Заявка за преглед на код“. След това с шаблона „Тестова настройка с малки данни“ създайте ръчно набор от данни, чиито резултати знаете, и проверете кода. И накрая, за проста връзка, настройте модел с шаблона „Прост модел + предупреждение за ограничение“ и тествайте дали дава предупреждение, когато излезе извън валидния диапазон.

контролен списък

  • [ ] Прочетох AI кода и разбрах всеки ред, не го пуснах на сляпо.
  • [ ] Тествах го с малки, ръчно проверими данни.
  • [ ] Сравних броя на входните и изходните линии.
  • [ ] Проверих последователността и тежестта на единицата.
  • [ ] Ограничих обхвата на валидните данни на модела, избягвайки екстраполация.
  • [ ] Проверих резултата, който се превърна в решение, с независима логика/втори метод.

Изпит по модул

1. Стажант пита инструмента за чат с изкуствен интелект относно средното съдържание на рудното тяло и записва получената стойност от „1,8 g/t злато“ директно в отчета за запасите. Каква е основната грешка в този подход?

  • A) Стойността на степента трябва да идва от собствените данни за сондиране/анализ на проекта и проверена прогноза; Числото, генерирано от AI, може да е измислица без източник ✔
  • B) Трябваше да бъде поискан AI в унции вместо в грамове
  • C) Стойността е правилна, трябваше да се използва само точка вместо запетая
  • Г) Достатъчно е да зададете един и същи въпрос на AI три пъти и да вземете средната стойност

Обяснение: Езиковият модел не знае данните за пробиване на вашия проект; произвежда число, което изглежда най-вероятно (халюцинация). Оценката идва само от собствените комбинирани данни от сондажите и геостатистическата оценка на проекта; Резултатите от AI не могат да бъдат включени в доклада без одобрението на компетентно лице.

2. Какво позволява „класификацията, базирана на риска“ при използването на AI в минното инженерство?

  • A) Намалете цената на AI инструмента
  • B) Определете ролята на AI и задължителната дълбочина на проверка според нивото на риск на задачата ✔
  • В) Подканите трябва да бъдат написани по-кратко
  • D) Автоматично делегиране на всички решения на AI

Обяснение: Не всяка мисия е с едно и също ниво на риск. Класифицирането на задачата като ниска/средна/висока/критична определя кой резултат може да се използва свободно и кой изисква стандартна и полева проверка и одобрение от компетентен инженер.

3. Какво означава моделът "вариограма" в геостатистиката?

  • A) Разход на гориво на оборудването
  • B) Промяна на цената на метала във времето
  • В) Пространствена непрекъснатост в зависимост от разстоянието; ✔ как приликата намалява с отдалечаването на точките
  • D) Честотата на вибрациите, създадена от взривяване

Описание: Вариограмата описва как сходството на пробите една с друга намалява (пространствена непрекъснатост) с увеличаване на разстоянието между две точки. Kriging използва този модел за оценка на неизмерени точки с марж на несигурност.

4. Какъв е най-добрият подход, когато изкуственият интелект предварително класифицира литологията от фотография на сондажната ядка?

  • A) Обработка на типа скала, даден от AI директно в сондажния дневник
  • B) Копиране на текста на AI в доклада, без изобщо да се изследва снимката
  • C) Отмяна на наблюдението на геолога и разчитане единствено на AI
  • D) Считайте резултата за предварителна прогноза/хипотеза и го проверете с геоложки наблюдения и лабораторен анализ ✔

Описание: AI може да генерира списък с прогнози и внимание от изображението; Въпреки това, окончателното решение за литология/промяна се взема от наблюдението на геолога и лабораторния анализ. Резултатът от AI е начало, хипотеза, която трябва да бъде проверена.

5. Какво означава „коефициент на отстраняване“ при планирането на открити рудници?

  • A) Количеството ръжда (отпадъчни скали), което трябва да се отстрани, за да се достигне до една единица руда ✔
  • Б) Процентно съдържание на метал в рудата
  • В) Дневен брой пътувания на камиони
  • D) Количеството експлозив, използвано при взривяване

Описание: Степента на отстраняване е количеството отпадъци (лента/отпадък), което трябва да се отстрани, за да се получи една единица руда. Крайната граница на ямата и икономията до голяма степен зависят от това съотношение; Въпреки че AI генерира сценарии, решението за границите зависи от компетентния инженер.

6. Какво означава при предсказуема поддръжка, когато AI открие „аномалии“ в данните за вибрациите и температурата?

  • A) Доказателство, че оборудването определено е повредено
  • B) Предупреждение, че данните се отклоняват от нормалното; Това не е окончателна диагноза за неизправност, а знак, който трябва да бъде потвърден чрез физически преглед ✔
  • C) Поръчайте оборудването да бъде спряно автоматично
  • D) Гаранция, че данните са записани неправилно

Обяснение: Аномалия е отклонение на данните от нормалното поведение и може да показва неизправност; но това не е окончателна диагноза. Решението за спиране на оборудването или замяна на части се взема след физическия преглед на екипа по поддръжката и одобрението на ръководителя на операциите.

7. Кое е от съществено значение за безопасността при използване на изкуствен интелект при проектиране на пробиване?

  • A) Прилагане на препоръката на AI директно на място
  • B) Пропускане на измерване на вибрации
  • C) Проверка на предложения от AI дизайн с полеви измервания, регулаторна граница и одобрение от оторизиран експерт по взривяване ✔
  • D) Фиксиране на количеството експлозиви с максимума, даден от AI

Описание: Взривяване; Той носи сериозни рискове за безопасността и регулаторни рискове като вибрации, въздушен удар и летящи камъни. AI може да създаде скица на дизайн и препоръка за параметри; Окончателният проект обаче трябва да премине измерване на място, регулаторни ограничения и одобрение от упълномощения експерт по взривяване (детонатор/отговорник).

8. Каква е типичната връзка между „възстановяване“ и „степен на концентрат“ при обработката на минерали и какво трябва да запомни ИИ, когато интерпретира това?

  • А) Двете винаги нарастват заедно
  • Б) Между тях няма връзка
  • В) Връзката е постоянна и еднаква във всички съоръжения
  • D) Обикновено има обратен баланс (добивът намалява с повишаване на качеството); действителните стойности трябва да бъдат проверени чрез металургични тестове и баланс на масата ✔

Обяснение: Като цяло, докато се опитваме да получим по-висок концентриран клас, добивът намалява (баланс между клас и добив). AI може да обясни тази тенденция, но действителните работни стойности трябва да бъдат потвърдени чрез металургични тестове и баланс на масата; общата тенденция не е заместител на специфичната за сайта реалност.

9. Каква е най-подходящата употреба на анализиране на данни за почти пропуснати случаи/произшествия с AI в безопасността на труда?

  • A) Класифицирайте свободни текстови записи и извличайте повтарящи се рискови модели; Оставете решението на експерта по ЗБУТ ✔
  • Б) Автоматично определяне на виновника за произшествията
  • C) Делегиране на заповеди за спиране на работа на AI
  • D) Архивиране на записи за почти пропуснати случаи, без да ги преглеждате

Описание: AI може да класифицира големи количества свободни текстови записи и бързо да извлича повтарящи се модели и рискови условия. Въпреки това, решението за спиране на работа, евакуация на зона или основна причина се взема в рамките на експерта по ЗБУТ и законодателството; Изходът на AI е вход, а не решение.

10. Защо „ускоряването на скоростта на деформация“ е критичен признак в данните от радар/призма при наблюдение на наклона?

  • A) Определено показва, че измервателният уред е счупен.
  • Б) Може да предвещава прогресивно поражение; Решението за ранно предупреждение и евакуация принадлежи на геотехническия инженер ✔
  • C) Показва, че наклонът е напълно безопасен
  • Г) Значително е само когато има валежи и може да се пренебрегне

Обяснение: Преди разрушаването на наклона обикновено се наблюдава постепенно увеличаване на скоростта на деформация (ускорение); Това може да е признак на прогресиращ неуспех. AI може да подчертае тенденцията, но решението за евакуация/ранно предупреждение се взема от анализа и протокола на геотехническия инженер.

11. В мониторинга на околната среда, какъв е най-точният отговор на знак за „превишаване“, който AI открива във времевата серия за качеството на водата?

  • A) Докладване на резултатите от AI директно на правителствената агенция
  • Б) Игнорирайте предупреждението и продължете да гледате
  • C) Проверете с резултат от акредитирана лаборатория, регулаторен лимит и оценка на инженер по околната среда ✔
  • Г) Разчитане само на AI и отмяна на лабораторния анализ

Описание: AI може да сигнализира за възможно нарушение рано; Въпреки това, официалното решение за съответствие се взема от акредитиран лабораторен анализ, гранични стойности в законодателството и оценката на инженера по околна среда. Резултатът от AI е предупреждение за проверка, а не правно/техническо решение.

12. Кой е най-надеждният начин да избегнете получаването на измислена (халюцинативна) препратка, когато поискате от AI номера на клауза на стандарт като JORC или NI 43-101?

  • A) Разчитайки на номера на елемента, даден от AI
  • Б) Задаване на същия въпрос отново с различни думи
  • В) Разглеждане на публикация в блог вместо на стандарта
  • D) Отваряне и потвърждаване на препратка към всяка статия от текущия официален текст на стандарта и получаване на одобрение от компетентно лице ✔

Обяснение: Въпреки че езиковият модел знае името на стандарта правилно, той може да халюцинира номера на статията и текста. Всяка справка за вещество трябва да бъде отворена и потвърдена от текущия официален текст на стандарта и окончателното съответствие трябва да бъде потвърдено от компетентното лице (CP/QP).

13. Коя е най-критичната проверка преди стартирането на скрипт за анализ на Python, написан от AI?

  • A) Четене на кода и проверка на съответствието на единица/колона, тестване с малки известни данни и проверка на правдоподобността на резултата ✔
  • B) Изпълнение на кода директно върху целия набор от данни, без да го четете
  • В) Просто гледам, че няма грешка и приемам резултата
  • Г) Разчитане на графиките на изхода, за да изглежда добре.

Описание: AI кодът може да смесва единици, да приема имена на колони неправилно или безшумно да изпуска редове. От съществено значение е да прочетете кода, да проверите съвпадението на обем и колона, да тествате с малко количество известни данни и да проверите дали резултатът е инженерно разумен.

14. Кое е най-доброто поведение по отношение на поверителността при даване на данни за копаене на базиран в облак AI инструмент?

  • A) Поставяне на всички необработени данни такива, каквито са
  • B) Анонимизиране на контекста и почистване на чувствителни данни за резерв/координати/производство и използване на корпоративен, съвместим с правилата инструмент ✔
  • C) Ако се приеме, че предоставянето на действителни координати е от съществено значение за качеството на резултата
  • Г) Изобщо игнориране на политиката за поверителност

Обяснение: Данните за резервите, информацията за лиценз/координати и производствените данни са чувствителни по отношение на търговските тайни и законодателството. Необходимо е да анонимизирате контекста, да изчистите реалните координати и имена, да изберете корпоративен/гарантиращ инструмент за поверителност и да спазвате фирмената политика.