Добици:
- Способност успостављања поновљивог тока рада анализе који учитава и чисти податке о телеметрији, тестирању и производњи помоћу панда
- Способност разумевања и верификације излаза ред по ред док добијате код, атрибуте и помоћ у визуелизацији од вештачке интелигенције
- Способност ревизије резултата анализе за конзистентност јединице, цурење података и поновљивост
У претходним јединицама користили смо вештачку интелигенцију као „саветник”. У овој јединици идемо корак даље и успостављамо ток посла који анализира аутомобилске податке сопственим рукама, користећи Питхон. Циљ није да вас учинимо програмером софтвера; Треба направити инжењера који може да разуме и верификује тај код ред по ред док добија помоћ код АИ. Зато што код који производи АИ може бити неисправан, баш као и текст који производи АИ; може збунити запремину, податке о цурењу, погрешну колону у средини. Покретање кода без разумевања је као објављивање непотписаног извештаја.
Зашто Питхон? Зато што је то де факто стандард у анализи података: можете лако да обрађујете податке телеметрије, тестирања и производње помоћу пандас (табеларни подаци), нумпи (нумеричка обрада), матплотлиб (графикон) и сцикит-леарн (машинско учење) библиотека.
Шест корака до поновљиве анализе
Чврста анализа увек прати исти оквир:
- Учитавање: Читање података из датотеке.
- Прегледајте: димензије, колоне, типове података, вредности које недостају.
- Чисто: Недостаје/изузетак, јединица, исправка временске ознаке.
- Издвој карактеристика: Изведите значајне варијабле.
- Анализа/модел: статистика, визуелизација или модел.
- Провери и пријави: обезбеђивање резултата, провера запремине/цурења, снимање.
Савет: Када од АИ тражите код, реците „коментаришите шта радите на сваком кораку и напишите своје претпоставке“. Тако да можете да проверите код док га читате.
Корак по корак пример: телеметријска анализа
Следећи код учитава ЦАН/телеметријски запис и врши основну проверу. (Напомена: уверите се да разумете кодове пре него што их покренете; називи колона се разликују у зависности од ваших података.)
импорт пандас као пд# 1) Учитај: полутачкасти ЦСВ, прва колона тиместампдф = пд.реад_цсв("телеметри.цсв", парсе_датес=["тиме"])# 2) Цхецкпринт(дф.схапе) # колико редова, колико колонапринт(дф.дтипес) # типова сваке колоне(дф.дтипес)(дум) # број недостајућих вредности по отиску колоне(дф.десцрибе()) # резиме статистике: мин, максимум, просек
Десцрибе() излаз је ваша прва прилика да проверите: ако је максимална вредност брзине мотора 45.000 о/мин (типични путнички мотор ~7.000 о/мин), постоји грешка у јединици или сензору.
Најчешће коришћене пандас команде у кораку ревизије и шта оне раде:
команда
Шта ради
Шта то потврђује?
дф.схапе
Број редова/колона
Да ли је то очекивана величина?
дф.дтипес
Врсте колона
Да ли је колона са бројевима постала текст?
дф.исна().сум()
Недостаје број вредности
Колико има простора?
дф.десцрибе()
Мин/мак/просек
Да ли је то физички разумно?
дф.дуплицатед().сум()
дупликат реда
Да ли постоји двострука регистрација?
# 3) Јасно: означите физички немогуће вредности
Опрез: Немојте одмах брисати излаз; Прво схватите зашто је то изванредно. Да ли је то стварни догађај (изненадно загревање) или квар сензора? Слепо брисање може сакрити праву грешку.
# 4) Издвојена карактеристика: брзина пораста температуре (деривација)дф = дф.сорт_валуес("време")дф["сиц_инцреасе_спеед"] = дф["мотор_сиц"].дифф() / дф["тиме"].дифф().дт.тотал_сецондс()# 5) Једноставна визуализација као лиимпорт. плтплт.плот(дф["време"], дф["мотор_сиц"])плт.клабел("Време"); плт.илабел("Температура мотора (Ц)")плт.титле("Ток температуре мотора")плт.схов()
Спречавање цурења података у Питхон-у
Најопаснија грешка при изградњи модела предвиђања је цурење података (јединица 5): када модел види информације које не могу бити познате у тренутку предвиђања. Златно правило да се ово избегне у временским серијама: тренирајте са прошлошћу, тестирајте са будућношћу - без насумичних мешања.
фром склеарн.модел_селецтион импорт траин_тест_сплит# ФАЛСЕ: насумично цепање временске серије пропушта будућност# дф[дф["тиме"] > тхресхолд] # последњих 20% будућности
Опрез: траин_тест_сплит подразумевано меша податке (схуффле=Труе). У временској серији, ово збуњује будућност са образовањем и производи лажни висок резултат. Ако је АИ то урадио у коду који производи, обавезно то поправите.
Конзистентност јединице: тихи убица
Најподмуклије грешке у аутомобилској индустрији су јединичне грешке: км/х до м/с, Нм до лб-фт, бар до кПа, °Ц до К. Вођење речника о томе која је јединица сваке колоне у анализи и записивање конверзија јасно спашава животе.
# Експлицитно документујте јединице = {"спеед": "км/х", "мотор_сиц": "Ц", "прессуре": "бар"}# Експлицитна конверзија ако је потребно (км/х -> м/с)дф["спеед_мс"] = дф["спеед"] / 3.6
Мини студије случаја
Случај 1 - Грешка ухваћена са десцрибе(). Аналитичар покреће код из АИ и прави процену опсега; Резултат је апсурдно висок. Када погледамо десцрибе() излаз, видимо да је капацитет батерије унесен у Вх у неким редовима и у кВх у другим (разлика 1000 пута). Када се јединица доведе до униформног типа, резултат се побољшава. Закључак: Једноставна збирна статистика спречила је лоше предвиђање.
Случај 2 - Замка забуне. Модел хабања кочница стажиста био је 98% тачан на тест сету. Када се код испита, може се видети да су траин_тест_сплит(схуффле=Труе) и временске серије помешане, што значи да будуће тачке пропуштају у обуку. Када се подели са временом, тачност пада на 80%, али је сада реална. Закључак: Само зато што је АИ код радио, није био у реду; Човек је ухватио цурење.
Случај 3 – Разумевање одступања. У запису о издржљивости, АИ код аутоматски брише ванредне вредности деформације. Инжењер гледа на избрисане тачке; Управо су то били тренуци покретања крековања за које је тест био заинтересован. Брисање се уклања и кршења се узимају у посебан преглед. Резултат: Под "Чишћење" прави сигнал се може избрисати; доводи у питање сваки корак.
брзи шаблони
Шаблон 1 – Шифра захтева (са објашњењем):
Улога: Ви сте ментор Питхон аналитичара података. Задатак: Напишите код који учитава и проверава телеметрију ЦСВ. Контекст: Колоне: време, брзина (км/х), енгине_сиц(Ц), револуција (рпм). Ограничење: Коментирајте сваки ред; Објасните која је провера извршена и зашто; додати физички немогућу проверу вредности; тихо брисање ништа. Излаз: Коментирани код + који излаз треба да погледам и зашто.
Шаблон 2 – Инспекција цурења:
Улога: Ви сте рецензент кода за машинско учење. Задатак: Проверите да ли у следећем коду за обуку/тестирање нема цурења података. Контекст: Ово је временска серија (телеметрија возила). Ограничење: Упозорава ако постоји насумично мешање; Предложите и оправдајте раздвајање по времену. Исход: Налази + исправљени код + објашњење.
Шаблон 3 – Валидација јединице:
Улога: Ви сте ревизор квалитета података. Задатак: Предложите провере које траже недоследност јединице у оквиру ДатаФраме. Контекст: Капацитет може бити кВх у неким редовима и Вх у другим. Излаз: Проверите код + како пронаћи сумњив образац.
Шаблон 4 – Визуелизација + коментар:
Улога: Ви сте стручњак за визуелизацију података. Задатак: Напишите код који приказује ток температуре мотора и брзину повећања. Ограничење: Означите осе јединицом; визуелно означити аномалију; не захтевајте дефинитивну грешку приликом тумачења графикона. Излаз: Шифра + шта треба тражити на графикону.
Слаби промпт / Јаки промпт
Слабо обавештење:
Направите модел са овим подацима.
Није јасно која мета, који одељак, која верификација; АИ може да емитује кодиран, цурење, јединични слепи код.
Снажан упит:
Улога: Ви сте Питхон МЛ ментор. Задатак: Напишите почетни ток рада за предвиђање трошења кочионих плочица и демонстрирање замки при валидацији. Контекст: телеметрија временских серија; циљ: преостала дебљина подлоге. Ограничење: Подели временске серије по времену (без мешања); атрибути заставице у опасности од цурења података; документ јединице; протумачити сваки корак; Запишите које провере су потребне пре него што резултат изађе на терен. Излаз: Коментирани код + контролна листа за верификацију.
Уобичајене грешке
- Покретање кода без разумевања. АИ код такође може бити неисправан; Читајте ред по ред.
- Мешање временских серија. схуффле=Труе пропушта будућност и производи лажни резултат.
- Слепо избришите одступницу. Стварни сигнал (настанак грешке) може се обрисати.
- Не документује јединицу. Грешке као што су км/х наспрам м/с, Вх вс кВх расту тихо.
- Прескакање корака десцрибе()/цхецк. Већина грешака се појављује у првој збирној статистици.
Укратко
- Питхон (пандас, нумпи, матплотлиб, сцикит-леарн) је де факто стандард анализе аутомобилских података.
- Поновљива анализа: учитавање, преглед, чишћење, функција, анализа, валидација и извештај.
- Императив је разумети и верификовати код који АИ производи ред по ред; Само зато што функционише не значи да је исправно.
- Одржавати разлику између прошлости и будућности у временским серијама; Насумично мешање ствара цурење података.
- Конзистентност јединица и интерпретација ван граница су нечујне, али критичне тачке верификације.
Задатак апликације
Узмите мали скуп података (стварна или синтетичка телеметрија). (1) Пратећи оквир од шест корака, генеришите код за учитавање и контролу помоћу шаблона 1 и потврдите да разумете сваки ред. (2) Пронађите најмање једну сумњиву вредност у десцрибе() излазу и истражите зашто. (3) У задатку предвиђања, одредите време поделе обуке/тестирања и проверите ризик од цурења помоћу шаблона 2. (4) Документујте јединицу сваке колоне коју користите у речнику.
контролна листа
- [ ] Поставио сам анализу са оквиром од шест корака.
- [ ] Прочитао сам и разумео код који производи АИ ред по ред.
- [ ] Тражио сам сумњиве вредности помоћу десцрибе()/аудит.
- [ ] Поделио сам временску серију по времену (без мешања).
- [ ] Означио сам атрибуте који су у опасности од цурења података.
- [ ] Документовао сам јединицу сваке колоне и експлицитно написао конверзије.