Qazanclar:
- İşin real dəyərinə uyğun olaraq problemin növünü (təsnifat, reqressiya, klasterləşdirmə) və uğur meyarlarını müəyyən etmək bacarığı
- Məlumatları vicdanla bölmək bacarığı (test dəstinə toxunmadan; xronoloji olaraq zaman seriyasında) və sızdırmaz qiymətləndirmə əsasını qurmaq
- Sadə bir bazadan başlayaraq və yalnız layiq olduğu zaman mürəkkəblik əlavə edərək şərh edilə bilən modeli seçmək bacarığı.
İndiyə qədər məlumatları topladıq, təmizlədik, araşdırdıq və funksiyalar hazırladıq. İndi əsl işə, bir model qurmağa gəlirik. Model verilənlərdən nümunə öyrənən və yeni vəziyyətlər üçün proqnozlar verən riyazi strukturdur. Lakin modelin qurulmasının ən kritik hissəsi kodun özü deyil, ondan əvvəlki iki qərardır: düzgün problemi müəyyənləşdirmək və verilənləri düzgün bölmək. Süni intellekt alqoritm seçimi, kodun yazılması və parametrlərin tənzimlənməsində güclü məsləhətçidir; amma nəyi proqnozlaşdırmaq və uğurun nə demək olduğunu qərar vermək insandır. Səhv müəyyən edilmiş problem mükəmməl yazılmış modellə belə işləməyəcək.
Əvvəlcə problemin tərifi: nəyi proqnozlaşdırırıq
Hər bir modelləşdirmə işi sualla başlayır və bu sual modelin növünü müəyyən edir. Təsnifat — çıxış kateqoriyadır: “Bu müştəri gedəcək, yoxsa qalacaq?”, “Bu əməliyyat saxtadır?”. Reqressiya (ingilis dilində regression - çıxış rəqəmdir): "Bu ev nə qədərdir?", "Gələn ay neçə sifariş gələcək?". Klasterləşdirmə (etiketsiz məlumatların təbii qruplara bölünməsi): "Müştərilərim neçə təbii seqmentə bölünür?".
Problemin ifadəsinin ikinci hissəsi uğur meyarıdır: bu modelin "yaxşı" olması nə deməkdir? Fırıldaqçılıq modelində fırıldaqçını əldən vermək vicdanlı müştərini təsadüfən bloklamaqdan qat-qat baha başa gəlir; Ona görə də “ümumi dəqiqlik” yox, “fırıldaqçıların tutulma sürəti” ön plana çıxır. Bu meyarı biznes sahibi ilə birlikdə əvvəldən müəyyən etməsəniz, nəticədə işləməyən "yüksək dəqiqlikli" modellə qarşılaşacaqsınız (biz 7-ci bölmədə ölçülərə daha dərindən girəcəyik).
Diqqət: "Dəqiqlik" çaşdıra bilər. 1000 tranzaksiyadan 10-u saxtadırsa, "heç biri fırıldaqçı deyil" deyən axmaq bir model 99% dəqiqlik verəcək, lakin heç bir fırıldaqçı tutmayacaq. Problemin real dəyərinə əsaslanaraq müvəffəqiyyət meyarlarını seçin.
Təlim/test bölgüsü: modelin vicdanla yoxlanılması
Öyrəndiyi verilənlərlə modeli sınaqdan keçirmək tələbəyə imtahanda oxuduğu sualları vermək kimidir; O, yüksək qiymətlər alır, amma həqiqətən bildiyini göstərmir. Beləliklə, məlumatları ikiyə bölürük (çox vaxt üç):
- Təlim dəsti (ingilis dilində təlim dəsti, adətən 70-80%): Model bunu öyrənir.
- Test dəsti (test dəsti, adətən 20-30%): Model bunu ümumiyyətlə görmür; real performans burada ölçülür.
- Validasiya dəsti: Modelin qurulması üçün istifadə olunan aralıq dəst (hansı parametr daha yaxşıdır); test dəstini "təmiz" saxlamaq üçün.
Ən əsas qayda: məşq zamanı test dəstinə heç vaxt toxunulmur. Ölçmə, kodlaşdırma, funksiya seçimi — hamısı sadəcə təlim dəstindən öyrənilir, sonra sınaqlara tətbiq edilir (5-ci bölmədən sızma prinsipi). Test dəsti modelin real dünyanı ilk dəfə görməsidir; Onu çox erkən yandırsanız, əsl performansı heç vaxt bilməyəcəksiniz.
Zaman seriyası istisnası: Əgər məlumatlarınız zamandan asılıdırsa (satışlar, birja, tələb), təsadüfi bölmə aparılmır. Çünki təsadüfi parçalanma modeli gələcəyi görməyə və keçmişi proqnozlaşdırmağa səbəb olur - bu sızmadır. Bunun əvəzinə, xronoloji olaraq bölün: köhnə dövrlə məşq edin, yeni dövrlə sınayın.
Alqoritm seçimi: sadədən mürəkkəbə
Başlayanların ən çox yayılmış səhvi ən mürəkkəb modeldən başlamaqdır. Düzgün yanaşma bunun əksidir: əvvəlcə sadə bir baza qurun. təsnifatda "həmişə çoxluq sinfini təxmin et"; reqressiyada "həmişə ortanı qiymətləndirin". Bu axmaq model əsas verir; Əgər real modeliniz bunu keçə bilmirsə, problem var. Sonra sadə və şərh edilə bilən modellərə keçin.
model
Problem növü
güclü nöqtə
zəiflik
Baza (əksəriyyət/orta)
hər ikisi
Benchmark verir
öyrənmir
Logistik reqressiya
Təsnifat
Sadə, izah edilə bilən
Yalnız xətti əlaqə
Xətti reqressiya
reqressiya
Sadə, sürətli
xətti fərziyyə
qərar ağacı
hər ikisi
şərh edilə bilən
Asan əzbərləmələr
təsadüfi meşə
hər ikisi
Güclü, davamlı
Daha az şərh edilə bilər
Gradient gücləndirilməsi (XGBoost və s.)
hər ikisi
çox güclü
Tənzimləmək çətindir, yadda saxlamaq riski
Qayda: ən sadə "kifayət qədər yaxşı" modeli seçin. Şərh edilə bilənlik əksər biznes kontekstlərində gücdən daha qiymətlidir; Kreditdən imtinanı "qara qutuda belə dediyi üçün" deyil, "borcunuz-gəlir nisbətiniz yüksək olduğu üçün" izah etmək daha yaxşıdır.
üç mini qutu
1-ci hal – Problemin səhv tərifi. Komanda "müştəri məmnundur" əsasında təsnifat modelini qurdu, lakin müvəffəqiyyət meyarı kimi "dəqiqliyi" seçdi. Məlumatlarda müştərilərin 88%-i razı qaldı; Model hər kəsi "məmnun" adlandırmaqla 88% dəqiqlik əldə etdi və heç vaxt narazı insanları tuta bilmədi - baxmayaraq ki, əsl məqsəd onları tapmaq idi. Dərs: real məqsədə əsaslanaraq uğur meyarlarını seçin.
2-ci hal - Kupedə vaxt sızması. Tələbin proqnozlaşdırılması layihəsində məlumatlar təsadüfi olaraq bölündü. Model 93% dəqiqlik verdi, lakin istehsal zamanı qəzaya uğradı, çünki təlimdə yanvar, sonra noyabr, dekabr məlumatları ilə proqnozlaşdırmışdı - gələcəyi görmüşdü. Xronoloji bölgüyə keçəndə faktiki performans 74%-ə yüksəldi. Dərs: zaman sıralarında xronoloji bölgü.
3-cü vəziyyət - Lazımsız mürəkkəblik. Bir analitik bilavasitə dərin neyron şəbəkəsi ilə işə başlayıb, onu həftələrlə sazlayıb və 81% dəqiqlik əldə edib. Sonra bir həmkar 20 sıra logistik reqressiya ilə 80% aldı - daha sürətli, şərh edilə bilən və saxlanılması daha asan. Dərs: əsas və sadə bir modellə başlayın, layiq olduğu zaman mürəkkəbliyi əlavə edin.
Dörd kopyalana bilən şablon
1) Problemin tərifinin aydınlaşdırılması:
Sizin rolunuz: modelləşdirmə üzrə məsləhətçi. Bu işi müəyyənləşdirməkdə mənə kömək edin: “Mən müştəri itkisini azaltmaq istəyirəm.” Məndən soruşun və aydınlaşdırın: (1) bu təsnifat və ya reqressiyadır, (2) hədəf dəyişən tam olaraq nədir və necə müəyyən edilməlidir, (3) uğur meyarları nə olmalıdır və niyə. Qərar mənimdir; sualları və variantları təqdim edirsiniz.
2) Təhlükəsiz təlim/sınaq bölməsi:
DF-ni 80%/20% təlim/sınağa bölün. Sinif paylanmasını qoruyun (stratify).random_state=42. Bu ZAMAN SERIASI DEYİL (müstəqil müşahidələr). Bölündükdən sonra hər dəstin sinif nisbətini çap edin. Sadəcə heç bir transformasiya tətbiq etmədən test dəstinə bölmə kodunu verin.
3) Zaman sıralarının xronoloji bölgüsü:
Məlumat zamandan asılıdır (tarix sütunu: order_date). Təsadüfi DEYİL, xronoloji olaraq bölün: ən köhnə 80% təlim, ən yeni 20% test. Təlim və sınaq tarix diapazonlarını çap edin ki, gələcəyin sızmadığını yoxlaya bilim.
4) Əsas xəttin qurulması:
Təsnifat problemim var (hədəf: 0/1 nisbəti). Əvvəlcə bazanı təyin edin: həmişə çoxluq sinfini proqnozlaşdıran DummyClassifier ilə təlim/sınaq dəqiqliyini ölçün. Sonra sadə logistik reqressiyanı məşq edin və onun əsas göstəricidən üstün olub-olmadığını müqayisə edin. İkisinin göstəricilərini yan-yana göstərin.
Zəif məlumat / Güclü göstəriş
Zəif çağırış:
Bu məlumatlarla ən yaxşı modeli yaradın.
"Ən yaxşı" müəyyən edilməmişdir; Problem növü, məqsəd, müvəffəqiyyət meyarları və bölmə strategiyası yoxdur. AI təsadüfi bir nümunə yaradır, ehtimal ki, sızdırır.
Güclü göstəriş:
Rolunuz: modelləşdirmə köməkçisi. Problem: təsnifat, hədəf "çarpma" (0/1), sinif balanssızlığı var (~12% itki). Müvəffəqiyyət meyarı: Çaşqın olanları geri çağırmaq prioritetdir. Məlumatdan asılı olmayan müşahidə (zaman seriyası deyil). Tapşırıq: (1) 80/20% təbəqələşdirilmiş bölünmə, (2) DummyClassifier bazası, (3) logistik reqressiya, boru kəmərindəki bütün transformasiyalar və yalnız təlimdən öyrənilmişdir. Parçalamadan əvvəl test dəstinə toxunmayın.
Burada problem növü, balanssızlıq, meyar və sızma ölçüsü aydındır.
Ümumi səhvlər
- Uğur meyarlarının əsl məqsədə uyğun seçilməməsi. Balanssız məlumatlarda "dəqiqlik" yanıltıcıdır; Əgər azlıq sinfini tutmaq istəyirsinizsə, geri çağırma ön plana çıxır.
- Təlim zamanı test dəstinə toxunmaq. Parçalanmadan əvvəl miqyaslaşdırma/kodlaşdırma etmək sızdırır və real performansı gizlədir.
- Zaman sıralarında təsadüfi bölünmə. Model gələcəyi görür, istehsalda çökür; Xronoloji bölgü vacibdir.
- Əsas xətt yaratmadan mürəkkəb modelə keçid. Benchmarklar olmadan bir modelin həqiqətən yaxşı olub olmadığını bilə bilməzsiniz.
- Təfsir qabiliyyətinə məhəl qoymamaq. Biznes qərarlarında sadə izah edilə bilən model çox vaxt qara qutudan daha qiymətlidir.
İpucu: Model qurmağa başlamazdan əvvəl bir cümlə yazın: "Bu model _____ proqnozlaşdıracaq, müvəffəqiyyəti _____ metrikası ilə ölçüləcək, çünki işin əsl dəyəri _____-dir." Bu cümləni doldura bilmirsinizsə, kod yazmağa hələ hazır deyilsiniz.
Xülasə
Modelin qurulmasının ən kritik hissəsi kod deyil, ondan əvvəl qəbul edilən qərarlardır: düzgün problemin müəyyən edilməsi (təsnifat və ya reqressiya, məqsəd nədir, uğur meyarı nədir) və verilənlərin ədalətli şəkildə bölünməsi (test toplusuna toxunmadan; zaman seriyasında xronoloji). Həmişə sadə bir baza ilə başlayın və yalnız layiq olduğu zaman mürəkkəbliyi əlavə edin; şərh edilə bilənlik əksər biznes kontekstlərində gücdən daha çox qiymətləndirilir. Süni intellekt alqoritm seçimində və kodda güclü məsləhətçidir, lakin nəyi və niyə proqnozlaşdırdığınıza insan özü qərar verir.
Tətbiq tapşırığı
Proqnoz problemini müəyyənləşdirin və aşağıdakı cümləni yazılı şəkildə tamamlayın: “Bu model ___ proqnozlaşdıracaq (təsnifat/reqressiya), hədəf ___, müvəffəqiyyət meyarı ___, çünki ___.” Sonra məlumatları düzgün strategiya ilə bölün (əgər bu zaman seriyasıdırsa, xronoloji), baza xəttini təyin edin və sadə nümunənin həmin baza xəttini pozub- pozmadığını ölçün.
yoxlama siyahısı
- [ ] Problemin tipini (təsnifat/reqressiya) və hədəfi aydın şəkildə müəyyən etmişəmmi?
- [ ] Mən işin faktiki dəyərinə əsaslanaraq müvəffəqiyyət meyarlarını seçmişəm?
- [ ] Təlim zamanı test dəstini toxunulmaz qoydum?
- [ ] Əgər zaman seriyasıdırsa, onu xronoloji olaraq böldümmü?
- [ ] Mürəkkəb modelə keçməzdən əvvəl mən baza qurmuşammı?