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

Модель құру: мәселені анықтау, алгоритмді таңдау және оқыту/тест бөлу

Табыстар:

  • Жұмыстың нақты құнына сәйкес мәселе түрін (жіктеу, регрессия, кластерлеу) және табыс критерийлерін анықтау мүмкіндігі
  • Деректерді адал бөлу мүмкіндігі (тест жиынтығына қол тигізбестен; уақыттық қатарда хронологиялық) және ағып кетпейтін бағалау негізін құру
  • Қарапайым базалық сызықтан бастап және оған лайық болғанда ғана күрделілікті қосу арқылы түсіндірілетін үлгіні таңдау мүмкіндігі.

Осы уақытқа дейін біз деректерді жинадық, оны тазаладық, зерттедік және мүмкіндіктерді шығардық. Енді біз модель құрастыра отырып, нақты жұмысқа келдік. Модель деректерден үлгіні үйренетін және жаңа жағдайларға болжам жасайтын математикалық құрылым. Бірақ модельді құрудың ең маңызды бөлігі кодтың өзі емес, оның алдындағы екі шешім: дұрыс мәселені анықтау және деректерді дұрыс бөлу. AI алгоритмді таңдауда, код жазуда және параметрлерді реттеуде қуатты кеңесші болып табылады; бірақ нені болжау керектігін және жетістіктің нені білдіретінін өзі шешеді. Дұрыс анықталмаған мәселе тіпті тамаша жазылған үлгімен де жұмыс істемейді.

Алдымен мәселенің анықтамасы: біз нені болжаймыз

Әрбір модельдеу жұмысы сұрақтан басталады және бұл сұрақ модель түрін анықтайды. Классификация — шығу категориясы: «Бұл тұтынушы кете ме, әлде қала ма?», «Бұл транзакция жалған ба?». Регрессия (ағылшын тілінде регрессия – шығу сан): «Бұл үйдің құны қанша?», «Келесі айда қанша тапсырыс келеді?». Кластерлеу (белгіленбеген деректерді табиғи топтарға бөлу): «Менің тұтынушыларым неше табиғи сегменттерге бөлінеді?».

Проблемалық тұжырымның екінші бөлігі табыс критерийі болып табылады: бұл модельдің «жақсы» болуы нені білдіреді? Алаяқтық үлгісінде алаяқты жоғалту адал тұтынушыны кездейсоқ бұғаттаудан әлдеқайда қымбат; Сондықтан «жалпы дәлдік» емес, «алаяқтарды ұстау көрсеткіші» алға шығады. Егер сіз осы критерийді бизнес иесімен бірге басынан бастап анықтамасаңыз, сіз жұмыс істемейтін «өте дәлдік» үлгіге ие боласыз (7-бөлімдегі метрикаға тереңірек енетін боламыз).

Абайлаңыз: «дәлдік» жаңылыстыруы мүмкін. Егер 1000 транзакцияның 10-ы алаяқтық болса, «ешқайсысы алаяқ емес» деген ақымақ модель 99% дәлдік береді, бірақ бірде-бір алаяқты ұстай алмайды. Мәселенің нақты құнына негізделген сәттілік критерийлерін таңдаңыз.

Тренинг/тест бөлу: үлгіні шынайы тексеру

Модельді үйренген деректермен тестілеу студентке емтиханда оқыған сұрақтарын қоюмен бірдей; Ол жоғары балл алады, бірақ шын мәнінде не білетінін көрсетпейді. Сондықтан біз деректерді екіге бөлеміз (көбінесе үш):

  • Тренинг жинағы (ағылшын тіліндегі тренинг жинағы, әдетте 70-80%): Модель осыны үйренеді.
  • Сынақ жинағы (тест жинағы, әдетте 20-30%): Модель мұны мүлде көрмейді; мұнда нақты өнімділік өлшенеді.
  • Валидация жинағы: Үлгіні орнату үшін қолданылатын аралық жиын (қай параметр жақсы); сынақ жинағын «таза» ұстау үшін.

Ең негізгі ереже: сынақ жинағы жаттығу кезінде ешқашан қол тигізбейді. Масштабтау, кодтау, мүмкіндіктерді таңдау — барлығы жаттығулар жиынтығынан үйренеді, содан кейін тестілеуге қолданылады (5 блоктан ағып кету принципі). Сынақ жинағы – модельдің шынайы әлемді бірінші рет көруі; Егер сіз оны тым ерте қоссаңыз, сіз ешқашан шынайы өнімділікті біле алмайсыз.

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

Алгоритмді таңдау: қарапайымнан күрделіге

Жаңадан бастағандардың жиі кездесетін қателігі - ең күрделі модельден бастау. Дұрыс тәсіл керісінше: алдымен қарапайым базаны орнатыңыз. классификациядағы «әрқашан көпшілік класты болжаңыз»; регрессияда «әрқашан орташа мәнді бағалаңыз». Бұл ақымақ модель базалық мән береді; Егер сіздің нақты үлгіңіз оны өткізе алмаса, мәселе бар. Содан кейін қарапайым және түсіндірілетін үлгілерге өтіңіз.

үлгі

Мәселе түрі

күшті нүкте

әлсіздік

Базалық (көпшілік/орташа)

екеуі де

Эталон береді

үйренбейді

Логистикалық регрессия

Классификация

Қарапайым, түсінікті

Тек сызықтық қатынас

Сызықтық регрессия

регрессия

Қарапайым, жылдам

сызықтық болжам

шешім ағашы

екеуі де

түсіндіруге болады

Оңай есте сақтау

кездейсоқ орман

екеуі де

Күшті, төзімді

Түсініктемесі аз

Градиентті күшейту (XGBoost т.б.)

екеуі де

өте күшті

Баптау қиын, есте сақтау қаупі

Ереже: ең қарапайым «жеткілікті жақсы» үлгіні таңдаңыз. Түсіндіру мүмкіндігі көптеген іскерлік контексттерде күштен құндырақ; Несиеден бас тартуды «қара жәшік осылай деді» дегеннен гөрі «қарызыңыздың кіріске қатынасы жоғары болғандықтан» түсіндірген дұрыс.

үш шағын іс

1-жағдай — мәселенің дұрыс анықтамасы. Топ «тұтынушының көңілінен шықты ма» негізінде жіктеу үлгісін жасады, бірақ табыс критерийі ретінде «дәлдікті» таңдады. Деректер бойынша тұтынушылардың 88% қанағаттандырылды; Модель барлығын «қанағаттандым» деп атай отырып, 88% дәлдікке ие болды және ешқашан қанағаттанбаған адамдарды ұстамады, тіпті олардың шынайы мақсаты оларды табу болды. Сабақ: нақты мақсатқа негізделген жетістік критерийлерін таңдау.

2-жағдай — Бөлмедегі уақыттың ағуы. Сұранысты болжау жобасында деректер кездейсоқ бөлінген. Модель 93% дәлдік берді, бірақ өндірісте апатқа ұшырады, өйткені оқуда қаңтарды, содан кейін қарашаны, желтоқсандағы деректермен болжаған - ол болашақты көрді. Хронологиялық бөлуге көшкен кезде нақты өнімділік 74%-ға дейін өсті. Сабақтың тақырыбы: уақыт қатарындағы хронологиялық бөлу.

3-жағдай — Қажетсіз күрделілік. Бір талдаушы тікелей терең нейрондық желіден бастады, оны бірнеше апта бойы реттеп, 81% дәлдікке ие болды. Содан кейін әріптес 20 жолдық логистикалық регрессиямен 80% алды - әлдеқайда жылдам, түсіндірілетін және қолдау оңай. Сабақ: негізгі және қарапайым үлгіден бастаңыз, оған лайық болғанда күрделілік қосыңыз.

Көшірілетін төрт үлгі

1) Мәселенің анықтамасын нақтылау:

Сіздің рөліңіз: модельдеу бойынша кеңесші. Маған осы тапсырманы анықтауға көмектесіңіз: «Мен тұтынушыны азайтқым келеді». Менен сұраңыз және түсіндіріңіз: (1) бұл жіктеу немесе регрессия ма, (2) мақсатты айнымалы дегеніміз не және оны қалай анықтау керек, (3) табыс критерийлері қандай болуы керек және неге. Шешім менікі; сұрақтар мен опцияларды ұсынасыз.

2) Қауіпсіз оқу/сынақ бөлімі:

Менің df 80%/20% тренингке/тестілеуге бөліңіз. Сыныптың таралуын (стратификаттау) сақтаңыз.random_state=42. Бұл УАҚЫТ СЕРИЯСЫ ЕМЕС (тәуелсіз бақылаулар). Бөлінгеннен кейін әрбір жиынның класс қатынасын басып шығарыңыз. Ешқандай түрлендіруді қолданбай сынақ жинағына бөлу кодын беріңіз.

3) Уақыт қатарларының хронологиялық бөлінуі:

Деректер уақытқа байланысты (күн бағаны: тапсырыс_күні). Кездейсоқ ЕМЕС, хронологиялық түрде бөліңіз: ең ескі 80% жаттығу, ең жаңа 20% тестілеу. Болашақтың ағып кетпегенін тексеру үшін оқу және тестілеу күндері ауқымдарын басып шығарыңыз.

4) Базалық көрсеткішті орнату:

Менде жіктеу мәселесі бар (мақсат: 0/1 результат). Алдымен базалық деңгейді орнатыңыз: әрқашан көпшілік класты болжайтын DummyClassifier көмегімен жаттығу/тестілеу дәлдігін өлшеңіз. Содан кейін қарапайым логистикалық регрессияны жаттықтырыңыз және оның базалық деңгейден асып түсетінін салыстырыңыз. Екі өлшемді қатар көрсетіңіз.

Әлсіз шақыру / Күшті шақыру

Әлсіз шақыру:

Осы деректермен ең жақсы үлгіні құрастырыңыз.

«Ең жақсы» анықталмаған; Мәселе түрі, мақсат, табыс критерийлері және бөлу стратегиясы жоқ. AI кездейсоқ үлгіні жасайды, мүмкін ағып кетуі мүмкін.

Күшті шақыру:

Сіздің рөліңіз: модельдік көмекші. Мәселе: жіктеу, мақсатты «шақыру» (0/1), сыныптық теңгерімсіздік бар (~12% бұзылу). Табыс критерийі: Шығарғандарды еске түсіру - бірінші кезекте. Деректерге тәуелсіз бақылау (уақыттық қатар емес). Тапсырма: (1) 80/20% стратификацияланған бөлу, (2) DummyClassifier базалық сызық, (3) логистикалық регрессия, құбырдағы барлық түрлендірулер және тек оқудан үйренді. Бөлу алдында сынақ жинағына қол тигізбеңіз.

Мұнда мәселенің түрі, теңгерімсіздік, критерий және ағып кету өлшемі анық.

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

  • Табыс критерийлерін нақты мақсатқа сай таңдамау. Теңгерілмеген деректердегі «дәлдік» жаңылыстырады; Егер сіз азшылық класын алғыңыз келсе, еске түсіру бірінші орынға шығады.
  • Жаттығу кезінде сынақ жинағын түрту. Бөлу алдында масштабтау/кодтау ағып кетеді және нақты өнімділікті жасырады.
  • Уақыт қатарындағы кездейсоқ бөлу. Модель болашақты көреді, өндірісте күйреді; Хронологиялық бөлу өте маңызды.
  • Негізгі сызықты орнатпай күрделі үлгіге өту. Эталондарсыз сіз модельдің шынымен жақсы немесе жоқ екенін біле алмайсыз.
  • Түсіндіру мүмкіндігін елемеу. Іскерлік шешімдерде қарапайым түсіндірілетін модель қара жәшікке қарағанда жиі құндырақ.
Кеңес: Үлгіні құруды бастамас бұрын, бір сөйлем жазыңыз: «Бұл модель _____ болжайды, оның сәттілігі _____ метрикасымен өлшенеді, өйткені жұмыстың шынайы құны _____.» Бұл сөйлемді толтыра алмасаңыз, код жазуға әлі дайын емессіз.

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

Модельді құрудың ең маңызды бөлігі код емес, оның алдындағы шешімдер: дұрыс мәселені анықтау (жіктеу немесе регрессия, мақсат дегеніміз не, сәттілік критерийі қандай) және деректерді әділ бөлу (тест жиынтығына қол тигізбей; уақыт қатарында хронологиялық). Әрқашан қарапайым базадан бастаңыз және оған лайық болғанда ғана күрделілікті қосыңыз; Түсіндіру мүмкіндігі көптеген іскерлік контексттерде биліктен жоғары бағаланады. AI - алгоритм таңдау мен кодта күшті кеңесші, бірақ сіз нені және неге болжайтыныңызды адам өзі шешеді.

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

Болжау мәселесін анықтаңыз және келесі сөйлемді жазбаша түрде аяқтаңыз: «Бұл модель ___ болжайды (жіктеу/регрессия), мақсат ___, табыс критерийі ___ өйткені ___». Содан кейін деректерді дұрыс стратегиямен бөліңіз (егер бұл уақыт сериясы болса хронологиялық), базалық сызықты орнатыңыз және қарапайым үлгі сол негізгі сызықты бұзатынын өлшеңіз.

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

  • [ ] Мен мәселе түрін (жіктеу/регрессия) және мақсатты нақты анықтадым ба?
  • [ ] Жұмыстың нақты құнына негізделген табыс критерийлерін таңдадым ба?
  • [ ] Жаттығу кезінде сынақтар жинағын қол тигізбей қалдырдым ба?
  • [ ] Уақыт қатары болса, мен оны хронологиялық түрде бөлдім бе?
  • [ ] Күрделі үлгіге көшу алдында базалық сызықты орнаттым ба?