Бірліктер
1. Деректер ғылымы мен аналитикадағы жасанды интеллектке кіріспе: жұмыс процесі, рөлдер, шекаралар, тексеру және этика 2. Деректерді жинау және дереккөзді түсіну: схема, сынама алу, сапа және ағып кету туралы хабардар болу 3. Деректерді тазалау және алдын ала өңдеу: жоқ мән, шектен тыс мән және түр түрлендіру 4. Зерттеу деректерін талдау (EDA): таратулар, қарым-қатынастар және бастапқы түсініктер 5. Инженерлік мүмкіндіктер: нұсқаларды жасау, кодтау, масштабтау және ағып кетуді болдырмау 6. Модель құру: мәселені анықтау, алгоритмді таңдау және оқыту/тест бөлу 7. Модельді бағалау: метрика, кросс-валидация және экстремалды оқыту 8. Көрнекілік және әңгімелеу: дәл графика, адал графика 9. Код жасау: Python (pandas) және SQL көмегімен AI көмегімен талдау 10. Деректердің ағып кетуі және қайталануы: үнсіз апаттар және тәртіп 11. MLOps Foundation, этика, құпиялылық және жауапты аналитика
Бірлік 9 / 11

Код жасау: Python (pandas) және SQL көмегімен AI көмегімен талдау

Табыстар:

  • Жасанды интеллектке нақты схема мен мақсат беру арқылы сенімді SQL және панда кодын қабылдау және оны сызық бойынша оқу және тексеру мүмкіндігі
  • Біріктіру/ҚОСЫЛғаннан кейін жолдар саны, сәйкестендіру функциясы және өткізу қабілеті сияқты үнсіз қателерді ұстау мүмкіндігі
  • Түзету кезінде мәселені дыбысты өшірмей шешу және оны өндірістік ортада сынамай-ақ кодты іске қосудан аулақ болу мүмкіндігі

Деректер ғылымында екі негізгі тіл бар: SQL (Structured Query Language — дерекқордан деректерді сұрауға арналған тіл) және Python (әсіресе, pandas кітапханасы — кестелерді бағдарламалық түрде өңдеуге арналған стандартты құрал). Бұл бөлімде біз AI-ны код серіктесі ретінде пайдалануды үйренеміз: одан дұрыс сұрақтар арқылы қатты SQL және pandas кодын алу, сол кодты оқу және тексеру, оны жөндеу және оны ешқашан соқыр іске қосу. AI қайталанатын кодты минуттардың орнына секундтарда жазады; Бірақ ол шығаратын код дұрыс бағанды ​​дұрыс логикамен өңдейтініне көз жеткізу сіздің міндетіңіз. Жұмыс коды дұрыс кодты білдірмейді.

Неліктен AI көмегімен код жасау күшті, бірақ қауіпті

AI кодты генерациялауда үш үлкен артықшылық береді: жылдамдық (секундтарда 30 жолдық топтық айналдыру операциясын жазады), еске салғыш (ұмытып кеткен пандалар функциясын еске салады) және оқыту (жол бойынша кодты түсіндіреді). Бірақ ол үш тәуекелді қамтиды: үнсіз логикалық қате (қате бағанды ​​қосатын код қатесіз жұмыс істейді), орнатылған функция (болмайтын әдісті ұсынады) және кірістірілген тұзақ (шағын деректерде жұмыс істейтін, бірақ 10 миллион жолда бұзылатын код). Сонымен, алтын ереже: AI кодын өзіңіз жазғандай оқыңыз. Түсінбейтін сызықты іске қоспаңыз.

SQL: деректерді көзде өңдеу

SQL мәліметтер қорынан мәліметтерді алуға және оны сол жерде өңдеуге мүмкіндік береді; Сіз миллиондаған жолдарды Python-ға тартпай-ақ қорытындылай аласыз. Негізгі құрылыс блоктары: SELECT (қай бағандар), WHERE (қай жолдар), GROUP BY (топтау және қорытындылау), JOIN (кестелерді біріктіру), HAVING (топтан кейінгі сүзгі). AI күрделі JOIN және терезе функцияларын жазуда өте пайдалы, бірақ екі нәрсені тексеріңіз: дұрыс перне арқылы JOIN (қате перне жолдарды қайталайды) және сүзгі логикасы дұрыс (әсіресе NULL әрекеті мен күн ауқымдары).

Абайлаңыз: AI жасаған SQL сұрауын тікелей өндіріс дерекқорына қарсы іске қоспаңыз. Кішкентай көшірмені немесе алдымен LIMIT арқылы сынап көріңіз. Ешқашан WHERE шартын тексермей UPDATE/DELETE сұрауын іске қоспаңыз; Қате WHERE кестені толығымен жоя алады.

Python/pandas: икемді талдау

pandas — Python тіліндегі кестелерді (DataFrame) өңдеудің стандартты тәсілі. AI-ны ең тиімді пайдалану - оған нақты схема мен мақсатты беру. Ең жиі қолданылатын әрекеттер: сүзгі, топтау, біріктіру, жиынтық_кесте, қолдану. AI бұларды тез жазады; Тексергіңіз келетін нәрсе логика: дұрыс бағандағы топтау ма, біріктіру жолдар санын күтпеген жерден өзгертті ме (біріктіруден кейін әрқашан жолдар санын тексеріңіз), түпнұсқаны өзгертетін тізбек әрекеттері.

транзакция

SQL

пандалар

бақылау пункті

Сүзу

ҚАЙДА

df[df.x > 5]

NULL/NaN әрекеті

топтастыру

ТОПТАУ

df.groupby()

Бұл дұрыс баған ба?

біріктіру

ҚОСЫЛУ

df.merge()

Жолдар санының өзгеруі

Түйіндеме

AVG(), SUM()

.mean(), .sum()

Қай баған жиналды

Сұрыптау

ТАПСЫРЫС БЕРУ

.sort_values()

Бағыт (өсу/кему)

дедупликация

ЕРЕКШЕ

.drop_duplicates()

Қай бағандарда?

Түзету: AI көмегімен

Код сәтсіз болғанда, AI тамаша жөндеу серіктесі болып табылады. Оған қате туралы толық хабарды және сәйкес код үзіндісін беріңіз. Бірақ екі тұзақтан сақ болыңыз. Біріншіден, AI қатені «тыныштыратын» шешімді ұсына алады (мысалы, ескертулерді жасыру) - бұл қатені түзетпейді, оны жасырады. Екіншіден, AI кейде мәселені «шешу» кезінде басқа мінез-құлықты үнсіз өзгертеді. Ереже: түзетуді түсініңіз, дыбысты өшірмеңіз және түзетілгеннен кейін нәтиже әлі де дұрыс екенін тексеріңіз.

Түсіндірілетін және өңделетін код қажет

AI кодты сатып алғанда, «жұмыс істейтін» кодты ғана емес, оқуға болатын және қызмет көрсетуге болатын кодты сұраңыз. Сіз немесе әріптесіңіз осы кодты бірнеше айдан кейін ашқанда, ол оның не істейтінін түсінуі керек. Мұны істеу үшін, AI үш нәрсені қамтуды әдетке айналдырыңыз: мағыналы айнымалы атаулар (orders_temiz, df2 емес), маңызды қадамдардағы қысқа түсініктемелер жолдары (неге орындалып жатқанын емес, неге екенін түсіндіреді) және сиқырлы санның орнына атаулы тұрақты (ACCEPT_ESIGI = 0,85 кодта жасырылған 0,85 орнына). Сондай-ақ ұзын бір жолды тізбектерден аулақ болыңыз (бір жолда бес әрекетті қосу); бұл жөндеуді қиындатады. Әдепкі бойынша, AI жиі қысқа және «ақылды» кодты шығарады; Егер сіз «оқылатын, түсіндірілетін, өңделетін жазу» деп нақты айтсаңыз, сіз әлдеқайда жақсы нәтиже аласыз. Бұл да қайталану мүмкіндігінің негізі болып табылады (10 блок): түсініксіз код - қауіпсіз қайта іске қосу мүмкін емес код.

үш шағын іс

1-жағдай — JOIN репликасы. Сарапшы тапсырыстарды өнім кестесімен біріктіріп, жалпы тауар айналымын 3 есе жоғары деп тапты. Себебі: өнім кестесінде әрбір өнімнің бірнеше жолы (әртүрлі түстер) болды; JOIN әр тапсырысты қайталайды. AI коды «жұмыс істейді», бірақ жолдар саны 240 мыңнан 690 мыңға дейін өсті. Сабақ: біріктіру/ҚОСЫЛғаннан кейін әрқашан жолдардың санын тексеріңіз.

2-жағдай — Орнату функциясы. Ол интернге AI df.groupby('x').summarize() қызметін ұсынды; Пандаларда мұндай әдіс жоқ (.agg() бар). Код жұмыс істемеді, интерн 20 минут бойы жоғалып кетті. Сабақ: құжаттан танымайтын функцияны тексеріңіз; AI әдістерді құра алады.

3-жағдай – кірістіліктің төмендеуі. Бір код әр жол үшін қолданбада дерекқорды сұрады; Ол 5000 жолда жүрді, 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).NULL қаланы қоспайды. Сұрауды түсіндіріңіз; Мен LIMIT арқылы сынақтан өткіземін.

Мұнда дерекқор, схема, сүзгі, сұрыптау және NULL ережесі анық.

Жалпы қателер

  • Кодты оқымай іске қосу. Жұмыс коды дұрыс код емес; Қате бағанды ​​басқаратын код қатесіз жұмыс істейді.
  • Біріктірілгеннен/JOIN болғаннан кейін жолдар саны тексерілмейді. Қате перне жолдарды үнсіз көшіреді және қорытындыларды көбейтеді.
  • Орнату функциясын тексермейді. AI жоқ әдістерді ұсына алады; Құжаттан оны танымайтыныңызды растаңыз.
  • Тиімділік туралы ойламау. миллиондаған жолдардағы шағын деректердің бұзылуымен жұмыс істеуді қолдану/цикл; векторлау.
  • Өндіріс дерекқорында тікелей іске қосыңыз. Әсіресе WHERE немесе тестілеусіз UPDATE/DELETE іске қосу апатты.
Кеңес: АИ-ден алған кодтың әрбір бөлігіне «тексеру жолын» қосуды әдетке айналдырыңыз: жолдардың алдын ала және кейінгі өңдеу саны, бірнеше үлгі жолдар және қолмен маңызды жиынтық. Бұл үш тексеру ең үнсіз логикалық қателерді ұстайды.

Қысқаша айтқанда

AI - SQL және pandas кодын жылдам шығаратын қуатты серіктес, бірақ ол соқыр билік емес. Оған схема мен мақсатты нақты көрсетіңіз; Ол жасаған кодты өзіңіз жазғандай оқыңыз; Біріктіру/ҚОСУдан кейін жолдар санын, фитинг функцияларын және өткізу қабілеттілігін тексеріңіз; Оны өндірістік дерекқорда сынамай іске қоспаңыз. Түзету кезінде мәселені шешуді мақсат етіңіз, оны өшірмеңіз. Жұмыс істейтін код дұрыс код емес; Тек сіз дәлдікке кепілдік бере аласыз.

Қолданбалы тапсырма

Талдау сұрағын таңдаңыз (мысалы, «арнадағы айлық айналым») және SQL және пандалармен бірге AI кодын сұраңыз. Екі кодты жол бойынша оқыңыз, біріктіру/ҚОСЫЛғаннан кейінгі жолдар санын тексеріңіз және кем дегенде бір маңызды соманы қолмен тексеріңіз. Екі кодтың бірдей нәтиже беретінін салыстырыңыз; Егер басқаша болса, себебін біліңіз.

бақылау парағы

  • [ ] Мен AI-ға кестені/схеманы және мақсатты анық бердім бе?
  • [ ] Мен оның шығарған кодын жол-жол оқып түсіндім бе?
  • [ ] Біріктіру/ҚОСЫЛғаннан кейін жолдар санын тексердім бе?
  • [ ] Мен құжаттамадан танымайтын функцияларды тексердім бе?
  • [ ] Кодты алдымен өндіріс ортасында емес, қауіпсіз/шағын деректерде сынадым ба?