Hagnaður:
- Geta til að koma á endurteknu greiningarvinnuflæði sem hleður og hreinsar fjarmælingar, prófunar- og framleiðslugögn með pöndum
- Geta til að skilja og sannreyna úttakið línu fyrir línu á meðan þú færð kóða, eiginleika og sjónræna aðstoð frá gervigreind
- Geta til að endurskoða greiningarniðurstöður með tilliti til samræmis eininga, gagnaleka og endurgerðanleika
Í fyrri einingum notuðum við gervigreind eins og „ráðgjafa“. Í þessari einingu förum við einu skrefi lengra og komum á verkflæði sem greinir bílagögn með eigin höndum með Python. Markmiðið er ekki að gera þig að hugbúnaðarframleiðanda; Það er að búa til verkfræðing sem getur skilið og sannreynt kóðann línu fyrir línu á meðan hann fær kóðaaðstoð frá gervigreind. Vegna þess að kóðinn sem AI framleiðir getur verið gallaður, alveg eins og textinn sem AI framleiðir; getur ruglað hljóðstyrk, leka gögnum, röngum dálki í miðju. Að keyra kóðann án þess að skilja hann er eins og að birta óundirritaða skýrslu.
Python af hverju? Vegna þess að það er raunverulegur staðall í gagnagreiningu: þú getur auðveldlega unnið úr fjarmælingum, prófunar- og framleiðslugögnum með pöndum (töflugögn), numpy (tölufræðileg vinnsla), matplotlib (plot) og scikit-learn (vélanám) bókasöfn.
Sex skref að endurtakanlegri greiningu
Sterk greining fylgir alltaf sama ramma:
- Hlaða: Lestu gögn úr skránni.
- Skoðaðu: Vídd, dálka, gagnategundir, gildi sem vantar.
- Hreint: Vantar/útlægur, eining, leiðrétting á tímastimpli.
- Dragðu út eiginleika: Leiddu merkingarbærar breytur.
- Greining/líkan: Tölfræði, sjónræn eða líkan.
- Staðfesta og tilkynna: Niðurstöðuveiting, magn/lekaathugun, skráning.
Ábending: Þegar þú biður gervigreindina um kóða skaltu segja "skrifaðu athugasemdir við hvað þú ert að gera í hverju skrefi og skrifaðu forsendur þínar." Svo þú getur staðfest kóðann þegar þú lest hann.
Skref fyrir skref dæmi: fjarmælingagreining
Eftirfarandi kóði hleður CAN/fjarmælingarskrá og gerir grunnathugun. (Athugið: vertu viss um að þú skiljir kóðana áður en þú keyrir þá; dálknöfn eru mismunandi eftir gögnum þínum.)
flytja inn panda sem pd# 1) Hlaða: hálfpunkta CSV, fyrsti dálkur timestampdf = pd.read_csv("telemetry.csv", parse_dates=["tími"])# 2) Checkprint(df.shape) # hversu margar raðir, hversu margir dálkarprentar(df.dtypes) #texti (dálkur)(tala)(tala) er (tala) af hverjum dálki). fjöldi gilda sem vantar á hverja dálkaprentun(df.describe()) # samantektartölfræði: mín., hámark, meðaltal
Describe() framleiðslan er fyrsta tækifærið þitt til að sannreyna: ef hámarksgildi vélarhraða er 45.000 rpm (venjulegur farþegavél ~7.000 rpm), þá er eining eða skynjara bilun.
Algengustu pandaskipanir í endurskoðunarskrefinu og hvað þær gera:
skipun
Hvað gerir
Hvað staðfestir það?
df.form
Fjöldi lína/dálka
Er það væntanleg stærð?
df.dtypes
Dálkagerðir
Er númeradálkurinn orðinn að texta?
df.isna().sum()
Vantar gildistölu
Hversu mikið pláss er þar?
df.describe()
Lág/hámark/meðal
Er það líkamlega sanngjarnt?
df.duplicated().sum()
afrit röð
Er tvöföld skráning?
# 3) Hreinsa: merktu líkamlega ómöguleg gildi
Varúð: Ekki eyða útlínunni strax; Skildu fyrst hvers vegna það er útúrsnúningur. Er það raunverulegur atburður (skyndileg hitun) eða bilun í skynjara? Að eyða í blindni gæti falið raunverulegu mistökin.
# 4) Útdráttur eiginleiki: hitastigshækkunarhraði (afleiða)df = df.sort_values("tími")df["sic_increase_speed"] = df["motor_sic"].diff() / df["tími"].diff().dt.total_seconds()# 5) Einföld visualization mattplot sem pltplt.plot(df["tími"], df["motor_sic"])plt.xlabel("Tími"); plt.ylabel("Hitastig vélar (C)") plt.title("Hitastig hreyfils") plt.show()
Koma í veg fyrir gagnaleka í Python
Hættulegustu mistökin þegar spálíkan er byggt er gagnaleki (eining 5): þegar líkanið sér upplýsingar sem ekki er hægt að vita þegar spáð er. Gullna reglan til að forðast þetta í tímaröðum: æfðu með fortíðinni, prófaðu með framtíðinni - engin tilviljunarkennd uppstokkun.
frá sklearn.model_selection import train_test_split# FALSE: að skipta tímaröðinni af handahófi lekur framtíðinni# df[df["tími"] > þröskuldur] # síðustu 20% framtíðina
Varúð: train_test_split stokkar gögnin sjálfgefið (shuffle=True). Í tímaröðinni ruglar þetta framtíðinni saman við menntun og gefur ranga háa einkunn. Ef gervigreind hefur gert þetta í kóðanum sem það framleiðir, vertu viss um að laga það.
Samkvæmni einingarinnar: Silent Killer
Skaðlegustu villurnar í bílum eru einingarvillur: km/klst í m/s, Nm í lb-ft, bar í kPa, °C til K. Með því að halda orðabók yfir hver eining hvers dálks er í greiningunni og skrifa niður umreikningana bjargar greinilega mannslífum.
# Skjalfestu einingarnar sérstaklega = {"speed": "km/klst", "motor_sic": "C", "pressure": "bar"}# Skýr umbreyting ef þörf krefur (km/klst -> m/s)df["speed_ms"] = df["hraði"] / 3.6
Lítil dæmisögur
Tilfelli 1 - Villa náðist með describe(). Sérfræðingur keyrir kóðann frá gervigreindinni og gerir sviðsmat; Niðurstaðan er fáránlega há. Þegar við skoðum describe() úttakið sjáum við að rafgeymirinn er færður inn í Wh í sumum línum og í kWh í öðrum (1000 sinnum munur). Þegar einingin er færð í samræmda gerð batnar útkoman. Ályktun: Einföld yfirlitstölfræði kom í veg fyrir slæma spá.
Tilfelli 2 - Ruglgildra. Bremsuslit líkan nemanda var 98% nákvæmt á prófunarsettinu. Þegar kóðinn er skoðaður má sjá að train_test_split(shuffle=True) og tímaröðin blandast saman, sem þýðir að framtíðarpunktar leka inn í þjálfunina. Þegar deilt er með tíma fer nákvæmnin niður í 80%, en hún er nú raunhæf. Ályktun: Bara vegna þess að gervigreindarkóði virkaði var hann ekki réttur; Human náði lekanum.
Tilfelli 3 - Að skilja frávikið. Í endingarskrá eyðir gervigreindarkóði sjálfkrafa óviðjafnanlegum álagsgildum. Verkfræðingurinn lítur á punktana sem eytt hefur verið; Þetta voru einmitt augnablik sprunguupphafs sem prófið hafði áhuga á. Eyðing er fjarlægð og brot eru tekin til sérstakrar skoðunar. Niðurstaða: Undir "Hreinsun" er hægt að eyða raunverulegu merkinu; spyrja hvert skref.
hvetja sniðmát
Snið 1 - Beiðni um kóða (með skýringu):
Hlutverk: Þú ert leiðbeinandi í Python gagnagreiningu. Verkefni: Skrifaðu kóða sem hleður og athugar fjarmælingar CSV. Samhengi: Dálkar: tími, hraði (km/klst), engine_sic (C), snúningur (rpm). Þvingun: Athugaðu hverja röð; Útskýrðu hvaða athugun var gerð og hvers vegna; bæta við líkamlega ómögulegu gildisskoðun; að eyða engu hljóðlaust.Output: Athugasemdarkóði + hvaða úttak ég ætti að skoða og hvers vegna.
Snið 2 - Lekaskoðun:
Hlutverk: Þú ert gagnrýnandi vélnámskóða. Verkefni: Athugaðu eftirfarandi þjálfunar-/prófunarkóða fyrir gagnaleka. Samhengi: Þetta er tímaröð (fjarmæling ökutækja). Þvingun: Varaðu við ef það er tilviljunarkennd uppstokkun; Leggðu til og rökstuddu skiptingu eftir tíma. Úttak: Niðurstöður + leiðréttur kóði + skýring.
Snið 3 - Staðfesting eininga:
Hlutverk: Þú ert endurskoðandi gagnagæða. Verkefni: Leggðu til athuganir sem leita að ósamræmi í einingum í DataFrame. Samhengi: Afkastageta getur verið kWh í sumum röðum og Wh í öðrum. Úttak: Athugaðu kóða + hvernig á að finna grunsamlega mynstur.
Snið 4 - Sjónræn + athugasemd:
Hlutverk: Þú ert sérfræðingur í sjónrænum gögnum. Verkefni: Skrifaðu kóða sem teiknar upp hitastig hreyfilsins og hækkunarhraða. Þvingun: Merktu ása með einingunni; sjónrænt merkja frávikið; ekki halda fram endanlegri sök þegar þú túlkar línuritið. Framleiðsla: Kóði + hvað á að leita að í línuritinu.
Veik kvaðning / Sterk kvaðning
Veik kvaðning:
Búðu til líkan með þessum gögnum.
Það er ekki ljóst hvaða skotmark, hvaða hólf, hvaða sannprófun; AI getur gefið út spænan, lekan, einingablindan kóða.
Öflug tilvitnun:
Hlutverk: Þú ert Python ML leiðbeinandi. Verkefni: Skrifaðu upphaflegt verkflæði til að spá fyrir um slit bremsuklossa og sýna fram á löggildingargildrur. Samhengi: Tímaraðir fjarmælingar; skotmark: eftirstandandi púðiþykkt. Þvingun: Skipta tímaröð eftir tíma (engin uppstokkun); fánaeiginleika í hættu á gagnaleka; skjalaeiningar;túlka hvert skref; Skrifaðu niður hvaða athuganir eru nauðsynlegar áður en niðurstaðan fer út á völlinn. Úttak: Kóði með athugasemdum + staðfestingargátlisti.
Algeng mistök
- Keyrir kóðann án þess að skilja hann. AI kóði gæti líka verið gallaður; Lestu línu fyrir línu.
- Blöndun tímaröð. shuffle=True lekur framtíðinni og framleiðir falsa einkunn.
- Eyddu útlæginu í blindni. Hægt er að hreinsa raunverulegt merki (byrjun bilana).
- Ekki skrásetja eininguna. Villur eins og km/klst vs m/s, Wh vs kWh vaxa hljóðlaust.
- Sleppir describe()/check skrefinu. Flestar villur birtast í fyrstu yfirlitstölfræðinni.
Í stuttu máli
- Python (pandas, numpy, matplotlib, scikit-learn) er raunverulegur staðall fyrir greiningu bílagagna.
- Endurtekin greining: hlaða, skoða, þrífa, birta, greina, sannreyna og tilkynna.
- Það er mikilvægt að skilja og sannreyna kóðann sem gervigreind framleiðir línu fyrir línu; Þó það virki þýðir það ekki að það sé rétt.
- Halda fortíð / framtíð aðgreiningu í tímaröð; Handahófskennd uppstokkun skapar gagnaleka.
- Samkvæmni eininga og frávikatúlkun eru þögul en mikilvæg sannprófunaratriði.
Umsóknarverkefni
Taktu lítið gagnasett (raunveruleg eða tilbúið fjarmæling). (1) Eftir sex þrepa ramma, búðu til hleðslu- og stjórnkóðann með sniðmáti 1 og staðfestu að þú skiljir hverja línu. (2) Finndu að minnsta kosti eitt grunsamlegt gildi í describe() úttakinu og rannsakaðu hvers vegna. (3) Í spáverkefni skaltu tímasetja þjálfunina/prófið skiptingu og athuga hættuna á leka með sniðmáti 2. (4) Skráðu einingu hvers dálks sem þú notar í orðabók.
gátlisti
- [ ] Ég setti greininguna upp með sex þrepa ramma.
- [ ] Ég las og skildi kóðann sem AI framleiddur línu fyrir línu.
- [ ] Ég leitaði að grunsamlegum gildum með describe()/audit.
- [ ] Ég skipti tímaröðinni eftir tíma (engin uppstokkun).
- [ ] Ég merkti við þá eiginleika sem eru í hættu á gagnaleka.
- [ ] Ég skjalfesti einingu hvers dálks og skrifaði umreikningana beinlínis.