એકમો
1. ડેટા વિજ્ઞાન અને વિશ્લેષણમાં કૃત્રિમ બુદ્ધિનો પરિચય: વર્કફ્લો, ભૂમિકાઓ, સીમાઓ, માન્યતા અને નીતિશાસ્ત્ર 2. ડેટા કલેક્શન અને સોર્સ અન્ડરસ્ટેન્ડિંગ: સ્કીમા, સેમ્પલિંગ, ક્વોલિટી અને લીક અવેરનેસ 3. ડેટા ક્લીનિંગ અને પ્રીપ્રોસેસિંગ: ખૂટતું મૂલ્ય, આઉટલાયર અને પ્રકારનું રૂપાંતરણ 4. સંશોધનાત્મક ડેટા વિશ્લેષણ (EDA): વિતરણ, સંબંધો અને પ્રારંભિક આંતરદૃષ્ટિ 5. ફિચર એન્જિનિયરિંગ: વેરિઅન્ટ્સ જનરેટ કરવું, કોડિંગ, સ્કેલિંગ અને લિકેજ ટાળવું 6. મોડલ બિલ્ડીંગ: સમસ્યાની વ્યાખ્યા, અલ્ગોરિધમ પસંદગી અને તાલીમ/પરીક્ષણ વિભાજન 7. મોડલ મૂલ્યાંકન: મેટ્રિક્સ, ક્રોસ-વેલિડેશન અને એક્સ્ટ્રીમ લર્નિંગ 8. વિઝ્યુલાઇઝેશન અને સ્ટોરીટેલિંગ: સચોટ ગ્રાફિક્સ, પ્રમાણિક ગ્રાફિક્સ 9. કોડ જનરેશન: પાયથોન (પાંડા) અને SQL સાથે AI-આસિસ્ટેડ વિશ્લેષણ 10. ડેટા લિકેજ અને પુનઃઉત્પાદનક્ષમતા: સાયલન્ટ ડિઝાસ્ટર અને શિસ્ત 11. MLOps ફાઉન્ડેશન, એથિક્સ, પ્રાઈવસી અને રિસ્પોન્સિબલ એનાલિટિક્સ
એકમ 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) સલામત તાલીમ/પરીક્ષણ કમ્પાર્ટમેન્ટ:

મારા ડીએફને તાલીમ/પરીક્ષણમાં 80%/20% વિભાજિત કરો. વર્ગ વિતરણ જાળવો (સ્તરીકરણ).રેન્ડમ_સ્ટેટ=42. આ સમય શ્રેણી (સ્વતંત્ર અવલોકનો) નથી. વિભાજન પછી દરેક સમૂહનો વર્ગ ગુણોત્તર છાપો. કોઈપણ રૂપાંતરણ લાગુ કર્યા વિના માત્ર ટેસ્ટ સેટમાં વિભાજન કોડ આપો.

3) સમય શ્રેણી કાલક્રમિક વિભાજન:

ડેટા સમય આધારિત છે (તારીખ કૉલમ: ઓર્ડર_તારીખ). રેન્ડમ નથી, કાલક્રમિક રીતે વિભાજીત કરો: સૌથી જૂની 80% તાલીમ, સૌથી નવી 20% પરીક્ષણ. તાલીમ અને પરીક્ષણની તારીખ શ્રેણીઓ છાપો જેથી હું ચકાસી શકું કે ભવિષ્ય લીક થયું નથી.

4) આધારરેખા સેટ કરવી:

મને વર્ગીકરણની સમસ્યા છે (લક્ષ્ય: મંથન 0/1). પ્રથમ એક આધારરેખા સ્થાપિત કરો: ડમીક્લાસિફાયર સાથે તાલીમ/પરીક્ષણની ચોકસાઈને માપો, જે હંમેશા બહુમતી વર્ગની આગાહી કરે છે. પછી એક સરળ લોજિસ્ટિક રીગ્રેસનને તાલીમ આપો અને તુલના કરો કે તે આધારરેખાને હરાવે છે કે કેમ. બંને બાજુના માપદંડો બતાવો.

નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ

નબળા પ્રોમ્પ્ટ:

આ ડેટા સાથે શ્રેષ્ઠ મોડલ બનાવો.

"શ્રેષ્ઠ" અવ્યાખ્યાયિત છે; ત્યાં કોઈ સમસ્યા પ્રકાર નથી, કોઈ ધ્યેય નથી, સફળતાનો કોઈ માપદંડ નથી અને કોઈ વિભાજન વ્યૂહરચના નથી. AI રેન્ડમ પેટર્ન જનરેટ કરે છે, જે કદાચ લીક થઈ શકે છે.

શક્તિશાળી પ્રોમ્પ્ટ:

તમારી ભૂમિકા: મોડેલિંગ સહાયક. સમસ્યા: વર્ગીકરણ, લક્ષ્ય "મથન" (0/1), વર્ગ અસંતુલન છે (~12% મંથન). સફળતાનો માપદંડ: મંથન કરનારાઓને યાદ કરવા એ પ્રાથમિકતા છે. ડેટા સ્વતંત્ર અવલોકન (સમય શ્રેણી નહીં). કાર્ય: (1) 80/20% સ્તરીકૃત વિભાજન, (2) ડમીક્લાસિફાયર બેઝલાઇન, (3) લોજિસ્ટિક રીગ્રેશન, પાઇપલાઇનમાં તમામ પરિવર્તનો અને માત્ર તાલીમમાંથી શીખ્યા. વિભાજન કરતા પહેલા ટેસ્ટ સેટને સ્પર્શ કરશો નહીં.

અહીં સમસ્યાનો પ્રકાર, અસંતુલન, માપદંડ અને લિકેજ માપ સ્પષ્ટ છે.

સામાન્ય ભૂલો

  • વાસ્તવિક હેતુ અનુસાર સફળતાના માપદંડો પસંદ ન કરવા. અસંતુલિત ડેટામાં "ચોક્કસતા" ભ્રામક છે; લઘુમતી વર્ગને પકડવો હોય તો રિકોલ સામે આવે છે.
  • તાલીમ દરમિયાન ટેસ્ટ સેટને સ્પર્શ કરવો. વિભાજન પહેલાં સ્કેલિંગ/એન્કોડિંગ કરવું લીક છે અને વાસ્તવિક પ્રદર્શન છુપાવે છે.
  • સમય શ્રેણીમાં રેન્ડમ વિભાજન. મોડેલ ભવિષ્ય જુએ છે, ઉત્પાદનમાં પતન કરે છે; કાલક્રમિક વિભાજન જરૂરી છે.
  • આધારરેખા સ્થાપિત કર્યા વિના જટિલ મોડેલમાં જમ્પિંગ. બેન્ચમાર્ક વિના તમે જાણી શકતા નથી કે મોડેલ ખરેખર સારું છે કે નહીં.
  • અર્થઘટનની અવગણના. વ્યવસાયિક નિર્ણયોમાં, એક સરળ સમજાવી શકાય તેવું મોડેલ બ્લેક બોક્સ કરતાં ઘણી વાર વધુ મૂલ્યવાન હોય છે.
ટીપ: તમે મોડેલ બનાવવાનું શરૂ કરો તે પહેલાં, એક વાક્ય લખો: "આ મોડેલ _____ ની આગાહી કરશે, તેની સફળતા મેટ્રિક _____ દ્વારા માપવામાં આવશે, કારણ કે જોબની સાચી કિંમત _____ છે." જો તમે આ વાક્ય ભરી શકતા નથી, તો તમે હજુ સુધી કોડ લખવા માટે તૈયાર નથી.

સારાંશમાં

મૉડલ બનાવવાનો સૌથી મહત્ત્વનો ભાગ કોડ નથી, પરંતુ તેના પહેલાના નિર્ણયો છે: યોગ્ય સમસ્યાને વ્યાખ્યાયિત કરવી (વર્ગીકરણ અથવા રીગ્રેસન, ધ્યેય શું છે, સફળતાનો માપદંડ શું છે) અને ડેટાને યોગ્ય રીતે વિભાજીત કરવા (પરીક્ષણ સમૂહને સ્પર્શ કર્યા વિના; સમય શ્રેણીમાં કાલક્રમિક). હંમેશા સરળ આધારરેખાથી શરૂ કરો અને જ્યારે તે તેને લાયક હોય ત્યારે જ જટિલતા ઉમેરો; અર્થઘટનક્ષમતા મોટા ભાગના વ્યાપારી સંદર્ભોમાં સત્તા કરતાં મૂલ્યવાન છે. AI એ એલ્ગોરિધમ પસંદગી અને કોડમાં એક શક્તિશાળી સલાહકાર છે, પરંતુ તમે શું અને શા માટે આગાહી કરો છો તે માનવ નક્કી કરે છે.

એપ્લિકેશન કાર્ય

આગાહીની સમસ્યાને વ્યાખ્યાયિત કરો અને નીચેના વાક્યને લેખિતમાં પૂર્ણ કરો: "આ મોડેલ ___ (વર્ગીકરણ/રીગ્રેશન) ની આગાહી કરશે, લક્ષ્ય ___ છે, સફળતાનો માપદંડ ___ છે કારણ કે ___." પછી ડેટાને યોગ્ય વ્યૂહરચના સાથે વિભાજિત કરો (કાલક્રમિક જો તે સમય શ્રેણી હોય તો), એક આધારરેખા સ્થાપિત કરો અને માપો કે શું સરળ પેટર્ન તે આધારરેખાને તોડે છે.

ચેકલિસ્ટ

  • [ ] શું મેં સમસ્યાનો પ્રકાર (વર્ગીકરણ/રીગ્રેશન) અને લક્ષ્યને સ્પષ્ટ રીતે વ્યાખ્યાયિત કર્યું છે?
  • [ ] શું મેં નોકરીની વાસ્તવિક કિંમતના આધારે સફળતાના માપદંડ પસંદ કર્યા છે?
  • શું મેં તાલીમ દરમિયાન ટેસ્ટ સેટને અસ્પૃશ્ય રાખ્યો હતો?
  • [ ] જો તે સમય શ્રેણી છે, તો શું મેં તેને કાલક્રમિક રીતે વિભાજિત કર્યું છે?
  • [ ] શું મેં જટિલ મોડલ પર આગળ વધતા પહેલા બેઝલાઇન સ્થાપિત કરી છે?