Awọn anfani:
- Agbara lati ṣe agbekalẹ iṣan-iṣẹ itupalẹ atunlo ti o ṣe ẹru ati nu telemetry, idanwo ati data iṣelọpọ pẹlu pandas
- Agbara lati loye ati rii daju laini iṣẹjade nipasẹ laini lakoko gbigba koodu, awọn abuda ati iranlọwọ iworan lati oye atọwọda
- Agbara lati ṣayẹwo awọn abajade itupalẹ fun aitasera ẹyọkan, jijo data ati isọdọtun
Ni awọn ẹya ti tẹlẹ, a lo oye atọwọda bi “oludamoran”. Ninu ẹyọ yii, a lọ ni igbesẹ kan siwaju ati fi idi iṣan-iṣẹ kan ti o ṣe itupalẹ data adaṣe pẹlu ọwọ tiwa, ni lilo Python. Ibi-afẹde kii ṣe lati jẹ ki o jẹ olupilẹṣẹ sọfitiwia; O jẹ lati ṣe ẹlẹrọ ti o le loye ati rii daju laini koodu yẹn nipasẹ laini lakoko gbigba iranlọwọ koodu lati AI. Nitoripe koodu ti AI ṣe le jẹ aṣiṣe, gẹgẹ bi ọrọ ti AI ṣe; le dapo iwọn didun, jo data, aarin ti ko tọ iwe. Ṣiṣe koodu laisi oye o dabi titẹjade ijabọ ti ko fowo si.
Python kilode? Nitoripe o jẹ boṣewa de facto ni itupalẹ data: o le ni rọọrun ṣe ilana telemetry, idanwo ati data iṣelọpọ pẹlu pandas (data tabular), nọmba (sisẹ nọmba), matplotlib (Idite) ati awọn ile-ikawe scikit-learn (ẹrọ ẹrọ).
Mefa awọn igbesẹ ti to reproducible onínọmbà
Itupalẹ to lagbara nigbagbogbo tẹle ilana kanna:
- Fifuye: Ka data lati faili naa.
- Ayewo: Iwọn, awọn ọwọn, awọn iru data, awọn iye ti o padanu.
- Mọ: Sonu/jade, ẹyọkan, atunṣe timestamp.
- Jade ẹya: Fa awọn oniyipada ti o nilari.
- Onínọmbà/awoṣe: Awọn iṣiro, iworan, tabi awoṣe.
- Ṣayẹwo ati jabo: Ipese abajade, iwọn didun/ṣayẹwo jo, gbigbasilẹ.
Imọran: Nigbati o ba beere koodu AI, sọ “ṣe asọye ohun ti o nṣe ni igbesẹ kọọkan ki o kọ awọn arosinu rẹ.” Nitorinaa o le rii daju koodu naa bi o ṣe n ka.
Apẹẹrẹ-igbesẹ-igbesẹ: itupalẹ telemetry
Awọn koodu atẹle ṣe fifuye igbasilẹ CAN/telemetry ati ṣe ayẹwo ipilẹ. (Akiyesi: rii daju pe o loye awọn koodu ṣaaju ṣiṣe wọn; awọn orukọ iwe yatọ da lori data rẹ.)
gbe pandas wọle bi pd# 1) Fifuye: ologbele-aami CSV, akọkọ iwe timestampdf = pd.read_csv("telemetry.csv", parse_dates=["akoko")# 2) Checkprint(df.shape) # melo awọn ori ila, melo columnsprint (df.dtypes) # mber tabi ọrọ kọọkanis (df.dtypes) # mber . nọmba awọn iye ti o padanu fun iwe ọwọn (df.describe()) # awọn iṣiro akopọ: min, max, apapọ
Ijade apejuwe () jẹ aye akọkọ rẹ lati rii daju: ti iye iyara engine ba jẹ 45,000 rpm (engine ero oju-ọna deede ~ 7,000 rpm), ẹyọ kan tabi aṣiṣe sensọ wa.
Awọn aṣẹ pandas ti a lo nigbagbogbo julọ ni igbesẹ iṣatunwo ati ohun ti wọn ṣe:
pipaṣẹ
Kini o ṣe
Kini o jẹrisi?
df.apẹrẹ
Nọmba ti awọn ori ila / awọn ọwọn
Ṣe o jẹ iwọn ti a reti?
df.dtypes
Awọn iru ọwọn
Njẹ nọmba nọmba ti di ọrọ bi?
df.isna (). apao ()
Nọmba iye ti o padanu
Elo aaye wa nibẹ?
df.apejuwe()
Min/max/apapọ
Ṣé ó bọ́gbọ́n mu nípa tara bí?
ff.duplicated () apao ()
àdáwòkọ kana
Ṣe iforukọsilẹ meji wa?
# 3) Ko o: samisi awọn iye ti ko ṣeeṣe ti ara
Išọra: Ma ṣe paarẹ itujade lẹsẹkẹsẹ; Ni akọkọ ni oye idi ti o jẹ olutayo. Ṣe o jẹ iṣẹlẹ gidi kan (alapapo lojiji) tabi ikuna sensọ? Piparẹ ni afọju le tọju aṣiṣe gidi.
# 4) Jade ẹya-ara: iwọn otutu jinde (itọsẹ) df = df.sort_values ("akoko") df ["sic_increase_speed"] = df ["motor_sic"].diff () / df ["akoko"].diff () .dt.total_seconds () # 5) Simple visualizationimport mattplot. pltplt.plot (df ["akoko"), df ["motor_sic") plt.xlabel ("Aago"); plt.ylabel ("Engine otutu (C)") plt.akọle ("Engine otutu dajudaju") plt.show ()
Idilọwọ jijo data ni Python
Aṣiṣe ti o lewu julo nigba kikọ awoṣe asọtẹlẹ jẹ jijo data (ẹyọkan 5): nigbati awoṣe ba rii alaye ti a ko le mọ ni akoko asọtẹlẹ. Ofin goolu lati yago fun eyi ni jara akoko: ọkọ oju irin pẹlu awọn ti o ti kọja, idanwo pẹlu ọjọ iwaju - ko si shuffling laileto.
lati sklearn.model_selection import train_test_split# FALSE: laileto yapa awọn akoko jara n jo ojo iwaju# df["akoko"]> ala] # kẹhin 20% ojo iwaju
Išọra: train_test_split daapọ data naa nipasẹ aiyipada (Dapọpọ=Otitọ). Ninu jara akoko, eyi daamu ọjọ iwaju pẹlu eto-ẹkọ ati gbejade Dimegilio giga eke. Ti AI ba ti ṣe eyi ni koodu ti o gbejade, rii daju lati ṣatunṣe rẹ.
Unit aitasera: ipalọlọ apani
Awọn aṣiṣe ti o buruju julọ ninu ọkọ ayọkẹlẹ jẹ awọn aṣiṣe kuro: km / h si m / s, Nm si lb-ft, bar si kPa, ° C si K. Titọju iwe-itumọ ohun ti apakan ti ọwọn kọọkan wa ninu itupalẹ ati kikọ awọn iyipada ti o gba awọn igbesi aye pamọ kedere.
# Ṣe akọsilẹ awọn ẹya naa ni gbangba = {"iyara": "km/h", "motor_sic": "C", "titẹ": "ọpa"}# Iyipada ti o han gbangba ti o ba jẹ dandan (km/h -> m/s) df ["speed_ms"] = df["iyara"] / 3.6
Awọn ẹkọ ọran kekere
Ọran 1 - Aṣiṣe mu pẹlu apejuwe (). Oluyanju n ṣiṣẹ koodu lati AI ati ṣe iṣiro iwọn; Abajade jẹ aibikita ga. Nigba ti a ba wo apejuwe () o wu, a ri pe agbara batiri ti wa ni titẹ sii Wh ni diẹ ninu awọn ila ati ni kWh ni awọn miiran (iyatọ igba 1000). Nigbati a ba mu ẹyọ naa wa si iru aṣọ kan, abajade naa dara si. Ipari: Iṣiro akopọ ti o rọrun ṣe idiwọ asọtẹlẹ buburu kan.
Case 2 - Idarudapọ pakute. Awoṣe yiya ṣẹẹri ikọṣẹ jẹ deede 98% lori eto idanwo naa. Nigbati koodu naa ba ṣe ayẹwo, o le rii pe train_test_split (Daarapọmọra = Otitọ) ati jara akoko jẹ idapọ, afipamo pe awọn aaye iwaju n jo sinu ikẹkọ naa. Nigbati o ba pin nipasẹ akoko, deede lọ silẹ si 80%, ṣugbọn o jẹ ojulowo bayi. Ipari: Nitoripe koodu AI ṣiṣẹ, ko tọ; Eniyan mu jo.
Ọran 3 - Oye awọn outlier. Ninu igbasilẹ agbara, koodu AI yoo paarẹ awọn iye igara ti o jade laifọwọyi. Onimọ-ẹrọ n wo awọn aaye ti o paarẹ; Iwọnyi jẹ deede awọn akoko ibẹrẹ kiraki ti idanwo naa nifẹ si. Iparẹ kuro ati pe awọn irufin ni a mu sinu atunyẹwo lọtọ. Abajade: Labẹ "Nsọ" ifihan agbara gidi le paarẹ; ibeere gbogbo igbese.
kiakia awọn awoṣe
Awoṣe 1 - koodu ibeere (pẹlu alaye):
Ipa: Iwọ jẹ oluyanju data Python mentor.Task: Kọ koodu ti o ṣaja ati ṣayẹwo telemetry CSV.Context: Columns: time, speed(km/h), engine_sic (C), revolution(rpm) .Iwọn: Ọrọ asọye ni ila kọọkan; Ṣe alaye iru ayẹwo wo ati idi ti; fi ara soro iye ayẹwo; laiparuwo pipaarẹ ohunkohun.O wu: Commented koodu + eyi ti o wu ni mo yẹ ki o wo ni ati idi ti.
Awoṣe 2 - Ayẹwo ti o jo:
Ipa: Iwọ jẹ oluyẹwo koodu kikọ ẹrọ kan. Iṣẹ-ṣiṣe: Ṣayẹwo ikẹkọ atẹle / koodu pipin idanwo fun jijo data. Ọrọ: Eyi jẹ jara akoko kan (telemetry ọkọ ayọkẹlẹ). inira: Kilo ti o ba ti wa nibẹ ni ID shuffling; Daba ati ṣe idalare pipin nipasẹ akoko. Ijade: Awọn awari + koodu atunṣe + alaye.
Àdàkọ 3 - Ìfọwọ́sí ẹyọ kan:
Ipa: Iwọ jẹ oluyẹwo didara data. Iṣẹ-ṣiṣe: Daba awọn sọwedowo ti o wa aiṣedeede ẹyọkan ni DataFrame kan.Idi: Agbara le jẹ kWh ni diẹ ninu awọn ori ila ati Wh ninu awọn miiran.Ojade: Ṣayẹwo koodu + bi o ṣe le rii ilana ifura naa.
Àdàkọ 4 - Wiwo + asọye:
Ipa: Iwọ jẹ onimọran iworan data. Iṣẹ-ṣiṣe: Kọ koodu ti o ṣe igbero ipa ọna iwọn otutu engine ati oṣuwọn ilosoke. Idiwọn: Aami awọn aake pẹlu ẹyọkan; oju samisi anomaly; maṣe beere aṣiṣe pataki nigba ti o tumọ awọnyaya naa. Ijade: Koodu + kini lati wa ninu awọn aworan.
Ailagbara kiakia / Alagbara kiakia
Ibere ailagbara:
Kọ awoṣe pẹlu data yii.
Ko ṣe afihan iru ibi-afẹde, apakan wo, iru ijerisi; AI le gbejade scrambled, jo, koodu afọju kuro.
Ibere ti o lagbara:
Ipa: Iwọ jẹ olukọni Python ML. Iṣẹ-ṣiṣe: Kọ ṣiṣiṣẹsẹhin ibẹrẹ lati ṣe asọtẹlẹ wiwọ paadi idaduro ati ṣafihan awọn ọfin afọwọsi. Ọrọ: Aago jara telemetry; afojusun: ti o ku paadi sisanra.Constraint: Pipin akoko jara nipa akoko (ko si shuffling); awọn abuda asia ni ewu ti jijo data; iwe sipo;tumọ kọọkan igbese; Kọ awọn sọwedowo wo ni o nilo ṣaaju abajade ti o jade sinu aaye. Ijade: koodu asọye + atokọ ayẹwo.
Awọn aṣiṣe ti o wọpọ
- Ṣiṣe koodu laisi oye rẹ. AI koodu le tun jẹ aṣiṣe; Ka ila nipa ila.
- Dapọ akoko jara. shuffle=Otitọ n jo ojo iwaju ti o si gbe Dimegilio iro jade.
- Fi afọju pa ohun ti o jade kuro. Ifihan agbara gangan (ibẹrẹ aṣiṣe) le jẹ imukuro.
- Ko ṣe akosile ẹrọ naa. Awọn aṣiṣe bii km/h vs m/s, Wh vs kWh dagba ni idakẹjẹ.
- Sisẹ apejuwe ()/ayẹwo igbesẹ. Pupọ awọn aṣiṣe han ni awọn iṣiro akopọ akọkọ.
Ni akojọpọ
- Python (pandas, numpy, matplotlib, scikit-learn) jẹ boṣewa de facto ti itupalẹ data ọkọ ayọkẹlẹ.
- Itupalẹ atunwi: fifuye, ṣayẹwo, mimọ, ẹya, itupalẹ, fọwọsi ati ijabọ.
- O jẹ dandan lati ni oye ati rii daju koodu ti AI ṣe agbejade laini nipasẹ laini; Nitoripe o ṣiṣẹ ko tumọ si pe o tọ.
- Ṣetọju iyatọ ti o kọja / ọjọ iwaju ni jara akoko; Idapo laileto ṣẹda jijo data.
- Iduroṣinṣin ẹyọkan ati itumọ itusilẹ jẹ ipalọlọ ṣugbọn awọn aaye pataki ti ijẹrisi.
Ohun elo iṣẹ-ṣiṣe
Mu eto data kekere kan (gidi tabi telemetry sintetiki). (1) Ni atẹle ilana ilana-igbesẹ mẹfa, ṣe ipilẹṣẹ ikojọpọ ati koodu iṣakoso pẹlu Awoṣe 1 ki o jẹrisi pe o loye laini kọọkan. (2) Wa o kere ju iye ifura kan ninu iṣẹjade apejuwe () ki o ṣe iwadii idi. (3) Ninu iṣẹ-ṣiṣe asọtẹlẹ, akoko ikẹkọ / idanwo pipin ati ṣayẹwo eewu jijo pẹlu Awoṣe 2. (4) Ṣe iwe apakan ti iwe kọọkan ti o lo ninu iwe-itumọ.
akojọ ayẹwo
- [] Mo ṣeto iṣeto naa pẹlu ilana-igbesẹ mẹfa kan.
- [] Mo ka ati loye koodu ti a ṣe nipasẹ laini AI nipasẹ laini.
- [] Mo wa awọn iye ifura pẹlu apejuwe ()/ayẹwo.
- [] Mo ti pin awọn akoko jara nipa akoko (ko si shuffling).
- [] Mo samisi awọn abuda ti o wa ninu ewu jijo data.
- [] Mo ṣe akọsilẹ ẹyọ ti iwe kọọkan ati kọ awọn iyipada ni gbangba.