एकाइहरू
1. डाटा विज्ञान र विश्लेषणमा कृत्रिम बुद्धिमत्ताको परिचय: कार्यप्रवाह, भूमिका, सीमा, प्रमाणीकरण र नैतिकता 2. डाटा सङ्कलन र स्रोत बुझाइ: योजना, नमूना, गुणस्तर र चुहावट जागरूकता 3. डाटा क्लिनिङ र प्रिप्रोसेसिङ: छुटेको मान, आउटलियर र प्रकार रूपान्तरण 4. अन्वेषण डेटा विश्लेषण (EDA): वितरण, सम्बन्ध, र प्रारम्भिक अन्तर्दृष्टि 5. सुविधा ईन्जिनियरिङ्: भेरिएन्टहरू उत्पन्न गर्दै, कोडिङ, स्केलिङ, र चुहावट बेवास्ता गर्दै 6. मोडेल निर्माण: समस्या परिभाषा, एल्गोरिथ्म चयन, र प्रशिक्षण/परीक्षण विभाजन 7. मोडेल मूल्याङ्कन: मेट्रिक्स, क्रस-प्रमाणीकरण, र चरम शिक्षा 8. भिजुअलाइजेशन र स्टोरीटेलिङ: सटीक ग्राफिक्स, इमानदार ग्राफिक्स 9. कोड जेनेरेसन: पाइथन (पान्डा) र SQL को साथ एआई-सहायता विश्लेषण 10. डाटा चुहावट र पुन: उत्पादनशीलता: मौन आपदा र अनुशासन 11. MLOps फाउन्डेशन, नैतिकता, गोपनीयता र जिम्मेवार विश्लेषण
एकाइ 9 / 11

कोड जेनेरेसन: पाइथन (पान्डा) र SQL को साथ एआई-सहायता विश्लेषण

लाभ:

  • बलियो SQL र पाण्डा कोड लिन र आर्टिफिसियल इन्टेलिजेन्सलाई स्पष्ट स्कीमा र उद्देश्य दिएर लाइन द्वारा यसलाई पढ्न र प्रमाणित गर्ने क्षमता।
  • पङ्क्ति गणना, फिटिङ प्रकार्य र मर्ज/जोइन पछि थ्रुपुट जस्ता मौन त्रुटिहरू समात्ने क्षमता
  • यसलाई मौन नगरी डिबगमा समस्या समाधान गर्ने क्षमता र उत्पादन वातावरणमा परीक्षण नगरी कोड चलाउनबाट बच्न।

डाटा विज्ञानमा दुईवटा प्राथमिक भाषाहरू छन्: SQL (संरचित क्वेरी भाषा — डाटाबेसहरूबाट डाटा क्वेरी गर्ने भाषा) र पाइथन (विशेष गरी, पान्डा लाइब्रेरी — तालिकाहरूलाई प्रोग्राम्याटिक रूपमा हेरफेर गर्नको लागि मानक उपकरण)। यस एकाईमा, हामी कोड साझेदारको रूपमा AI लाई प्रयोग गर्न सिक्नेछौं: सही प्रश्नहरूका साथ ठोस SQL ​​र पाण्डा कोड प्राप्त गर्ने, त्यो कोड पढ्ने र प्रमाणीकरण गर्ने, यसलाई डिबग गर्ने, र यसलाई कहिल्यै अन्धाधुन्ध रूपमा नचलाउने। एआईले मिनेटको सट्टा सेकेन्डमा दोहोरिने कोड लेख्छ; तर यसले उत्पादन गर्ने कोडले सही तर्कसँग सही स्तम्भलाई प्रशोधन गर्छ भन्ने कुरा सुनिश्चित गर्नु तपाईंको काम हो। कार्य कोड भनेको सही कोड होइन।

किन एआई संग कोड उत्पादन शक्तिशाली तर जोखिमपूर्ण छ

AI ले कोड उत्पादनमा तीन ठूला फाइदाहरू प्रदान गर्दछ: गति (सेकेन्डमा 30-लाइन समूहद्वारा-पिभोट अपरेशन लेख्छ), रिमाइन्डर (तपाईले बिर्सनुभएको पाण्डा प्रकार्यको सम्झना गराउँदछ), र शिक्षण (लाइनद्वारा कोड लाइन व्याख्या गर्दछ)। तर यसले तीन जोखिमहरू बोक्दछ: साइलेन्ट तर्क त्रुटि (गलत स्तम्भको योगफल बिना त्रुटिहरू चल्ने कोड), फिट गरिएको प्रकार्य (अवस्थित नभएको विधि सुझाव दिन्छ), र उपज जाल (कोड जसले सानो डाटामा काम गर्दछ तर 10 मिलियन पङ्क्तिहरूमा क्र्यास हुन्छ)। त्यसोभए सुनौलो नियम: AI को कोड पढ्नुहोस् जस्तो कि तपाईंले यसलाई आफैले लेख्नुभयो। तपाईले नबुझेको लाइन नचलाउनुहोस्।

SQL: स्रोत मा डाटा प्रक्रिया

SQL ले तपाईंलाई डाटाबेसबाट डाटा पुन: प्राप्त गर्न र त्यहाँ प्रशोधन गर्न अनुमति दिन्छ; तपाईले लाखौं लाइनहरूलाई पाइथनमा ताने बिना संक्षेप गर्न सक्नुहुन्छ। आधारभूत बिल्डिङ ब्लकहरू: SELECT (कुन स्तम्भहरू), WHERE (कुन पङ्क्तिहरू), GROUP BY (समूह र संक्षेप), JOIN (तालिकाहरू जोड्नुहोस्), HAVING (पोस्ट-ग्रुप फिल्टर)। AI जटिल JOIN र सञ्झ्याल प्रकार्यहरू लेख्न धेरै उपयोगी छ, तर दुई कुराहरू जाँच गर्न निश्चित हुनुहोस्: सही कुञ्जी (गलत कुञ्जी नक्कल पङ्क्तिहरू) मार्फत सामेल हुनुहोस् र फिल्टर तर्क सही हो (विशेष गरी NULL व्यवहार र मिति दायराहरू)।

सावधानी: उत्पादन डाटाबेस विरुद्ध सीधा AI-उत्पन्न SQL क्वेरी नचलाउनुहोस्। एक सानो प्रतिलिपि वा LIMIT पहिले परीक्षण गर्नुहोस्। WHERE सर्त प्रमाणित नगरीकन UPDATE/DELETE क्वेरी कहिल्यै नचलाउनुहोस्; गलत जहाँ सम्पूर्ण तालिका मेटाउन सक्छ।

पाइथन/पान्डा: लचिलो विश्लेषण

pandas पाइथनमा तालिकाहरू (डेटाफ्रेम) हेरफेर गर्ने मानक तरिका हो। AI को सबैभन्दा कुशल प्रयोग भनेको यसलाई स्पष्ट योजना र उद्देश्य दिनु हो। प्रायः प्रयोग हुने अपरेसनहरू: फिल्टर, ग्रुपबाइ, मर्ज, पिभोट_टेबल, लागू गर्नुहोस्। AI ले यी चाँडै लेख्छ; तपाईले के जाँच गर्न चाहनु भएको तर्क हो: के सही स्तम्भमा समूहीकरण छ, के मर्जले पङ्क्तिहरूको संख्या अप्रत्याशित रूपमा परिवर्तन गरेको छ (मर्ज पछि पङ्क्तिहरूको संख्या सधैँ जाँच गर्नुहोस्), के चेन अपरेशनहरू मूल परिवर्तन गर्दैछन्।

लेनदेन

SQL

पाण्डाहरू

चेकपोइन्ट

फिल्टर गर्दै

कहाँ

df[df.x > 5]

NULL/NaN व्यवहार

समूहीकरण

समूह द्वारा

df.groupby()

के यो सही स्तम्भ हो?

मर्ज

सामेल हुनुहोस्

df.merge()

पङ्क्ति गणना परिवर्तन

सारांश

AVG(), SUM()

.mean(), .sum()

कुन स्तम्भ संकलन गरिएको थियो

क्रमबद्ध गर्नुहोस्

द्वारा अर्डर गर्नुहोस्

.sort_values()

दिशा (आरोही/अवरोही)

डुप्लिकेशन

DISTINCT

.drop_duplicates()

कुन स्तम्भहरूमा?

डिबगिङ: AI संग

जब कोड असफल हुन्छ, AI उत्कृष्ट डिबगिङ साझेदार हो। यसलाई पूर्ण त्रुटि सन्देश र सान्दर्भिक कोड स्निपेट दिनुहोस्। तर दुईवटा पासोबाट सावधान रहनुहोस्। पहिले, एआईले त्रुटिलाई "मौन" गर्ने समाधान सुझाव दिन सक्छ (जस्तै, अलर्टहरू लुकाउने) - यसले त्रुटिलाई ठीक गर्दैन, यसलाई लुकाउँछ। दोस्रो, एआईले कहिलेकाहीँ समस्या "समाधान" गर्दा चुपचाप अर्को व्यवहार परिवर्तन गर्छ। नियम: फिक्स बुझ्नुहोस्, म्यूट नगर्नुहोस्, र फिक्स पछि आउटपुट अझै सही छ भनेर प्रमाणित गर्नुहोस्।

व्याख्या योग्य र रखरखाव योग्य कोड चाहनुहुन्छ

AI बाट कोड खरिद गर्दा, "काम गर्ने" कोड मात्र होइन, पढ्न सकिने र मर्मतयोग्य कोड माग्नुहोस्। जब तपाइँ वा एक सहकर्मीले त्यो कोड महिनौं पछि खोल्छ, यसले के गर्छ भनेर बुझ्न सक्षम हुनुपर्दछ। यसका लागि, AI मा तीनवटा कुराहरू समावेश गर्ने बानी बसाल्नुहोस्: अर्थपूर्ण चर नामहरू (orders_temiz, df2 होइन), महत्त्वपूर्ण चरणहरूमा छोटो टिप्पणी लाइनहरू (किन, के गरिँदैछ भनेर व्याख्या गर्दै), र जादुई नम्बरको सट्टा नामित स्थिरता (ACCEPT_ESIGI = 0.85 in the code को सट्टा 0.85)। लामो एकल-लाइन चेनहरू पनि बेवास्ता गर्नुहोस् (एक लाइनमा पाँच कार्यहरू जडान गर्दै); यसले डिबग गर्न गाह्रो बनाउँछ। पूर्वनिर्धारित रूपमा, एआईले प्रायः संक्षिप्त र "स्मार्ट" कोड उत्पादन गर्छ; यदि तपाइँ स्पष्ट रूपमा "पढ्न योग्य, व्याख्यायोग्य, रखरखाव योग्य लेख्नुहोस्" भन्नुभयो भने, तपाइँले धेरै अधिक रखरखाव योग्य आउटपुट पाउनुहुनेछ। यो पनि पुन: उत्पादनशीलताको आधार हो (एकाइ 10): नबुझेको कोड भनेको कोड हो जुन सुरक्षित रूपमा पुन: चलाउन सकिँदैन।

तीन मिनी केसहरू

केस १ - प्रतिकृतिमा सामेल हुनुहोस्। एक विश्लेषकले उत्पादन तालिकासँग अर्डरहरू जोडे र कुल कारोबार 3 गुणा बढी भएको पाए। कारण: प्रत्येक उत्पादनको उत्पादन तालिकामा धेरै पङ्क्तिहरू (भिन्न रङहरू) थिए; JOIN प्रत्येक अर्डरको नक्कल गरियो। AI को कोड "काम गरिरहेको" थियो, तर लाइनहरूको संख्या 240 हजार बाट 690 हजार पुगेको थियो। पाठ: सधैं मर्ज/जोइन पछि लाइनहरूको संख्या जाँच गर्नुहोस्।

केस २ - फिटिङ प्रकार्य। उनले AI df.groupby('x').summarize() को एक इन्टर्नलाई सुझाव दिए; पाण्डामा यस्तो कुनै विधि छैन (त्यहाँ .agg() छ। कोडले काम गरेन, इन्टर २० मिनेटको लागि हराएको थियो। पाठ: तपाईंले कागजातबाट नचिनेको कार्य प्रमाणित गर्नुहोस्; एआई विधिहरू बनाउन सक्छ।

केस 3 - उपज पतन। एउटा कोडले प्रत्येक पङ्क्तिको लागि आवेदनमा डाटाबेसलाई सोधिरहेको थियो; यो 5,000 लाइनहरूमा चल्यो, 4 मिलियन लाइनहरूमा 9 घण्टा लाग्यो, र रोकियो। जब एआईले भेक्टराइज्ड (ब्याच) समाधानको सुझाव दियो, समय घटाएर 40 सेकेन्ड भयो। पाठ: सानो डाटामा काम गर्ने कोड ठूलो डाटामा क्र्यास हुन सक्छ; दक्षतालाई विचार गर्नुहोस्।

चार प्रतिलिपि गर्न मिल्ने टेम्प्लेटहरू

1) स्कीमा संग SQL अनुरोध:

तपाईंको भूमिका: SQL सहायक (PostgreSQL)। तालिकाहरू: - अर्डरहरू (आईडी, ग्राहक_आईडी, मिति टाइमस्ट्याम्प, रकम संख्यात्मक) - ग्राहकहरू (आईडी, शहर पाठ) कार्य: 2024 मा कुल कारोबार र प्रति शहर आदेशहरूको संख्या प्राप्त गर्नुहोस्, घट्दो क्रममा टर्नओभरद्वारा क्रमबद्ध। तपाईंले NULL शहरहरू कसरी ह्यान्डल गर्नुहुन्छ भनेर व्याख्या गर्नुहोस्। म पहिले LIMIT सँग क्वेरी परीक्षण गर्नेछु; अपडेट/मेटाउने पुस्ता।

2) चेकपोइन्टको साथ पाण्डा प्रक्रिया:

मसँग DataFrames df (अर्डरहरू) र df_customers (ग्राहकहरू) छन्। प्रति शहर औसत रकम गणना गर्नुहोस्। महत्त्वपूर्ण: मर्ज गर्नु अघि र पछि पङ्क्तिहरूको संख्या छाप्नुहोस् ताकि त्यहाँ नक्कल छ कि छैन भनेर म हेर्न सकूँ। तपाईंले कुन स्तम्भमा मर्ज गर्नुभयो र किन तपाईंले भित्री/बायाँ रोज्नुभयो भनेर व्याख्या गर्नुहोस्।

3) कोड स्पष्टीकरण र प्रमाणिकरण:

निम्न पाण्डा कोड लाइन लाई पङ्क्तिद्वारा व्याख्या गर्नुहोस्: प्रत्येक रेखाले के गर्छ, यसले कस्तो धारणा बनाउँछ, कुन अवस्थामा यसले गलत परिणाम दिन सक्छ? यदि मैले फज प्रकार्य प्रयोग गरेको छु भने मलाई थाहा दिनुहोस्। कोड: [पेस्ट]

४) डिबगिङ:

यो कोडले यो त्रुटि दिन्छ। पूर्ण त्रुटि सन्देश: [पेस्ट]। कोड: [पेस्ट]। त्रुटिको मूल कारण व्याख्या गर्नुहोस् र यसलाई ठीक गर्नुहोस्। यसलाई वास्तवमा समस्या समाधान गरेर समाधान गर्नुहोस्, अलर्टलाई मौन गरेर होइन। फिक्सले आउटपुट परिवर्तन गर्यो कि भनेर पनि संकेत गर्नुहोस्।

कमजोर प्रम्प्ट / बलियो प्रम्प्ट

कमजोर प्रम्प्ट:

एउटा प्रश्न लेख्नुहोस् जसले मलाई प्रति शहर बिक्री दिन्छ।

तालिका नाम, स्तम्भ, डाटाबेस प्रकार, NULL व्यवहार अस्पष्ट छन्। AI सामान्य छ, यसले सायद तपाईको तालिकामा नमिल्ने क्वेरी उत्पादन गर्नेछ।

शक्तिशाली प्रम्प्ट:

तपाईंको भूमिका: SQL सहायक (MySQL 8)। तालिका: बिक्री (आईडी, शहर varchar, रकम दशमलव, मिति मिति)। कार्य: कुल र औसत रकम प्राप्त गर्नुहोस्, वर्ष 2024 को लागि प्रति शहर आदेशहरूको संख्या; क्रमबद्ध कुल रकम द्वारा घट्दै; 100 भन्दा बढी अर्डर भएका शहरहरू मात्र देखाउनुहोस् (HAVING)। NULL सहर बहिष्कार गर्नुहोस्। प्रश्नको व्याख्या गर्नुहोस्; म LIMIT को साथ परीक्षण गर्नेछु।

यहाँ डाटाबेस, स्कीमा, फिल्टर, क्रमबद्ध र NULL नियम स्पष्ट छन्।

सामान्य गल्तीहरू

  • यसलाई नपढाई कोड चलाउँदै। कार्य कोड सही कोड छैन; गलत स्तम्भ हेरफेर गर्ने कोड पनि त्रुटि बिना चल्छ।
  • मर्ज/जोइन पछि पङ्क्तिहरूको संख्या जाँच गर्दैन। गलत कुञ्जीले चुपचाप पङ्क्तिहरू डुप्लिकेट गर्छ र योगफल बढाउँछ।
  • फिटिङ प्रकार्य प्रमाणित गर्दैन। एआईले अवस्थित नभएका विधिहरू सुझाव दिन सक्छ; कागजातबाट पुष्टि गर्नुहोस् कि तपाइँ यसलाई चिन्नुहुन्न।
  • प्रभावकारिताको बारेमा सोचेको छैन। लाखौं पङ्क्तिहरूमा साना डेटा क्र्यासहरूमा काम गर्ने/लूप लागू गर्नुहोस्; vectorize।
  • उत्पादन डाटाबेसमा सीधा चलाउनुहोस्। विशेष गरी WHERE वा परीक्षण बिना UPDATE/DELETE चलाउनु विनाशकारी छ।
सुझाव: तपाईंले AI बाट प्राप्त गर्नुहुने कोडको प्रत्येक टुक्रामा "प्रमाणीकरण लाइन" थप्ने बानी बसाल्नुहोस्: लाइनहरूको पूर्व- र पोस्ट-प्रोसेसिङ संख्या, केही नमूना रेखाहरू, र हातले एक महत्वपूर्ण कुल। यी तीन जाँचहरूले सबैभन्दा मौन तर्क त्रुटिहरू समात्छन्।

संक्षेपमा

एआई एक शक्तिशाली साझेदार हो जसले द्रुत रूपमा SQL र पान्डा कोडहरू उत्पादन गर्दछ, तर यो अन्धो अधिकार होइन। उसलाई योजना र उद्देश्य स्पष्ट रूपमा दिनुहोस्; तपाईंले यसलाई आफैले लेख्नुभए जस्तै यसले उत्पादन गरेको कोड पढ्नुहोस्; पङ्क्तिहरूको संख्या, फिटिंग प्रकार्यहरू र मर्ज/जोइन पछि थ्रुपुट जाँच गर्नुहोस्; यसलाई उत्पादन डाटाबेसमा परीक्षण नगरी नचलाउनुहोस्। डिबग गर्दा, समस्या समाधान गर्ने लक्ष्य राख्नुहोस्, यसलाई मौन नगर्नुहोस्। काम गर्ने कोड सही कोड होइन; केवल तपाईं शुद्धता ग्यारेन्टी गर्न सक्नुहुन्छ।

आवेदन कार्य

एउटा विश्लेषण प्रश्न छनोट गर्नुहोस् (जस्तै "प्रति च्यानल मासिक कारोबार") र AI बाट SQL र pandas दुवैको साथ कोड अनुरोध गर्नुहोस्। दुबै कोड लाइन लाई लाइन द्वारा पढ्नुहोस्, मर्ज/जोइन पछि लाइनहरूको संख्या जाँच गर्नुहोस् र कम्तिमा एउटा महत्वपूर्ण रकम म्यानुअल रूपमा प्रमाणित गर्नुहोस्। तुलना गर्नुहोस् कि दुई कोडहरू समान परिणामहरू उत्पादन गर्छन्; यदि फरक छ भने, कारण पत्ता लगाउनुहोस्।

चेकलिस्ट

  • के मैले AI लाई तालिका/स्कीमा र उद्देश्य स्पष्ट रूपमा दिएको छु?
  • [ ] के मैले यसलाई लाइनद्वारा लाइन उत्पादन गरेको कोड पढें र बुझें?
  • के मैले मर्ज/जोइन पछि लाइनहरूको संख्या जाँच गरें?
  • के मैले कागजातबाट नचिनेका कार्यहरू प्रमाणित गरेको छु?
  • [ ] के मैले कोडलाई सुरक्षित/सानो डाटामा परीक्षण गरेको छु र उत्पादन वातावरणमा होइन?