નફો:
- ગુમ થયેલ મૂલ્યોના કારણને અલગ પાડવાની ક્ષમતા (રેન્ડમ, વ્યવસ્થિત, અર્થપૂર્ણ) અને યોગ્ય વ્યૂહરચના પસંદ કરો અને એકલા તાલીમથી ભરણ મૂલ્યની ગણતરી કરો
- આઉટલિયર્સને કાઢી નાખતા પહેલા તપાસવાની અને ડેટા ભૂલ અને સાચી દુર્લભ ઘટના વચ્ચે તફાવત કરવાની ક્ષમતા
- સ્ટાન્ડર્ડમાં પ્રકાર અને ફોર્મેટની અસંગતતાઓને લાવતી વખતે લીટીઓ/ખાલીઓની સંખ્યા પરના દરેક પગલાની અસરનું નિરીક્ષણ કરીને સાયલન્ટ નુકશાન અટકાવવાની ક્ષમતા
ડેટા સાયન્ટિસ્ટનો અંદાજે 60-80 ટકા સમય સફાઈમાં જાય છે; ઉદ્યોગમાં, આને અડધી મજાકમાં "ડેટા રેંગલીંગ" (ડેટા રેંગલીંગ અથવા ડેટા ક્લીનીંગ) કહેવામાં આવે છે. કારણ કે વાસ્તવિક દુનિયાનો ડેટા લગભગ ક્યારેય પૃથ્થકરણ માટે તૈયાર થતો નથી: તારીખો મિશ્ર ફોર્મેટમાં હોય છે, સંખ્યાઓ ટેક્સ્ટ તરીકે સંગ્રહિત થાય છે, કેટલાક કોષો ખાલી હોય છે, ગ્રાહક બે અલગ-અલગ જોડણી સાથે એક જ કોષ્ટકમાં ત્રણ વખત દેખાય છે. આ એકમમાં અમે ક્લિનઅપના ત્રણ મૂળભૂત પાસાઓને આવરી લઈશું: ખૂટતા મૂલ્યો, આઉટલિયર્સ અને પ્રકાર/ફોર્મેટ રૂપાંતરણ. કૃત્રિમ બુદ્ધિ આ કાર્યમાં અસાધારણ રીતે ઝડપી સહાયક છે; પરંતુ તમે જ નક્કી કરો છો કે શું અને કેવી રીતે સાફ કરવું, કારણ કે દરેક સફાઈ પસંદગી વિશ્લેષણને બદલે છે.
સફાઈનો સુવર્ણ નિયમ: દરેક ફેરફાર એ નિર્ણય છે
કોષને કાઢી નાખવું, સરેરાશ સાથે ખૂટતું મૂલ્ય ભરવું, આઉટલીયરને ટ્રિમ કરવું - આમાંથી કોઈ પણ "તટસ્થ" કામગીરી નથી. દરેક ડેટામાં ફેરફાર કરે છે અને પરિણામને અસર કરે છે. તેથી સફાઈનો સુવર્ણ નિયમ: કોડમાં દરેક ફેરફાર લખો, તર્કને નોંધો, મૂળ ડેટાને ક્યારેય ઓવરરાઈટ કરશો નહીં. AI તમને ઝડપી ક્લીનઅપ કોડ આપે છે, પરંતુ તે કોડ શું કરે છે તે સમજવાની જવાબદારી તમારી છે; જ્યારે તમે "ખાલી લીટીઓ કાઢી નાખો" કહો ત્યારે કેટલી લાઈનો ગઈ છે તે જોયા વિના તેને ચલાવશો નહીં.
સાવધાન: મૂળ કાચા ડેટાને ક્યારેય સંશોધિત કરશો નહીં. સાફ કરેલ સંસ્કરણને અલગ ફાઇલ/ટેબલ પર લખો. આ રીતે, જો તમને કોઈ ભૂલ દેખાય છે, તો તમે ચોરસ એક પર પાછા જઈ શકો છો અને પુનઃઉત્પાદનક્ષમતા જાળવી શકો છો.
ગુમ થયેલ મૂલ્યો: તે શા માટે ખાલી છે, શું કરવું
ખૂટતું મૂલ્ય (સામાન્ય રીતે NaN તરીકે દેખાય છે - પંડામાં "નંબર નથી") જ્યારે કોષ ખાલી હોય છે. પરંતુ અંતરનું કારણ ઉકેલ નક્કી કરે છે. ત્યાં ત્રણ લાક્ષણિક પરિસ્થિતિઓ છે. રેન્ડમ ખૂટે છે: સેન્સર એક ક્ષણ માટે કામ કરતું નથી; તેને ભરવું વ્યાજબી હોઈ શકે છે. વ્યવસ્થિત રીતે ખૂટે છે: ફોર્મ ફીલ્ડ માત્ર અમુક ગ્રાહકો માટે જ પૂછવામાં આવે છે; અહીં ગેપ ખરેખર માહિતી છે. નોંધપાત્ર ખૂટે છે: જો "રીટર્ન તારીખ" ખાલી હોય, તો ગ્રાહકે પરત ન કર્યું; આ જગ્યાનો અર્થ 0 અથવા "કોઈ નથી", તે ભરાયેલ નથી.
મુખ્ય વ્યૂહરચના:
વ્યૂહરચના
તે ક્યારે યોગ્ય છે?
જોખમ
પંક્તિ કાઢી નાખો
ખૂટતો દર ઘણો ઓછો (<5%) અને રેન્ડમ છે
ડેટા અને રજૂઆતની ખોટ
કૉલમ કાઢી નાખો
મોટાભાગની કૉલમ ખાલી છે (>60%)
માહિતીની ખોટ
સરેરાશ/મધ્યમ ભરણ
સંખ્યાત્મક, અવ્યવસ્થિત રીતે ખૂટે છે
તે ભિન્નતા ઘટાડે છે અને વિતરણને વિકૃત કરે છે
શ્રેણી "અજ્ઞાત"
વર્ગીકૃત, વ્યવસ્થિત ખૂટે છે
વધારાની શ્રેણીઓ બનાવે છે
મોડેલ સાથે આગાહી
જટિલ, કિંમતી કૉલમ
લીક જોખમ, જટિલતા
નિર્ણાયક મુદ્દો: આરોપણ મૂલ્યની ગણતરી ફક્ત તાલીમ ડેટામાંથી જ થવી જોઈએ અને તે જ મૂલ્ય પરીક્ષણ ડેટા પર લાગુ થવું જોઈએ. જો તમે ટેસ્ટ ડેટાની સરેરાશ શામેલ કરો છો, તો તમે લીકેજ બનાવો છો (યુનિટ 10). મધ્યક (ઓર્ડિનલ ડેટાનું મધ્યમ મૂલ્ય) ઘણીવાર સરેરાશને પસંદ કરવામાં આવે છે કારણ કે તે સરેરાશ કરતાં આઉટલીયર માટે વધુ મજબૂત હોય છે.
આઉટલિયર્સ: ભૂલ કે વાસ્તવિક?
આઉટલીયર બે વસ્તુઓમાંથી એક હોઈ શકે છે: ડેટા ભૂલ (ઉંમર કૉલમમાં 999) અથવા વાસ્તવિક પરંતુ દુર્લભ ઘટના (ગ્રાહકનો $2 મિલિયનનો ઓર્ડર). બંનેને ગૂંચવવું વિનાશક છે: સાચા આઉટલાયરને કાઢી નાખો અને તમે મહત્વપૂર્ણ માહિતી ફેંકી દો; જો તમે ભૂલ છોડી દો, તો તમારી સરેરાશને નુકસાન થશે. તેથી, પહેલા આઉટલીયરની તપાસ કરવી જરૂરી છે, તેને આપમેળે કાઢી નાખવા માટે નહીં.
સામાન્ય શોધ પદ્ધતિઓ: IQR પદ્ધતિ (ઇન્ટરક્વાર્ટાઇલ રેન્જ; મૂલ્યો કે જે ડેટાના 25% અને 75% ક્વિન્ટાઇલ્સ વચ્ચેના તફાવતના 1.5 ગણા કરતાં વધુ છે) અને z-સ્કોર (માનક વિચલનોની સંખ્યા સરેરાશ મૂલ્યથી દૂર છે; સામાન્ય રીતે જો તે 3 કરતા વધારે હોય તો આઉટલાયર). AI સેકન્ડોમાં આ ગણતરીઓ માટે કોડ લખે છે; પરંતુ તમે "કાઢી નાખો" કહો તે પહેલાં, તે મૂલ્યો શું છે તે તપાસો.
પ્રકાર અને ફોર્મેટ રૂપાંતરણ: સાયલન્ટ એરર સ્ત્રોત
સૌથી વધુ માથાનો દુખાવો એક ડેટા પ્રકાર મૂંઝવણ છે. જો "રકમ" કૉલમ ટેક્સ્ટ તરીકે સંગ્રહિત હોય, તો તમે ઉમેરી શકતા નથી; પ્રોગ્રામ ખોટી રીતે "એક હજાર બેસો અને પચાસ" ને બદલે "1,250.50" જેવા ટર્કિશ ફોર્મેટ કરેલ નંબરને વાંચે છે. તારીખો ("01/03/2024" દિવસ-મહિનો કે મહિનો-દિવસ?), શ્રેણીઓ ("પુરુષ"/"પુરુષ"/"એમ" સમાન વસ્તુ છે?) અને એકમો (TL અથવા kuruş?) ચૂપચાપ ખોટા પરિણામો આપે છે. સફાઈનો એક મોટો ભાગ આ અસંગતતાને ધોરણમાં ખેંચી રહ્યો છે: તારીખોને એક ફોર્મેટમાં, એક જોડણીમાં શ્રેણીઓ, સંખ્યાઓને એક એકમમાં.
ત્રણ નાના કેસો
કેસ 1 — સરેરાશ છટકું. એક ટીમે સરેરાશ ($48,500) સાથે આવક સ્તંભમાં 320 ખૂટતા મૂલ્યો ભર્યા. પરંતુ ખામીઓ વ્યવસ્થિત હતી: આ ઓછી આવક ધરાવતા સેગમેન્ટ હતા જેમણે ક્યારેય આવક જાહેર કરી ન હતી. સરેરાશ ભરવાથી આ જૂથ કૃત્રિમ રીતે સમૃદ્ધ બન્યું અને ક્રેડિટ મોડલ ખોટું હતું. પાઠ: તેને ભરતા પહેલા "તે કેમ ખાલી છે" પૂછો.
કેસ 2 - આઉટલીયર જેને કાઢી નાખવો જોઈએ નહીં. છૂટક વિશ્લેષકે વેચાણ ડેટામાંથી 4 વિશાળ ઓર્ડર્સ (1.8 મિલિયન TL પ્રત્યેક) કાઢી નાખ્યા, વિચારીને કે તે "ભૂલો" છે. જો કે, આ વાસ્તવિક કોર્પોરેટ ઓર્ડર હતા અને કુલ ટર્નઓવરના 22% હતા. પોસ્ટ-ડિલિટેશન ફોરકાસ્ટ મોડલ સંસ્થાકીય માંગને સંપૂર્ણપણે ચૂકી ગયું. પાઠ: આઉટલીયરને કાઢી નાખતા પહેલા તેની તપાસ કરો.
કેસ 3 — તારીખ ફોર્મેટ ડિઝાસ્ટર. CSV માં, તારીખો "2024-03-01" અને "01.03.2024" બંનેમાં મિશ્રિત કરવામાં આવી હતી. જ્યારે YZ દ્વારા લખાયેલ કોડને પ્રથમ ફોર્મેટ મુજબ પાર્સ કરવામાં આવ્યો ત્યારે 6,400 લીટીઓ "અમાન્ય તારીખ" તરીકે NaT બની અને તેને વિશ્લેષણમાંથી શાંતિપૂર્વક બાકાત રાખવામાં આવી. વિશ્લેષકે આ ત્યારે જ નોંધ્યું જ્યારે લાઇનની સંખ્યામાં ઘટાડો થયો. પાઠ: રૂપાંતર પછી હંમેશા લીટીઓ અને ખાલી જગ્યાઓની સંખ્યા તપાસો.
ચાર નકલ કરી શકાય તેવા નમૂનાઓ
1) ગુમ થયેલ મૂલ્યનો નકશો:
મારી પાસે પાંડા ડીએફ છે. કોડ લખો જે દરેક કૉલમ માટે ગુમ થયેલ સંખ્યા અને ટકાવારી (NaN) દર્શાવતું કોષ્ટક બનાવે છે. પછી, 40% થી વધુ ખૂટતા દર સાથે અને 5% થી નીચે ખૂટતો દર ધરાવતા કૉલમ્સની અલગથી સૂચિ બનાવો. ફક્ત આ ડાયગ્નોસિસ કોડ જનરેટ કરો, તમે કઈ વ્યૂહરચના સૂચવો છો તે નહીં; હું નિર્ણય લઈશ.
2) બાહ્ય નિરીક્ષણ (કાઢી નાખવું નહીં):
કોડ લખો જે IQR પદ્ધતિનો ઉપયોગ કરીને મારી "રકમ" કૉલમ માટે બહાર નીકળે છે (કાઢી નાખતું નથી!) બહારની પંક્તિઓને અલગ ડીએફમાં મૂકો જેથી કરીને હું તેને જાતે જ ચકાસી શકું. આઉટલાયર્સની સંખ્યા અને કુલમાં તેમનો હિસ્સો પણ છાપો.
3) પ્રકાર/ફોર્મેટ માનકીકરણ:
કોડ લખો જે નીચેની કૉલમને પ્રમાણિત કરે છે:- "તારીખ": મિશ્ર ફોર્મેટ હોઈ શકે છે ("2024-03-01" અને "01.03.2024"); તે બધાને ડેટટાઇમમાં કન્વર્ટ કરો, અનુવાદ ન કરી શકાય તેવા લોકોની ગણતરી કરો અને જાણ કરો (ચૂપચાપ ફેંકી દો). - "લિંગ": "પુરુષ"/"પુરુષ"/"એમ" -> "એમ", "સ્ત્રી"/"સ્ત્રી"/"એફ" -> "કે". - "રકમ": ટર્કિશ ફોર્મેટ કરેલ ટેક્સ્ટ ("1.250,50") -> દશાંશ સંખ્યા. દરેક રૂપાંતરણ પછી કેટલી પંક્તિઓ પ્રભાવિત થાય છે તે છાપો.
4) સફાઈ કરતા પહેલા/પછી તપાસો:
કોડ લખો કે જે સફાઈ પગલા પહેલા અને પછી પસંદ કરેલ કૉલમના df.shape, ખૂટતી ગણતરી અને સારાંશ આંકડા (મીન, મધ્ય, ન્યૂનતમ, મહત્તમ) ની તુલના કરે છે. હેતુ: સફાઈમાં શું ફેરફાર થાય છે તે જોવા માટે.
નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ
નબળા પ્રોમ્પ્ટ:
આ ડેટા સાફ કરો.
"સ્પષ્ટ" અસ્પષ્ટ છે; AI જાણતું નથી કે કયા ખૂટતા ભાગોને કાઢી નાખવા જોઈએ, શું ભરવું જોઈએ, કઈ કૉલમ પર પ્રક્રિયા કરવી અને કેવી રીતે કરવી. પરિણામ: અંધ, બદલી ન શકાય તેવા ફેરફારો.
શક્તિશાળી પ્રોમ્પ્ટ:
તમારી ભૂમિકા: ડેટા સફાઇ સહાયક. df કૉલમ્સ: customer_id (int), registration_date (મિશ્ર ફોર્મેટ ટેક્સ્ટ), revenue_tl (ટેક્સ્ટ, "1,200.00"), શહેર (ટેક્સ્ટ, અસંગત જોડણી). નિયમો:- મૂળ ડીએફ બદલવું; df_clean નામની નકલ પર કામ કરો.- Income_tl ને નંબરમાં કન્વર્ટ કરો, જે ભાષાંતર કરી શકાતું નથી તેની ગણતરી કરો. ઉમેદવારોને અલગથી બતાવો. દરેક પગલા પછી, df_temiz.shape અને ખૂટતો નંબર છાપો.
અહીં સ્રોત સુરક્ષિત છે, દરેક રૂપાંતરણની ગણતરી કરવામાં આવે છે, કાઢી નાખવાનું માનવ પર છોડી દેવામાં આવે છે.
સામાન્ય ભૂલો
- "તે શા માટે ખાલી છે?" પૂછ્યા વિના ખાલી જગ્યાઓ ભરવી. સરેરાશ સાથે વ્યવસ્થિત/નોંધપાત્ર અભાવ ભરવાથી ડેટા વિકૃત થાય છે.
- આઉટલીયરને તપાસ્યા વિના કાઢી નાખવું. વાસ્તવિક પરંતુ દુર્લભ ઘટનાઓને છોડી દેવાથી મહત્વપૂર્ણ માહિતીનો નાશ થાય છે.
- બધા ડેટામાંથી પેડિંગ મૂલ્યની ગણતરી. પરીક્ષણ ડેટા સહિત લિકેજ બનાવે છે; ફક્ત તાલીમમાંથી ગણતરી કરો.
- રૂપાંતર પછી પંક્તિઓ/ખાલીઓની સંખ્યા તપાસતા નથી. પંક્તિઓ જે શાંતિપૂર્વક NaT/NaN છે તેને વિશ્લેષણમાંથી બાકાત રાખવામાં આવી છે.
- મૂળ ડેટા પર ફરીથી લખી રહ્યું છે. વળતર અને પ્રજનનક્ષમતા ખોવાઈ ગઈ છે.
ટીપ: "પહેલાં-પછી" સરખામણી સાથે શુદ્ધિ ચલાવો. દરેક પગલા પછી df.shape, ખૂટતી ગણતરી અને જટિલ કૉલમના સારાંશ આંકડા છાપો. તેથી તમે તરત જ જોશો કે એક પગલું અણધારી રીતે 6,000 પંક્તિઓનો નાશ કરે છે.
સારાંશમાં
સફાઇ એ ડેટા સાયન્સનો સૌથી વધુ સમય માંગી લેતો અને નિર્ણય-જરૂરી તબક્કો છે. દરેક ફેરફાર ડેટાને બદલે છે, તેથી દરેક એક સભાન નિર્ણય છે. ગુમ થયેલ મૂલ્યો માટે, પૂછો "તે શા માટે ખાલી છે?" કોઈપણ આઉટલીયરને કાઢી નાખતા પહેલા તેની સમીક્ષા કરો; પ્રકાર અને ફોર્મેટને ધોરણમાં લાવો. માત્ર પ્રશિક્ષણ ડેટામાંથી ભરણ મૂલ્યની ગણતરી કરો, મૂળ રાખો અને દરેક પગલાની અસરને ગણતરી કરીને ટ્રૅક કરો. AI આ વ્યવસાયમાં એક જબરદસ્ત પ્રવેગક છે, પરંતુ મનુષ્ય નક્કી કરે છે કે તમે શું સાફ કરો છો અને શા માટે.
એપ્લિકેશન કાર્ય
એક નાનું ટેબલ લો (અથવા બનાવો) અને ઇરાદાપૂર્વક તેમાં ત્રણ સમસ્યાઓ દાખલ કરો: ગુમ થયેલ મૂલ્ય ટપલ, આઉટલીયર, મિશ્ર તારીખ ફોર્મેટ. ઉપરોક્ત નમૂનાઓ સાથે AI થી નિદાન અને માનકીકરણ કોડની વિનંતી કરો; દરેક પગલા પહેલા/પછી પંક્તિઓ અને ખાલી જગ્યાઓની સંખ્યાની તુલના કરો. ઓછામાં ઓછું એક "મૌન નુકશાન" પકડવાનો પ્રયાસ કરો અને નોંધ કરો કે તમે તેને કેવી રીતે જોયું.
ચેકલિસ્ટ
- [ ] શું મેં મૂળ કાચો ડેટા રાખ્યો હતો અને નકલ પર કામ કર્યું હતું?
- [ ] શું મેં દરેક ખૂટતી કૉલમ માટે "તે શા માટે ખાલી છે" એવો પ્રશ્ન પૂછ્યો છે?
- [ ] શું મેં આઉટલીયર્સને કાઢી નાખતા પહેલા તેમની સમીક્ષા કરી હતી?
- [ ] શું મેં ફક્ત તાલીમના ડેટામાંથી જ પેડિંગ મૂલ્યની ગણતરી કરી છે?
- શું હું દરેક પગલા પછી લીટીઓ/ખાલીઓની સંખ્યા તપાસી રહ્યો છું અને સાયલન્ટ લોસને દૂર કરું છું?