ඒකකය 9 / 11

පයිතන් සමඟ මෝටර් රථ දත්ත විශ්ලේෂණය: අන්තයේ සිට අවසානය දක්වා

ලාභ:

  • පැන්ඩා සමඟ ටෙලිමෙට්‍රි, පරීක්ෂණ සහ නිෂ්පාදන දත්ත පටවා පිරිසිදු කරන පුනරාවර්තන විශ්ලේෂණ කාර්ය ප්‍රවාහයක් ස්ථාපිත කිරීමේ හැකියාව
  • කෘත්‍රිම බුද්ධියෙන් කේත, ගුණාංග සහ දෘශ්‍යකරණ සහාය ලබා ගන්නා අතරතුර ප්‍රතිදාන රේඛාව පේළියෙන් තේරුම් ගැනීමට සහ සත්‍යාපනය කිරීමට හැකියාව
  • ඒකක අනුකූලතාව, දත්ත කාන්දු වීම සහ ප්‍රතිනිෂ්පාදනය සඳහා විශ්ලේෂණ ප්‍රතිඵල විගණනය කිරීමේ හැකියාව

කලින් ඒකක වල අපි "උපදේශකයෙක්" වගේ කෘතීම බුද්ධිය පාවිච්චි කළා. මෙම ඒකකය තුළ, අපි තවත් පියවරක් ඉදිරියට ගොස්, පයිතන් භාවිතයෙන්, අපගේම දෑතින් මෝටර් රථ දත්ත විශ්ලේෂණය කරන කාර්ය ප්‍රවාහයක් ස්ථාපිත කරමු. ඉලක්කය ඔබව මෘදුකාංග සංවර්ධකයෙකු කිරීම නොවේ; ඒ AI වලින් කේත සහය ලබා ගනිමින් එම කේත පේළියෙන් පේලියට තේරුම් ගෙන සත්‍යාපනය කළ හැකි ඉංජිනේරුවෙකු සෑදීමයි. AI විසින් නිපදවන ලද කේතය මෙන්ම AI විසින් නිපදවන ලද කේතය ද දෝෂ සහිත විය හැකි බැවිනි; පරිමාව ව්‍යාකූල විය හැක, දත්ත කාන්දු වීම, වැරදි තීරුව මැද. එය තේරුම් නොගෙන කේතය ධාවනය කිරීම අත්සන් නොකළ වාර්තාවක් ප්‍රකාශයට පත් කිරීම වැනි ය.

පයිතන් ඇයි? එය දත්ත විශ්ලේෂණයේ තත්‍ය ප්‍රමිතිය වන නිසා: ඔබට පහසුවෙන් ටෙලිමෙට්‍රි, පරීක්ෂණ සහ නිෂ්පාදන දත්ත pandas (වගුව දත්ත), numpy (සංඛ්‍යාත්මක සැකසුම්), matplotlib (plot) සහ scikit-Learn (යන්ත්‍ර ඉගෙනුම්) පුස්තකාල සමඟින් සැකසිය හැක.

ප්රතිනිෂ්පාදනය කළ හැකි විශ්ලේෂණය සඳහා පියවර හයක්

ඝන විශ්ලේෂණයක් සෑම විටම එකම රාමුවක් අනුගමනය කරයි:

  1. පැටවීම: ගොනුවෙන් දත්ත කියවන්න.
  2. පරීක්ෂා කරන්න: මානය, තීරු, දත්ත වර්ග, නැතිවූ අගයන්.
  3. පිරිසිදු: අතුරුදහන්/පිටත, ඒකකය, වේලා මුද්දර නිවැරදි කිරීම.
  4. උපුටා ගැනීමේ විශේෂාංගය: අර්ථවත් විචල්‍ය ව්‍යුත්පන්න කරන්න.
  5. විශ්ලේෂණය/ආකෘතිය: සංඛ්‍යාලේඛන, දෘශ්‍යකරණය හෝ ආකෘතිය.
  6. සත්‍යාපනය කර වාර්තා කරන්න: ප්‍රතිඵල සැපයීම, පරිමාව/කාන්දු පරීක්ෂාව, පටිගත කිරීම.
ඉඟිය: AI වෙතින් කේතයක් ඉල්ලා සිටින විට, "ඔබ සෑම පියවරකදීම කරන්නේ කුමක්ද යන්න අදහස් දක්වන්න සහ ඔබේ උපකල්පන ලියන්න" යැයි පවසන්න. එබැවින් ඔබ එය කියවන විට කේතය සත්‍යාපනය කළ හැක.

පියවරෙන් පියවර උදාහරණය: ටෙලිමෙට්‍රි විශ්ලේෂණය

පහත කේතය CAN/telemetry වාර්තාවක් පූරණය කරන අතර මූලික පරීක්ෂාව සිදු කරයි. (සටහන: ඔබ කේත ධාවනය කිරීමට පෙර ඒවා තේරුම් ගෙන ඇති බවට වග බලා ගන්න; තීරු නම් ඔබේ දත්ත අනුව වෙනස් වේ.)

pd# 1 ලෙස pandas ආනයනය කරන්න: අර්ධ-තිත් සහිත CSV, පළමු තීරුවේ timestampdf = pd.read_csv("telemetry.csv", parse_dates=["time"])# 2) Checkprint(df.shape) # පේළි කීයක්, තීරු මුද්‍රණ වර්ගයක් (df) තීරු ගණන කොපමණද (df. df. පෙළ)මුද්‍රණය(df.isna().sum()) # තීරු මුද්‍රණයකට නැතිවූ අගයන් ගණන(df.describe()) # සාරාංශ සංඛ්‍යාලේඛන: අවම, උපරිම, සාමාන්‍යය

විස්තර() ප්‍රතිදානය සත්‍යාපනය කිරීමට ඔබට ඇති පළමු අවස්ථාවයි: එන්ජිමේ වේගය උපරිම අගය 45,000 rpm (සාමාන්‍ය මගී එන්ජිම ~7,000 rpm) නම්, ඒකකයක් හෝ සංවේදක දෝෂයක් ඇත.

විගණන පියවරේදී බහුලව භාවිතා වන pandas විධාන සහ ඔවුන් කරන දේ:

විධානය

මොනවද කරන්නේ

එය තහවුරු කරන්නේ කුමක්ද?

df.හැඩය

පේළි/තීරු ගණන

එය අපේක්ෂිත ප්රමාණයද?

df.dtypes

තීරු වර්ග

අංක තීරුව පෙළ බවට පත් වී තිබේද?

df.isna().sum()

අස්ථානගත වූ අගය ගණන්

කොපමණ ඉඩක් තිබේද?

df.විස්තර කරන්න()

අවම/උපරිම/සාමාන්‍යය

එය භෞතික වශයෙන් සාධාරණද?

df.duplicated().sum()

අනුපිටපත් පේළිය

ද්විත්ව ලියාපදිංචියක් තිබේද?

# 3) පැහැදිලි: භෞතිකව කළ නොහැකි අගයන් සලකුණු කරන්න

අවවාදයයි: පිටස්තරය වහාම මකා නොදමන්න; එය පිටස්තර වන්නේ මන්දැයි මුලින්ම තේරුම් ගන්න. එය සැබෑ සිදුවීමක් (හදිසි උනුසුම් වීම) හෝ සංවේදක අසමත් වීමද? අන්ධ ලෙස මකා දැමීමෙන් සැබෑ වරද සැඟවිය හැක.

# 4) උපුටා ගැනීමේ විශේෂාංගය: උෂ්ණත්වය ඉහළ යාමේ අනුපාතය (ව්‍යුත්පන්න)df = df.sort_values("time")df["sic_increase_speed"] = df["motor_sic"].diff() / df["time"].diff().dt.total_seconds () # 50bt visualization. pltplt.plot(df["time"], df["motor_sic"])plt.xlabel("කාලය"); plt.ylabel("එන්ජින් උෂ්ණත්වය (C)")plt.title("එන්ජින් උෂ්ණත්ව පාඨමාලාව")plt.show()

Python හි දත්ත කාන්දු වීම වැළැක්වීම

පුරෝකථන ආකෘතියක් තැනීමේදී වඩාත්ම භයානක වැරැද්ද වන්නේ දත්ත කාන්දු වීම (ඒකකය 5): ආකෘතිය අනාවැකි කරන අවස්ථාවේ දී දැනගත නොහැකි තොරතුරු දකින විට. කාල ශ්‍රේණියේ මෙය වළක්වා ගැනීම සඳහා ස්වර්ණමය රීතිය: අතීතය සමඟ පුහුණු වන්න, අනාගතය සමඟ පරීක්ෂා කරන්න - අහඹු ලෙස මාරු කිරීම නැත.

sklearn.model_selection import train_test_split# FALSE: අහඹු ලෙස කාල ශ්‍රේණිය බෙදීම අනාගතය කාන්දු කරයි# df[df["time"] > threshold] # පසුගිය 20% අනාගතය

අවවාදයයි: train_test_split පෙරනිමියෙන් දත්ත මාරු කරයි (shuffle=True). කාල ශ්‍රේණියේ දී, මෙය අධ්‍යාපනය සමඟ අනාගතය ව්‍යාකූල කර ව්‍යාජ ඉහළ ලකුණු නිපදවයි. AI එය නිපදවන කේතයේ මෙය කර ඇත්නම්, එය නිවැරදි කිරීමට වග බලා ගන්න.

ඒකක අනුකූලතාව: නිහඬ ඝාතකයා

මෝටර් රථයේ වඩාත්ම ද්‍රෝහී දෝෂ වන්නේ ඒකක දෝෂ වේ: km/h සිට m/s, Nm සිට lb-ft, bar සිට kPa, °C සිට K. විශ්ලේෂණයේ එක් එක් තීරුවේ ඒකකය කුමක්ද යන්න පිළිබඳ ශබ්ද කෝෂයක් තබා ගැනීම සහ පරිවර්තන පැහැදිලිව ලිවීම ජීවිත බේරා ගනී.

# ඒකක පැහැදිලිව ලේඛනගත කරන්න = {"speed": "km/h", "motor_sic": "C", "pressure": "bar"}# අවශ්‍ය නම් පැහැදිලි පරිවර්තනය (km/h -> m/s)df["speed_ms"] = df["speed"] / 3.6

කුඩා සිද්ධි අධ්‍යයන

නඩුව 1 - විස්තරය () සමඟ දෝෂයක් හසු විය. විශ්ලේෂකයෙක් AI වෙතින් කේතය ධාවනය කර පරාසයක ඇස්තමේන්තුවක් කරයි; ප්රතිඵලය විකාර සහගත ලෙස ඉහළ ය. අපි විස්තර කරන () ප්‍රතිදානය දෙස බලන විට, බැටරි ධාරිතාව සමහර රේඛාවල Wh සහ අනෙක් ඒවා kWh (1000 ගුණයක වෙනසක්) ඇතුළත් කර ඇති බව අපට පෙනේ. ඒකකය ඒකාකාර වර්ගයකට ගෙන එන විට, ප්රතිඵලය වැඩි දියුණු වේ. නිගමනය: සරල සාරාංශ සංඛ්යා ලේඛනයක් නරක අනාවැකියක් වළක්වා ඇත.

නඩුව 2 - ව්යාකූල උගුල. සීමාවාසිකයෙකුගේ තිරිංග පැළඳීමේ ආකෘතිය පරීක්ෂණ කට්ටලයේ 98% නිවැරදි විය. කේතය පරීක්‍ෂා කරන විට, train_test_split(shuffle=True) සහ කාල ශ්‍රේණිය මිශ්‍ර වී ඇති බව පෙනේ, එනම් අනාගත ලකුණු පුහුණුවට කාන්දු වන බවයි. කාලයෙන් බෙදූ විට, නිරවද්‍යතාවය 80% දක්වා පහත වැටේ, නමුත් එය දැන් යථාර්ථවාදී ය. නිගමනය: AI කේතය ක්‍රියාත්මක වූ පමණින් එය නිවැරදි නොවේ; මිනිසා කාන්දුව අල්ලා ගත්තේය.

3 වන අවස්ථාව - පිටස්තරයා තේරුම් ගැනීම. කල් පවතින වාර්තාවක, AI කේතය ස්වයංක්‍රීයව බාහිර වික්‍රියා අගයන් මකා දමයි. ඉංජිනේරුවරයා මකා දැමූ ලකුණු දෙස බලයි; පරීක්ෂණය උනන්දු වූ ඉරිතැලීම් ආරම්භයේ හරියටම මේ අවස්ථා විය. මකාදැමීම ඉවත් කර උල්ලංඝනය කිරීම් වෙනම සමාලෝචනයකට ගනු ලැබේ. ප්රතිඵලය: "පිරිසිදු කිරීම" යටතේ සැබෑ සංඥාව මකා දැමිය හැක; සෑම පියවරකදීම ප්රශ්න කරන්න.

ඉක්මන් සැකිලි

සැකිල්ල 1 - ඉල්ලීම් කේතය (පැහැදිලි කිරීම සමඟ):

භූමිකාව: ඔබ පයිතන් දත්ත විශ්ලේෂක උපදේශකයෙකි.කාර්යය: CSV පූරණය වන සහ පරීක්ෂා කරන කේතයක් ලියන්න කුමන චෙක්පතක් සිදු කළේද සහ ඇයි දැයි පැහැදිලි කරන්න; භෞතිකව කළ නොහැකි අගය පරීක්ෂාව එක් කරන්න; කිසිවක් නිශ්ශබ්දව මකා දැමීම. ප්‍රතිදානය: අදහස් දැක්වූ කේතය + මා බැලිය යුත්තේ කුමන ප්‍රතිදානයද සහ ඇයි.

සැකිල්ල 2 - කාන්දු පරීක්ෂාව:

භූමිකාව: ඔබ යන්ත්‍ර ඉගෙනුම් කේත සමාලෝචකයෙකි. කාර්යය: දත්ත කාන්දුවීම් සඳහා පහත පුහුණු/පරීක්ෂණ බෙදීම් කේතය පරීක්ෂා කරන්න. සන්දර්භය: මෙය කාල ශ්‍රේණියකි (වාහන දුරමිතිය). බාධාව: අහඹු ලෙස මාරුවීමක් තිබේ නම් අනතුරු අඟවන්න; කාලය අනුව බෙදීම යෝජනා කර සාධාරණීකරණය කරන්න. ප්‍රතිදානය: සොයාගැනීම් + නිවැරදි කළ කේතය + පැහැදිලි කිරීම.

සැකිල්ල 3 - ඒකක වලංගුකරණය:

භූමිකාව: ඔබ දත්ත තත්ත්ව විගණකයෙකි. කාර්යය: DataFrame එකක ඒකක අනනුකූලතාව සොයා බලන චෙක්පත් යෝජනා කරන්න. සන්දර්භය: සමහර පේළිවල ධාරිතාව kWh විය හැකි අතර අනෙක් ඒවාවල Wh විය හැක. ප්‍රතිදානය: කේතය පරීක්ෂා කරන්න + සැක සහිත රටාව සොයා ගන්නේ කෙසේද.

සැකිල්ල 4 - දෘශ්‍යකරණය + අදහස:

භූමිකාව: ඔබ දත්ත දෘශ්‍යකරණ විශේෂඥයෙක්. කාර්යය: එන්ජිමේ උෂ්ණත්ව පාඨමාලාව සහ වැඩි වීමේ වේගය සැලසුම් කරන කේතය ලියන්න. සීමා කිරීම: ඒකකය සමඟ අක්ෂය ලේබල් කරන්න; දෘශ්යමය වශයෙන් විෂමතාව සලකුණු කරන්න; ප්‍රස්ථාරය අර්ථකථනය කිරීමේදී නිශ්චිත වරදක් නොකියන්න. ප්‍රතිදානය: කේතය + ප්‍රස්ථාරයේ සෙවිය යුතු දේ.

දුර්වල ක්ෂණික / ශක්තිමත් විමසුම

දුර්වල ක්ෂණික:

මෙම දත්ත සමඟ ආකෘතියක් සාදන්න.

කුමන ඉලක්කය, කුමන මැදිරිය, කුමන සත්යාපනයද යන්න පැහැදිලි නැත; AI හට තැළුණු, කාන්දු වන, ඒකක අන්ධ කේතය ප්‍රතිදානය කළ හැක.

බලවත් විමසුම:

භූමිකාව: ඔබ Python ML උපදේශකයෙක්. කාර්යය: තිරිංග පෑඩ් පැළඳීම පුරෝකථනය කිරීමට සහ වලංගු කිරීමේ අන්තරායන් නිරූපණය කිරීමට ආරම්භක කාර්ය ප්‍රවාහයක් ලියන්න. සන්දර්භය: කාල ශ්‍රේණි ටෙලිමිතිය; ඉලක්කය: ඉතිරි පෑඩ් ඝණකම. සීමා කිරීම: කාලය අනුව කාල ශ්‍රේණිය බෙදීම (මාරු දැමීමක් නැත); දත්ත කාන්දු වීමේ අවදානමක් ඇති සලකුණු ගුණාංග; ලේඛන ඒකක;එක් එක් පියවර අර්ථකථනය කරන්න; ප්‍රතිඵලය ක්ෂේත්‍රයට යාමට පෙර අවශ්‍ය චෙක්පත් මොනවාදැයි ලියන්න. ප්‍රතිදානය: අදහස් දැක්වූ කේතය + සත්‍යාපන පිරික්සුම් ලැයිස්තුව.

පොදු වැරදි

  • එය තේරුම් නොගෙන කේතය ධාවනය කිරීම. AI කේතය ද දෝෂ සහිත විය හැක; පේලියට පේලියට කියවන්න.
  • කාල මාලාව මිශ්ර කිරීම. shuffle=සත්‍යය අනාගතය කාන්දු කර ව්‍යාජ ලකුණු නිපදවයි.
  • අන්ධ ලෙස පිටස්තරය මකන්න. සැබෑ සංඥාව (දෝෂ ආරම්භය) ඉවත් කළ හැකිය.
  • ඒකකය ලේඛනගත නොකිරීම. km/h vs m/s, Wh vs kWh වැනි දෝෂ නිහඬව වර්ධනය වේ.
  • විස්තරය ()/පරීක්ෂා කිරීමේ පියවර මඟ හැරීම. පළමු සාරාංශ සංඛ්‍යාලේඛනවල බොහෝ දෝෂ දක්නට ලැබේ.

සාරාංශයක් ලෙස

  • Python (pandas, numpy, matplotlib, scikit-learn) යනු මෝටර් රථ දත්ත විශ්ලේෂණයේ තථ්‍ය ප්‍රමිතියයි.
  • පුනරාවර්තනය කළ හැකි විශ්ලේෂණය: පැටවීම, පරීක්ෂා කිරීම, පිරිසිදු කිරීම, විශේෂාංගය, විශ්ලේෂණය, වලංගු කිරීම සහ වාර්තා කිරීම.
  • AI විසින් පේළියෙන් පේළිය නිපදවන කේතය තේරුම් ගැනීම සහ සත්‍යාපනය කිරීම අත්‍යවශ්‍ය වේ; එය ක්‍රියාත්මක වූ පමණින් එය නිවැරදි යැයි අදහස් නොවේ.
  • කාල ශ්‍රේණියේ අතීත/අනාගත වෙනස පවත්වා ගැනීම; අහඹු ලෙස මාරු කිරීම දත්ත කාන්දුවක් ඇති කරයි.
  • ඒකක අනුකූලතාව සහ බාහිර අර්ථ නිරූපණය නිහඬ නමුත් සත්‍යාපනයේ තීරණාත්මක කරුණු වේ.

යෙදුම් කාර්යය

කුඩා දත්ත කට්ටලයක් (සැබෑ හෝ සින්තටික් ටෙලිමෙට්‍රි) ගන්න. (1) හය-පියවර රාමුව අනුගමනය කරමින්, සැකිල්ල 1 සමඟ පැටවීමේ සහ පාලන කේතය ජනනය කර ඔබ එක් එක් පේළිය තේරුම් ගෙන ඇති බව තහවුරු කරන්න. (2) විස්තර () ප්‍රතිදානයේ අවම වශයෙන් එක් සැක සහිත අගයක් සොයා ගෙන ඒ මන්දැයි විමර්ශනය කරන්න. (3) පුරෝකථන කාර්යයකදී, පුහුණුව/පරීක්‍ෂණය බෙදීමේ වේලාව සහ අච්චු 2 සමඟ කාන්දු වීමේ අවදානම පරීක්ෂා කරන්න. (4) ඔබ ශබ්දකෝෂයක භාවිතා කරන එක් එක් තීරුවේ ඒකකය ලේඛනගත කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] මම පියවර හයක රාමුවක් සමඟ විශ්ලේෂණය සකස් කළෙමි.
  • [ ] මම AI විසින් නිෂ්පාදනය කරන ලද කේතය පේළියෙන් පේළිය කියවා තේරුම් ගතිමි.
  • [ ] මම විස්තර ()/විගණනය සමඟ සැක සහිත අගයන් සෙව්වෙමි.
  • [ ] මම කාල ශ්‍රේණිය කාලය අනුව බෙදුවෙමි (මිහිල් කිරීමකින් තොරව).
  • [ ] මම දත්ත කාන්දු වීමේ අවදානමක් ඇති ගුණාංග සලකුණු කළෙමි.
  • [ ] මම එක් එක් තීරුවේ ඒකකය ලේඛනගත කර පරිවර්තන පැහැදිලිව ලිව්වෙමි.