ክፍሎች
1. በመረጃ ሳይንስ እና ትንታኔ ውስጥ ወደ አርቲፊሻል ኢንተለጀንስ መግቢያ፡ የስራ ፍሰት፣ ሚናዎች፣ ወሰኖች፣ ማረጋገጫ እና ስነምግባር 2. የመረጃ አሰባሰብ እና የምንጭ ግንዛቤ፡- እቅድ፣ ናሙና፣ ጥራት እና የልቅሶ ግንዛቤ 3. የውሂብ ማጽዳት እና ቅድመ ማቀናበር፡ የጠፋ እሴት፣ ውጫዊ እና አይነት ልወጣ 4. ኤክስፕሎራቶሪ ውሂብ ትንተና (EDA)፡ ስርጭቶች፣ ግንኙነቶች እና የመጀመሪያ ግንዛቤዎች 5. የባህሪ ምህንድስና፡ ተለዋጮችን ማመንጨት፣ ኮድ መስጠት፣ ማመጣጠን እና መፍሰስን ማስወገድ 6. የሞዴል ግንባታ፡ የችግር ፍቺ፣ የአልጎሪዝም ምርጫ እና የስልጠና/የሙከራ ክፍፍል 7. የሞዴል ግምገማ፡ ሜትሪክስ፣ ተሻጋሪ ማረጋገጫ እና ከፍተኛ ትምህርት 8. የእይታ እና የታሪክ አተገባበር፡ ትክክለኛ ግራፊክስ፣ ሐቀኛ ግራፊክስ 9. ኮድ ማመንጨት፡- AI-የታገዘ ትንተና ከፓይዘን (ፓንዳስ) እና ከኤስኪኤል ጋር 10. የውሂብ መፍሰስ እና መራባት፡ ጸጥ ያሉ አደጋዎች እና ተግሣጽ 11. MLOps ፋውንዴሽን፣ ስነምግባር፣ ግላዊነት እና ኃላፊነት የሚሰማው ትንታኔ
ክፍል 9 / 11

ኮድ ማመንጨት፡- AI-የታገዘ ትንተና ከፓይዘን (ፓንዳስ) እና ከኤስኪኤል ጋር

ትርፍ፡

  • ለአርቴፊሻል ኢንተለጀንስ ግልጽ እቅድ እና አላማ በመስጠት ጠንካራ SQL እና pandas ኮድ ወስዶ በመስመር ማንበብ እና ማረጋገጥ መቻል
  • እንደ የረድፍ ቆጠራ፣ የመገጣጠም ተግባር እና ከውህደት/ተቀላቀሉ በኋላ የጸጥታ ስህተቶችን የመያዝ ችሎታ
  • ችግሩን ዝም ሳይለው በማረም ውስጥ የመፍታት ችሎታ እና በምርት አካባቢ ውስጥ ሳይሞከር ኮዱን ከማሄድ ይቆጠቡ

ዳታ ሳይንስ ሁለት ዋና ቋንቋዎች አሉት፡ SQL (የተዋቀረ የመጠይቅ ቋንቋ - ከመረጃ ቋቶች መረጃን ለመጠየቅ ቋንቋ) እና Python (በተለይ የፓንዳስ ቤተ-መጽሐፍት - ሰንጠረዦችን በፕሮግራም ለመጠቀም የሚያስችል መደበኛ መሣሪያ)። በዚህ ክፍል AIን እንደ ኮድ አጋር መጠቀምን እንማራለን፡ ጠንካራ SQL እና የፓንዳስ ኮድ ከትክክለኛዎቹ ጥያቄዎች ማግኘት፣ ያንን ኮድ ማንበብ እና ማረጋገጥ፣ ማረም እና በጭፍን ማስኬድ አይቻልም። AI በደቂቃዎች ምትክ ተደጋጋሚ ኮድ ይጽፋል; ነገር ግን የሚያወጣው ኮድ ትክክለኛውን አምድ ከትክክለኛ አመክንዮ ጋር ማስኬዱን ማረጋገጥ የእርስዎ ስራ ነው። የስራ ኮድ ማለት ትክክለኛ ኮድ ማለት አይደለም።

ለምን ከ AI ጋር ኮድ ማውጣት ኃይለኛ ቢሆንም አደገኛ ነው።

AI በኮድ ማመንጨት ሶስት ትልልቅ ጥቅሞችን ይሰጣል፡ ፍጥነት (የ 30-መስመር ግሩፕ-ፒቮት አሰራርን በሰከንዶች ውስጥ ይጽፋል)፣ አስታዋሽ (የረሳችሁትን የፓንዳስ ተግባር ያስታውሰዎታል) እና ማስተማር (የኮዱን መስመር በመስመር ያብራራል። ነገር ግን ሶስት አደጋዎች አሉት፡ የዝምታ አመክንዮ ስህተት (የተሳሳተ አምድ ያለ ስህተት ይሰራል ኮድ)፣ የተገጠመ ተግባር (የሌለውን ዘዴ ይጠቁማል) እና ምርት ወጥመድ (በትንሽ ዳታ የሚሰራ ነገር ግን በ10 ሚሊዮን ረድፎች ላይ የሚበላሽ ኮድ)። ስለዚህ ወርቃማው ህግ፡ የ AI ኮድ ራስህ እንደፃፍከው አንብብ። ያልገባህውን መስመር አታሂድ።

SQL: መረጃን ከምንጩ ያካሂዳል

SQL ውሂብን ከመረጃ ቋቱ ለማውጣት እና እዚያ ለማስኬድ ይፈቅድልዎታል; ወደ ፓይዘን ሳይጎትቷቸው በሚሊዮኖች የሚቆጠሩ መስመሮችን ማጠቃለል ትችላለህ። መሰረታዊ የግንባታ ብሎኮች፡ ምረጥ (የትኞቹን ዓምዶች)፣ የት (የትኞቹ ረድፎች)፣ በቡድን (ቡድን እና ማጠቃለያ)፣ ተቀላቀል (ሠንጠረዦችን መቀላቀል)፣ መኖር (ከቡድን በኋላ ማጣሪያ)። AI ውስብስብ JOINs እና የመስኮት ተግባራትን በመጻፍ ረገድ በጣም አጋዥ ነው፣ ነገር ግን ሁለት ነገሮችን መፈተሽ እርግጠኛ ይሁኑ፡ JOIN በትክክለኛው ቁልፍ ነው (የተሳሳተ ቁልፍ ረድፎችን ያባዛል) እና የማጣሪያው አመክንዮ ትክክል ነው (በተለይ NULL ባህሪ እና የቀን ክልሎች)።

ማስጠንቀቂያ፡- በአይ-የተፈጠረ የSQL መጠይቅ በቀጥታ በምርት ዳታቤዙ ላይ አያሂዱ። በመጀመሪያ በትንሽ ቅጂ ወይም LIMIT ይሞክሩ። የ WHERE ሁኔታን ሳያረጋግጡ የዝማኔ/ሰርዝ ጥያቄን በጭራሽ አያሂዱ። የተሳሳተ WHERE ሙሉውን ጠረጴዛ ሊሰርዝ ይችላል።

ፓይዘን/ፓንዳስ፡ ተለዋዋጭ ትንተና

ፓንዳስ በፓይዘን ውስጥ ሰንጠረዦችን (DataFrame) ለመቆጣጠር መደበኛው መንገድ ነው። የ AI በጣም ቀልጣፋ አጠቃቀም ግልጽ የሆነ እቅድ እና ዓላማ መስጠት ነው. በብዛት ጥቅም ላይ የዋሉ ክዋኔዎች፡ ማጣሪያ፣ ቡድንባይ፣ ውህደት፣ ፒቮት_ጠረጴዛ፣ ተግብር። AI እነዚህን በፍጥነት ይጽፋል; ለመፈተሽ የሚፈልጉት አመክንዮ ነው: በትክክለኛው አምድ ውስጥ መቧደን ነው, ውህደቱ በድንገት የረድፎችን ቁጥር ቀይሯል (ሁልጊዜ ከተዋሃዱ በኋላ የረድፎችን ብዛት ያረጋግጡ), የሰንሰለት ስራዎች ዋናውን ይለውጣሉ.

ግብይት

SQL

ፓንዳስ

የፍተሻ ነጥብ

ማጣራት

የት

df[df.x > 5]

NULL/NaN ባህሪ

መቧደን

ቡድን በ

df.ቡድን()

ትክክለኛው አምድ ነው?

ውህደት

ይቀላቀሉ

ዲ.ኤፍ. ውህደት()

የረድፍ ቆጠራ ለውጥ

ማጠቃለያ

AVG()፣ SUM()

.አማካኝ()፣ .ድምር()

የትኛው አምድ ተሰብስቧል

ደርድር በ

ትእዛዝ በ

.እሴቶች() ደርድር

አቅጣጫ (መወጣጫ/መውረድ)

መቀነስ

DISTINCT

.የተባዙ()

በየትኞቹ አምዶች?

ማረም፡ ከ AI ጋር

ኮድ ሲወድቅ AI በጣም ጥሩ የማረሚያ አጋር ነው። ሙሉውን የስህተት መልእክት እና የሚመለከተውን የኮድ ቅንጣቢ ይስጡት። ግን ከሁለት ወጥመዶች ይጠንቀቁ። በመጀመሪያ, AI ስህተቱን "ዝምታ" የሚያደርግ መፍትሄ ሊጠቁም ይችላል (ለምሳሌ, ማንቂያዎችን መደበቅ) - ይህ ስህተቱን አያስተካክለውም, ይደብቀዋል. ሁለተኛ፣ AI አንዳንድ ጊዜ ችግርን "በመፍታት" ሌላ ባህሪን በጸጥታ ይለውጣል። ደንብ፡ መጠገኛውን ተረዱ፣ ድምጸ-ከል እንዳያደርጉ ይፍቱ እና ከጥገናው በኋላ ውጤቱ አሁንም ትክክል መሆኑን ያረጋግጡ።

ሊተረጎም የሚችል እና ሊቆይ የሚችል ኮድ ይፈልጋሉ

ኮድ ከ AI ሲገዙ "የሚሰራ" ኮድ ብቻ ሳይሆን ሊነበብ እና ሊጠበቅ የሚችል ኮድ ይጠይቁ. እርስዎ ወይም የስራ ባልደረባዎ ከወራት በኋላ ያንን ኮድ ሲከፍቱት ምን እንደሚሰራ መረዳት መቻል አለበት። ይህንን ለማድረግ AI ሦስት ነገሮችን እንዲያካትት ልምዱ፡- ትርጉም ያላቸው ተለዋዋጭ ስሞች (ትእዛዞች_temiz ሳይሆን df2)፣ በወሳኝ ደረጃዎች ላይ አጭር የአስተያየት መስመሮች (ለምን ምን እየተሰራ እንደሆነ ሳይሆን ለምን እንደሆነ በማብራራት) እና በአስማት ቁጥር ምትክ የተሰየመ ቋሚ (ACCEPT_ESIGI = 0.85 ከ 0.85 ይልቅ በኮዱ ውስጥ ተቀበረ)። እንዲሁም ረጅም ነጠላ መስመር ሰንሰለቶችን ያስወግዱ (አምስት ድርጊቶችን በአንድ መስመር ማገናኘት); እነዚህ ማረም አስቸጋሪ ያደርጉታል። በነባሪ, AI ብዙውን ጊዜ አጭር እና "ብልጥ" ኮድ ያወጣል; በግልጽ "የሚነበብ፣ የሚተረጎም፣ የሚጠበቅ ጻፍ" የምትል ከሆነ የበለጠ ሊቆይ የሚችል ውጤት ታገኛለህ። ይህ ደግሞ የመድገም መሰረት ነው (ክፍል 10)፡ ያልተረዳው ኮድ በደህና እንደገና ሊሰራ የማይችል ኮድ ነው።

ሶስት ጥቃቅን ጉዳዮች

ጉዳይ 1 - ማባዛትን ይቀላቀሉ። አንድ ተንታኝ ትእዛዞቹን ከምርቱ ሠንጠረዥ ጋር በማጣመር አጠቃላይ ሽግሽግ በ3 እጥፍ ከፍ ያለ ሆኖ አግኝቶታል። ምክንያት: እያንዳንዱ ምርት በምርት ሠንጠረዥ ውስጥ ብዙ ረድፎች (የተለያዩ ቀለሞች) ነበሩት; JOIN እያንዳንዱን ትዕዛዝ ተባዝቷል። የ AI ኮድ "ይሰራ ነበር" ነገር ግን የመስመሮች ቁጥር ከ 240 ሺህ ወደ 690 ሺህ ዘለለ. ትምህርት፡ ሁልጊዜ ከተዋሃዱ/ተቀላቀሉ በኋላ የመስመሮችን ብዛት ያረጋግጡ።

ጉዳይ 2 - የመገጣጠም ተግባር. እሱ AI df.groupby ('x') . ማጠቃለያ () አንድ intern ጠቁሟል; በፓንዳዎች ውስጥ እንደዚህ አይነት ዘዴ የለም (.agg () አለ). ኮዱ አልሰራም፣ ተለማማጁ ለ20 ደቂቃ ጠፋ። ትምህርት፡ ከዶክመንቱ የማታውቁትን ተግባር ያረጋግጡ። AI ዘዴዎችን ማዘጋጀት ይችላል.

ጉዳይ 3 - የምርት ውድቀት. አንድ ኮድ ለእያንዳንዱ ረድፍ ተግብር ውስጥ ያለውን የውሂብ ጎታ በመጠየቅ ነበር; በ 5,000 መስመሮች ሮጦ በ 4 ሚሊዮን መስመሮች ላይ 9 ሰአታት ወስዶ ቆመ. AI የቬክተር (ባች) መፍትሄ ሲጠቁም ጊዜው ወደ 40 ሰከንድ ተቀንሷል. ትምህርት: በትንሽ ዳታ ላይ የሚሰራ ኮድ በትልቁ ውሂብ ላይ ሊበላሽ ይችላል; ቅልጥፍናን ግምት ውስጥ ያስገቡ.

አራት ሊገለበጡ የሚችሉ አብነቶች

1) SQLን ከእቅድ ጋር በመጠየቅ፡-

የእርስዎ ሚና፡ SQL ረዳት (PostgreSQL)። ሰንጠረዦች፡- ትዕዛዞች(መታወቂያ፣የደንበኛ_መታወቂያ፣የቀን የሰአት ማህተም፣የቁጥር ብዛት) - ደንበኞች(መታወቂያ፣ የከተማ ፅሁፍ) ተግባር፡ በ 2024 የአንድ ከተማ አጠቃላይ ማዞሪያ እና የትዕዛዝ ብዛት ያግኙ፣ በቅደም ተከተል በቅደም ተከተል የተደረደሩ። NULL ከተማዎችን እንዴት እንደሚይዙ ያብራሩ። በመጀመሪያ ጥያቄውን በ LIMIT እሞክራለሁ; ማዘመን/ማመንጨት ሰርዝ።

2) የፓንዳዎች ሂደት ከመቆጣጠሪያ ነጥብ ጋር;

እኔ DataFrames df (ትዕዛዝ) እና df_customers (ደንበኞች) አለኝ። አማካይ መጠን በከተማ አስላ። አስፈላጊ፡ ከውህደቱ በፊት እና በኋላ የረድፎችን ብዛት ያትሙ ስለዚህ ብዜት ካለ ለማየት እችላለሁ። በየትኛው አምድ ውስጥ እንደተዋሃዱ እና ለምን ውስጣዊ/ግራን እንደመረጡ ያብራሩ።

3) የኮድ ማብራሪያ እና ማረጋገጫ;

የሚከተለውን የፓንዳስ ኮድ መስመር በመስመር ያብራሩ፡ እያንዳንዱ መስመር ምን ያደርጋል፣ ምን ግምቶችን ያደርጋል፣ በምን ጉዳዮች ላይ የተሳሳተ ውጤት ሊሰጥ ይችላል? የፉጅ ተግባርን ከተጠቀምኩ አሳውቀኝ። ኮድ: [ለጥፍ]

4) ማረም;

ይህ ኮድ ይህን ስህተት ይሰጣል. ሙሉ የስህተት መልእክት፡ [ለጥፍ]። ኮድ፡ [ለጥፍ]። የስህተቱን ROOT መንስኤ ያብራሩ እና ያስተካክሉት። ማንቂያውን ጸጥ በማድረግ ሳይሆን ችግሩን በመፍታት ያስተካክሉት። እንዲሁም ማስተካከያው ውጤቱን እንደለወጠው ያመልክቱ።

ደካማ ጥያቄ / ጠንካራ ጥያቄ

ደካማ ጥያቄ፡

በየከተማው ሽያጭ የሚሰጠኝን ጥያቄ ፃፉልኝ።

የሰንጠረዥ ስሞች፣ አምዶች፣ የውሂብ ጎታ አይነት፣ NULL ባህሪ ግልጽ አይደሉም። AI የተለመደ ነው፣ ምናልባት ከጠረጴዛዎ ጋር የማይጣጣም መጠይቅ ያዘጋጃል።

ኃይለኛ ጥያቄ፡-

የእርስዎ ሚና፡ SQL ረዳት (MySQL 8)። ሠንጠረዥ፡ ሽያጭ(መታወቂያ፣ የከተማ ቫርቻር፣ የአስርዮሽ መጠን፣ የቀን ቀን)። ተግባር፡ አጠቃላይ እና አማካኝ መጠን፣ ለ2024 የአንድ ከተማ የትዕዛዝ ብዛት ያግኙ። በጠቅላላው መጠን እየቀነሰ ደርድር; ከ100 በላይ ትእዛዝ ያላቸው ከተሞችን ብቻ አሳይ (HAVING)። ከተማን አያካትትም። ጥያቄውን ያብራሩ; በ LIMIT እሞክራለሁ።

እዚህ ዳታቤዝ፣ ሼማ፣ ማጣሪያ፣ መደርደር እና NULL ህግ ግልጽ ናቸው።

የተለመዱ ስህተቶች

  • ኮዱን ሳያነቡ ማስኬድ። የስራ ኮድ ትክክለኛ ኮድ አይደለም; የተሳሳተውን አምድ የሚቆጣጠረው ኮድም ያለ ስህተቶች ይሰራል።
  • ከተዋሃዱ/ተቀላቀሉ በኋላ የረድፎችን ብዛት አለመፈተሽ። የተሳሳተው ቁልፍ በጸጥታ ረድፎችን ያባዛል እና ድምርን ያበዛል።
  • የመገጣጠም ተግባሩን አለማረጋገጥ። AI የሌሉ ዘዴዎችን ሊጠቁም ይችላል; እንደማታውቁት ከሰነዱ ያረጋግጡ።
  • ስለ ቅልጥፍና አለማሰብ። በሚሊዮኖች በሚቆጠሩ ረድፎች ላይ በትንሽ የውሂብ ብልሽቶች ላይ በመስራት ላይ ይተግብሩ/loop; ቬክተር ማድረግ.
  • በምርት ዳታቤዝ ላይ በቀጥታ ያሂዱ። በተለይም UPDATE/Delete ን ያለ WHERE ወይም ሙከራ ማሄድ አስከፊ ነው።
ጠቃሚ ምክር፡ ከ AI በሚቀበሉት እያንዳንዱ ኮድ ላይ "የማረጋገጫ መስመር" የመጨመር ልማድ ይኑርዎት፡ የቅድመ እና ድህረ-ሂደት የመስመሮች ብዛት፣ ጥቂት የናሙና መስመሮች እና ወሳኝ ድምር በእጅ። እነዚህ ሶስት ቼኮች በጣም ጸጥ ያሉ የሎጂክ ስህተቶችን ይይዛሉ።

በማጠቃለያው

AI በፍጥነት SQL እና pandas ኮድን የሚያመርት ኃይለኛ አጋር ነው, ግን ዓይነ ስውር ባለስልጣን አይደለም. እቅዱን እና አላማውን በግልፅ ስጠው; እርስዎ እራስዎ እንደጻፉት የሚያወጣውን ኮድ ያንብቡ; ከተዋሃዱ/ተቀላቀሉ በኋላ የረድፎችን ብዛት፣ የተገጣጠሙ ተግባራትን እና ግስጋሴውን ያረጋግጡ። በምርት ዳታቤዝ ላይ ሳይሞክሩት አያሂዱት። በማረም ጊዜ፣ ችግሩን ለመፍታት ዓላማ ያድርጉ እንጂ ዝም አያሰኘውም። የሚሰራው ኮድ ትክክለኛ ኮድ አይደለም; እርስዎ ብቻ ትክክለኛነትን ማረጋገጥ ይችላሉ።

የመተግበሪያ ተግባር

የትንታኔ ጥያቄን ምረጥ (ለምሳሌ፡- “ወርሃዊ ሽግግር በአንድ ሰርጥ”) እና ከ AI ከSQL እና ፓንዳዎች ጋር ኮድ ጠይቅ። ሁለቱንም ኮድ መስመር በመስመር ያንብቡ፣ ከተዋሃዱ/ተቀላቀሉ በኋላ የመስመሮችን ብዛት ያረጋግጡ እና ቢያንስ አንድ ወሳኝ ድምርን በእጅ ያረጋግጡ። ሁለቱ ኮዶች ተመሳሳይ ውጤት ያስገኙ እንደሆነ ያወዳድሩ; የተለየ ከሆነ, ለምን እንደሆነ ይወቁ.

የማረጋገጫ ዝርዝር

  • [ ] ሰንጠረዡን/ዕቅዱን እና ዓላማውን ለኤአይኤ በግልፅ ሰጥቻለሁ?
  • [ ] በመስመር ያዘጋጀውን ኮድ አንብቤ ተረዳሁት?
  • [ ] ከተዋሃዱ/ ከተቀላቀሉ በኋላ የመስመሮችን ብዛት አረጋገጥኩ?
  • [ ] የማላውቃቸውን ተግባራት ከሰነዶቹ አረጋግጫለሁ?
  • [] ኮዱን በአስተማማኝ/ትንሽ ዳታ ላይ በመጀመሪያ ሞከርኩት እንጂ በምርት አካባቢ አይደለም?