നേട്ടങ്ങൾ:
- ഡൊമെയ്ൻ പരിജ്ഞാനം ഉപയോഗിച്ച് അർത്ഥവത്തായ ഡെറിവേറ്റീവ് ഫീച്ചറുകൾ നിർമ്മിക്കാനും ഉചിതമായ രീതികൾ (വൺ-ഹോട്ട്, ലേബൽ, ടാർഗെറ്റ്) ഉപയോഗിച്ച് വിഭാഗീയ വിഭാഗങ്ങൾ എൻകോഡ് ചെയ്യാനും ഉള്ള കഴിവ്
- മോഡൽ തരം (സ്റ്റാൻഡേർഡൈസേഷൻ, നോർമലൈസേഷൻ) അനുസരിച്ച് സംഖ്യാ വേരിയബിളുകൾ സ്കെയിൽ ചെയ്യാനുള്ള കഴിവ് കൂടാതെ അനാവശ്യമോ അപൂർണ്ണമോ ആയ സ്കെയിലിംഗ് ഒഴിവാക്കുക
- പരിശീലന/ടെസ്റ്റ് വിഭജനത്തിന് ശേഷമുള്ള എല്ലാ പരിവർത്തനങ്ങളും പരിശീലനത്തിൽ നിന്ന് മാത്രം പഠിച്ചുകൊണ്ട് ഫീച്ചർ ചോർച്ച ഒഴിവാക്കാനുള്ള കഴിവ്
മെഷീൻ ലേണിംഗിൽ ഒരു പഴഞ്ചൊല്ലുണ്ട്: "അപ്ലൈഡ് മെഷീൻ ലേണിംഗ് അടിസ്ഥാനപരമായി ഫീച്ചർ എഞ്ചിനീയറിംഗ് ആണ്." കാരണം, നിങ്ങൾ തിരഞ്ഞെടുക്കുന്ന അൽഗോരിതം എന്നതിലുപരി, മോഡലിന് നിങ്ങൾ നൽകുന്ന ഇൻപുട്ടുകളിൽ നിന്നാണ് ഒരു മോഡലിൻ്റെ വിജയം പലപ്പോഴും ഉണ്ടാകുന്നത്. മോഡലിന് പഠിക്കാൻ കഴിയുന്ന അസംസ്കൃത ഡാറ്റയിൽ നിന്ന് അർത്ഥവത്തായ സിഗ്നലുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള കലയാണ് ഫീച്ചർ എഞ്ചിനീയറിംഗ്. ഈ ഘട്ടത്തിലെ ആശയങ്ങളുടെ സമ്പന്നമായ ഉറവിടമാണ് ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ്: "ഈ ഡാറ്റയിൽ നിന്ന് എന്ത് സവിശേഷതകൾ നിർമ്മിക്കാൻ കഴിയും" എന്ന് നിങ്ങൾ ചോദിക്കുമ്പോൾ, അത് ഡസൻ കണക്കിന് നിർദ്ദേശങ്ങൾ പട്ടികപ്പെടുത്തുന്നു. എന്നാൽ ഈ നിർദ്ദേശങ്ങളിൽ ചിലത് വിലപ്പെട്ടതായിരിക്കാം, ചിലത് ഉപയോഗശൂന്യമായേക്കാം, ചിലത് അപകടകരമായിരിക്കാം (ചോർച്ച). അത് പരിഹരിക്കേണ്ടത് നിങ്ങളുടെ ജോലിയാണ്.
എന്തുകൊണ്ട് ഫീച്ചർ എഞ്ചിനീയറിംഗ്
അസംസ്കൃത ഡാറ്റ അതിൻ്റെ മികച്ച രൂപത്തിൽ മോഡലിലേക്ക് വരുന്നത് വളരെ വിരളമാണ്. "ജനനത്തീയതി" കോളം മാത്രം അർത്ഥശൂന്യമാണെങ്കിലും, അതിൽ നിന്ന് സൃഷ്ടിക്കുന്ന "പ്രായം" മൂല്യം ശക്തമായ ഒരു സൂചനയാണ്. നിങ്ങൾക്ക് "ഓർഡർ ടൈംസ്റ്റാമ്പിൽ" നിന്ന് "ആഴ്ചയിലെ ദിവസം", "പകൽ/രാത്രി", "ഇത് അവധിയാണോ" തുടങ്ങിയ ആട്രിബ്യൂട്ടുകൾ എക്സ്ട്രാക്റ്റുചെയ്യാനാകും. നിങ്ങൾക്ക് രണ്ട് നിരകൾ സംയോജിപ്പിച്ച് ഒരു അനുപാതം ("കടം/വരുമാന അനുപാതം") ഉണ്ടാക്കാം. ഇവിടെ, ഫീച്ചർ എഞ്ചിനീയറിംഗ് ഡൊമെയ്ൻ വിജ്ഞാനത്തെ ഗണിത സിഗ്നലിലേക്ക് വിവർത്തനം ചെയ്യുന്നു; അതുകൊണ്ടാണ് ഏറ്റവും കൂടുതൽ മനുഷ്യബുദ്ധി ആവശ്യമുള്ള ഘട്ടം.
കാറ്റഗറിക്കല് വേരിയബിളുകളെ അക്കങ്ങളാക്കി മാറ്റുന്നു: കോഡിംഗ്
മോഡലുകൾ സാധാരണയായി അക്കങ്ങൾ ഉപയോഗിച്ചാണ് പ്രവർത്തിക്കുന്നത്, വാചകമല്ല. കാറ്റഗറിക്കൽ വേരിയബിളുകൾ (നഗരം, നിറം, ഉൽപ്പന്ന തരം പോലുള്ളവ) അക്കങ്ങളാക്കി മാറ്റുന്നതിനെ എൻകോഡിംഗ് എന്ന് വിളിക്കുന്നു. മൂന്ന് പൊതു രീതികൾ:
വൺ-ഹോട്ട് എൻകോഡിംഗ്: ഓരോ വിഭാഗത്തിനും 0/1 മൂല്യമുള്ള ഒരു പ്രത്യേക കോളം തുറക്കുന്നു. "നഗരം" എന്നതിന്, ഇസ്താംബുൾ, അങ്കാറ, ഇസ്മിർ നിരകൾ രൂപം കൊള്ളുന്നു; ഒരു ഉപഭോക്താവ് ഇസ്താംബൂളിൽ നിന്നുള്ളയാളാണെങ്കിൽ, ആ കോളം മാത്രമായിരിക്കും 1. വിഭാഗങ്ങളുടെ എണ്ണം ചെറുതായിരിക്കുമ്പോൾ അനുയോജ്യം; വളരെയധികം വിഭാഗങ്ങളുണ്ടെങ്കിൽ അത് നൂറുകണക്കിന് നിരകൾ നിർമ്മിക്കുന്നു (ഇതിനെ "വലിപ്പം പൊട്ടിത്തെറി" എന്ന് വിളിക്കുന്നു).
ലേബൽ എൻകോഡിംഗ്: ഓരോ വിഭാഗത്തിനും ഒരു നമ്പർ നൽകുന്നു (ഇസ്താംബുൾ=0, അങ്കാറ=1). ഇത് ലളിതമാണ്, പക്ഷേ ഇത് ആകസ്മികമായി മോഡലിനെ ഒരു ക്രമം പഠിപ്പിച്ചേക്കാം (അങ്കാറ > ഇസ്താംബുൾ പോലെ); അതിനാൽ ഓർഡർ ചെയ്യാത്ത വിഭാഗങ്ങളിൽ ഇത് ജാഗ്രതയോടെ ഉപയോഗിക്കുന്നു.
ടാർഗെറ്റ് എൻകോഡിംഗ്: ഓരോ വിഭാഗത്തെയും ആ വിഭാഗത്തിലെ ടാർഗെറ്റ് വേരിയബിളിൻ്റെ ശരാശരി ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ഇത് വളരെ ശക്തമാണ്, എന്നാൽ ചോർച്ചയുടെ ഏറ്റവും അപകടകരമായ ഉറവിടം: നിങ്ങൾ ടെസ്റ്റ് ഡാറ്റയുടെ ലക്ഷ്യം കണക്കിലെടുക്കുകയാണെങ്കിൽ, മോഡൽ ഭാവി കാണുന്നു. പരിശീലന ഡാറ്റയിൽ നിന്നും ശ്രദ്ധാപൂർവ്വം (ക്രോസ്-വാലിഡേഷനിൽ) മാത്രം ഇത് കണക്കാക്കണം.
സ്കെയിലിംഗ്: വലിയ സംഖ്യകൾ മോഡലിനെ മറികടക്കുന്നില്ല
ചില മോഡലുകൾ (ദൂരത്തെ അടിസ്ഥാനമാക്കിയുള്ളവ, ലീനിയർ മോഡലുകൾ, ന്യൂറൽ നെറ്റ്വർക്കുകൾ) വേരിയബിളുകളുടെ സ്കെയിലിനോട് സെൻസിറ്റീവ് ആണ്. "വരുമാനം" (0-500,000), "പ്രായം" (0-100) എന്നിവ ഒരേ പാറ്റേണിൽ വന്നാൽ, വരുമാനം വലുതായതിനാൽ ആധിപത്യം സ്ഥാപിക്കാം. സ്കെയിലിംഗ് ഇത് പരിഹരിക്കുന്നു. രണ്ട് സാധാരണ രീതികൾ: സ്റ്റാൻഡേർഡൈസേഷൻ (ഓരോ മൂല്യവും "മധ്യസ്ഥത്തിൽ നിന്ന് എത്ര സ്റ്റാൻഡേർഡ് വ്യതിയാനങ്ങൾ" എന്നതിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു) കൂടാതെ നോർമലൈസേഷൻ (മിനി-മാക്സ് നോർമലൈസേഷൻ - മൂല്യങ്ങളെ 0-1 ശ്രേണിയിലേക്ക് ചുരുക്കുന്നു). വൃക്ഷത്തെ അടിസ്ഥാനമാക്കിയുള്ള മോഡലുകൾ (തീരുമാന മരങ്ങൾ, ക്രമരഹിത വനങ്ങൾ) സ്കെയിൽ സെൻസിറ്റീവ് ആണ്, അവയ്ക്ക് സ്കെയിലിംഗ് ആവശ്യമില്ല.
മുന്നറിയിപ്പ്: സ്കെയിലിംഗ്, കോഡിംഗ് പാരാമീറ്ററുകൾ (മീൻ, സ്റ്റാൻഡേർഡ് ഡീവിയേഷൻ, കാറ്റഗറി-മീൻ മാപ്പിംഗ്) പരിശീലന ഡാറ്റയിൽ നിന്ന് മാത്രമേ കണക്കാക്കാവൂ, തുടർന്ന് ടെസ്റ്റ് ഡാറ്റയിലും ഇത് പ്രയോഗിക്കണം. ടെസ്റ്റ് ഡാറ്റ ഉൾപ്പെടുത്തുന്നത് ചോർച്ചയാണ്, നിങ്ങളുടെ മോഡലിനെ യഥാർത്ഥത്തിൽ ഉള്ളതിനേക്കാൾ മികച്ചതാക്കുന്നു.
ഫീച്ചർ എഞ്ചിനീയറിംഗിലെ ചോർച്ചയുടെ ഹൃദയം
ഫീച്ചർ ജനറേഷൻ എന്നത് ഡാറ്റാ ചോർച്ച മിക്കപ്പോഴും ഉത്ഭവിക്കുന്നിടത്താണ്. രണ്ട് സാധാരണ തെറ്റുകൾ: സമയ ചോർച്ച - ഭാവി വിവരങ്ങൾ ഉൾപ്പെടുന്ന ഒരു ഫീച്ചർ നിർമ്മിക്കുന്നു ("അവസാന 30 ദിവസത്തെ ശരാശരി" കണക്കാക്കുമ്പോൾ പ്രവചന ദിവസത്തിന് ശേഷമുള്ള ദിവസങ്ങൾ ഉൾപ്പെടെ). സ്ഥിതിവിവരക്കണക്കുകൾ ചോർച്ച - പരിശീലന/ടെസ്റ്റ് വിഭജനത്തിന് മുമ്പുള്ള എല്ലാ ഡാറ്റയിൽ നിന്നും ഒരു സവിശേഷത (സ്കെയിലിംഗ് ശരാശരി, ടാർഗെറ്റ് എൻകോഡിംഗ് മൂല്യം) കണക്കാക്കുന്നു. നിയമം: ട്രെയിൻ/ടെസ്റ്റ് സ്പ്ലിറ്റ് ചെയ്തതിന് ശേഷമുള്ള ഓരോ പരിവർത്തനവും പരിശീലന ഡാറ്റയിൽ നിന്ന് മാത്രം പഠിക്കുക. ഇത് പതിവായി ചെയ്യുന്നതിനുള്ള ഏറ്റവും സുരക്ഷിതമായ മാർഗം പൈപ്പ്ലൈൻ ഉപയോഗിക്കുക എന്നതാണ് - എല്ലാ പരിവർത്തനങ്ങളും ഒരൊറ്റ ശൃംഖലയിൽ ശേഖരിക്കുകയും വിഭജനത്തിന് ശേഷം അവ പ്രയോഗിക്കുകയും ചെയ്യുന്ന ഒരു ഘടന.
രീതി
എന്തിനു വേണ്ടി
ചോർച്ചയുടെ അപകടം
കുറിപ്പ്
ഒരു ചൂടുള്ള എൻകോഡിംഗ്
കുറച്ച് വിഭാഗങ്ങളുള്ള വേരിയബിൾ
താഴ്ന്ന
ഒന്നിലധികം വിഭാഗങ്ങളിൽ വലിപ്പം പൊട്ടിത്തെറിക്കുന്നു
ലേബൽ കോഡിംഗ്
തരംതിരിച്ച വിഭാഗം
താഴ്ന്ന
ക്രമം തെറ്റുന്നത് തെറ്റായ ക്രമം പഠിപ്പിക്കുന്നു
ടാർഗെറ്റ് എൻകോഡിംഗ്
മൾട്ടി-വിഭാഗം, ശക്തമായ സിഗ്നൽ
വളരെ ഉയർന്നത്
വിദ്യാഭ്യാസത്തിൽ നിന്ന് മാത്രം, സി.വി
സ്റ്റാൻഡേർഡൈസേഷൻ
ലീനിയർ/ഡിസ്റ്റൻസ് മോഡലുകൾ
ഇടത്തരം
പാരാമീറ്റർ വിദ്യാഭ്യാസത്തെ മാത്രം ആശ്രയിച്ചിരിക്കുന്നു
ടൈം വിൻഡോ ഫീച്ചർ
സമയ പരമ്പര
ഉയർന്നത്
ഭാവി ചേർക്കുക
മൂന്ന് മിനി കേസുകൾ
കേസ് 1 - വിലയേറിയ സ്വത്ത്. അസംസ്കൃത “പ്രതിമാസ വരുമാനം”, “പ്രതിമാസ കടം പേയ്മെൻ്റ്” എന്നീ നിരകളിൽ നിന്ന് ഒരു ക്രെഡിറ്റ് ടീം “കടം-വരുമാന അനുപാതം” സവിശേഷത സൃഷ്ടിച്ചു. ഈ ഒറ്റ ഉരുത്തിരിഞ്ഞ സവിശേഷത മോഡൽ കൃത്യത 71% ൽ നിന്ന് 79% ആയി വർദ്ധിപ്പിച്ചു; കാരണം കേവല വരുമാനമല്ല, നിരക്കാണ് യഥാർത്ഥത്തിൽ അപകടസാധ്യത നിർണ്ണയിച്ചത്. പാഠം: ഡൊമെയ്ൻ അറിവ് സൃഷ്ടിക്കുന്ന അനുപാതങ്ങൾ ശക്തമായ സിഗ്നലുകളാണ്.
കേസ് 2 - ടാർഗെറ്റ് എൻകോഡിംഗ് ചോർച്ച. ഒരു ടീം "സിപ്പ് കോഡ്" ടാർഗെറ്റ് എൻകോഡിംഗ് ഉപയോഗിച്ച് ഒരു സംഖ്യയാക്കി (ആ പ്രദേശത്തെ ശരാശരി ചർൺ റേറ്റ്), എന്നാൽ വിഭജിക്കുന്നതിന് മുമ്പ് എല്ലാ ഡാറ്റയിൽ നിന്നും അങ്ങനെ ചെയ്തു. മോഡൽ ടെസ്റ്റ് സെറ്റിൽ 94% നൽകി, ഉത്പാദനത്തിൽ 68% ആയി കുറഞ്ഞു. 6 ആഴ്ചത്തെ പരിശ്രമം പാഴായി. പാഠം: പരിശീലനത്തിനുള്ളിൽ മാത്രം ടാർഗെറ്റ് കോഡിംഗ് ശ്രദ്ധാപൂർവ്വം ചെയ്യുന്നു.
കേസ് 3 - സ്കെയിലിംഗ് മറക്കുന്നു. ഒരു അനലിസ്റ്റ് വരുമാനവും (0-400,000) ഉപഭോക്തൃ പ്രായവും (18-75) സ്കെയിലിംഗ് ഇല്ലാതെ ഒരു ദൂര-അടിസ്ഥാന മോഡലിലേക്ക് നൽകി. മോഡൽ ഏതാണ്ട് വരുമാനം മാത്രം നോക്കി, പ്രായത്തിൻ്റെ പ്രഭാവം തകർത്തു. സ്കെയിലിംഗ് ചേർത്തപ്പോൾ, വിഭജനം അർത്ഥപൂർണ്ണമായി. പാഠം: ദൂരം/രേഖീയ മോഡലുകളിൽ സ്കെയിലിംഗ് അവഗണിക്കപ്പെടുന്നില്ല.
പകർത്താവുന്ന നാല് ടെംപ്ലേറ്റുകൾ
1) ഫീച്ചർ ഐഡിയ ജനറേഷൻ (എലിമിനേഷൻ നിങ്ങളുടേതാണ്):
നിങ്ങളുടെ റോൾ: ഫീച്ചർ എഞ്ചിനീയറിംഗ് അസിസ്റ്റൻ്റ്. എൻ്റെ df കോളങ്ങൾ: birth_date, order_time (timestamp), income_tl, കടം_tl, city, product_category. ലക്ഷ്യം: "വായ്പ തിരിച്ചടയ്ക്കുമോ" (0/1). ഈ നിരകളിൽ നിന്ന് സൃഷ്ടിക്കാൻ കഴിയുന്ന 15 സവിശേഷതകൾ നിർദ്ദേശിക്കുക; ഓരോന്നിനും ചോർച്ച (കുറഞ്ഞ/ഇടത്തരം/ഉയർന്ന) സാധ്യത വ്യക്തമാക്കുക. ഭാവിയിലെ വിവരങ്ങൾ ഉൾക്കൊള്ളുന്നവ വ്യക്തമായി അടയാളപ്പെടുത്തുക.
2) സുരക്ഷിത കോഡിംഗ് (വിഭജനത്തിനു ശേഷമുള്ള):
"സിറ്റി", "പ്രൊഡക്ട്_കാറ്റഗറി" എന്നിവയെ ഒറ്റ-ഹോട്ട് എൻകോഡ് ചെയ്യുന്ന കോഡ് എഴുതുക. പ്രധാനം: പരിശീലന ഡാറ്റയിലേക്ക് മാത്രം എൻകോഡിംഗ് ഘടിപ്പിക്കുക, തുടർന്ന് ടെസ്റ്റ് ഡാറ്റ പരിവർത്തനം ചെയ്യുക (sklearn OneHotEncoder ഉപയോഗിച്ച്). വിദ്യാഭ്യാസത്തിൽ നിങ്ങൾ കാണാത്ത വിഭാഗം (handle_unknown) എങ്ങനെ കൈകാര്യം ചെയ്യുന്നു എന്ന് വിശദീകരിക്കുക.
3) പൈപ്പ് ലൈൻ ഉപയോഗിച്ച് ചോർച്ചയില്ലാത്ത പരിവർത്തനം:
sklearn പൈപ്പ്ലൈൻ സജ്ജീകരിക്കുക: സംഖ്യാ നിരകളിലേക്ക് StandardScaler പ്രയോഗിക്കുക, വർഗ്ഗീയ നിരകളിലേക്ക് OneHotEncoder പ്രയോഗിക്കുക, അവസാനം ഒരു ക്ലാസിഫയർ ചേർക്കുക. ട്രെയിൻ/ടെസ്റ്റ് വിഭജനത്തിന് ശേഷം പരിശീലനത്തിൽ നിന്ന് മാത്രം എല്ലാ പരിവർത്തനങ്ങളും പഠിക്കുമെന്ന് ഉറപ്പ്. കോഡും അത് ചോർച്ചയില്ലാത്തത് എന്തുകൊണ്ടാണെന്നും വിശദീകരിക്കുക.
4) ടൈം വിൻഡോ ഫീച്ചർ (ചോർച്ച നിയന്ത്രണം):
ഓരോ ഉപഭോക്താവിനും "കഴിഞ്ഞ 30 ദിവസങ്ങളിലെ ഓർഡറുകളുടെ എണ്ണം" ആട്രിബ്യൂട്ട് സൃഷ്ടിക്കുക, എന്നാൽ പ്രവചന ദിവസത്തിന് ശേഷം ഒരിക്കലും ഡാറ്റ ഉൾപ്പെടുത്തരുത്. കോഡ് ഭാവിയിലേക്ക് നോക്കുന്നില്ലെന്ന് വരി വരിയായി വിശദീകരിക്കുക. ഞാൻ റഫറൻസ് തീയതി കോളം നൽകും.
ദുർബലമായ പ്രോംപ്റ്റ് / ശക്തമായ പ്രോംപ്റ്റ്
ദുർബലമായ പ്രോംപ്റ്റ്:
ഈ ഡാറ്റയിലേക്ക് നല്ല പ്രോപ്പർട്ടികൾ ചേർക്കുക.
"നല്ലത്" എന്നത് നിർവചിക്കപ്പെട്ടിട്ടില്ല, ലക്ഷ്യം വ്യക്തമല്ല, ചോർച്ച നിയന്ത്രണമില്ല. AI ക്രമരഹിതമായ, ഒരുപക്ഷേ ചോർച്ചയുള്ള, സവിശേഷതകൾ സൃഷ്ടിക്കുന്നു.
ശക്തമായ നിർദ്ദേശം:
നിങ്ങളുടെ റോൾ: ഫീച്ചർ എഞ്ചിനീയർ. ടാർഗെറ്റ്: "30 ദിവസത്തിനുള്ളിൽ ചലിപ്പിക്കുക" (0/1), കണക്കാക്കിയ റഫറൻസ് തീയതി: save_date. df.Task-ൽ ഇടപാട് ചരിത്രമുണ്ട്: 8 ഫീച്ചറുകൾ സൃഷ്ടിക്കുക, ഓരോന്നിനും വേണ്ടി "പ്രവചന സമയത്ത് ഈ വിവരം എനിക്കുണ്ടോ" എന്ന ചോദ്യത്തിന് ഉത്തരം നൽകുക. ടൈം വിൻഡോ ഫീച്ചറുകളിൽ റഫറൻസ് തീയതിക്ക് ശേഷമുള്ള തീയതി ചേർക്കുന്നു. ട്രെയിൻ/ടെസ്റ്റ് സെക്ഷന് ശേഷം എക്സിക്യൂട്ട് ചെയ്യുന്നതിനായി പൈപ്പ്ലൈൻ-അനുയോജ്യമായ രീതിയിൽ കോഡ് എഴുതുക.
ഇവിടെ, ലക്ഷ്യം, റഫറൻസ് സമയം, ചോർച്ച നിയന്ത്രണം എന്നിവ തുടക്കം മുതൽ നിർവചിച്ചിരിക്കുന്നു.
സാധാരണ തെറ്റുകൾ
- വിഭജനത്തിന് മുമ്പുള്ള എല്ലാ ഡാറ്റയിൽ നിന്നും പരിവർത്തനം പഠിക്കുന്നു. സ്കെയിലിംഗ്/എൻകോഡിംഗ് പാരാമീറ്റർ ടെസ്റ്റ് ഡാറ്റ കാണുകയാണെങ്കിൽ, ചോർച്ച സംഭവിക്കുന്നു.
- ടാർഗെറ്റ് കോഡിംഗിൻ്റെ അശ്രദ്ധമായ ഉപയോഗം. ഇത് ഏറ്റവും ശക്തവും എന്നാൽ ഏറ്റവും ചോർച്ചയുള്ളതുമായ രീതിയാണ്; പരിശീലനത്തിൽ നിന്ന്, ക്രോസ് മൂല്യനിർണ്ണയത്തിൽ.
- ഒരു ടൈം വിൻഡോ ഫീച്ചർ ഉപയോഗിച്ച് ഭാവി ചേർക്കുന്നു. പ്രവചന ദിവസത്തിന് ശേഷം "അവസാന 30 ദിവസത്തെ" കണക്കുകൂട്ടൽ നൽകിയാൽ, മോഡൽ ഭാവി കാണുന്നു.
- ട്രീ മോഡലിൽ അനാവശ്യ സ്കെയിലിംഗും ലീനിയർ മോഡലിൽ അപൂർണ്ണമായ സ്കെയിലിംഗും. മോഡൽ തരം അനുസരിച്ച് സ്കെയിലിംഗ് തീരുമാനങ്ങൾ എടുക്കുന്നു.
- AI-യുടെ എല്ലാ ഫീച്ചർ നിർദ്ദേശങ്ങളും ചോദ്യം ചെയ്യാതെ ചേർക്കുന്നു. നിർദ്ദേശങ്ങളിൽ ഉപയോഗശൂന്യവും ചോർന്നൊലിക്കുന്നതുമായ സവിശേഷതകൾ ഉൾപ്പെട്ടേക്കാം.
നുറുങ്ങ്: നിങ്ങൾ സൃഷ്ടിക്കുന്ന ഓരോ ഫീച്ചറിനും ഒരൊറ്റ ചോദ്യം എഴുതുക: "ഞാൻ പ്രവചനം നടത്തുന്ന സമയത്ത് എൻ്റെ കൈവശമുള്ള വിവരങ്ങൾ ഉപയോഗിച്ച് എനിക്ക് ഈ മൂല്യം കണക്കാക്കാമോ?" ഉത്തരം വ്യക്തമായ "അതെ" അല്ലെങ്കിൽ, ഫീച്ചർ ഉപയോഗിക്കരുത്. ഈ ഒരൊറ്റ അച്ചടക്കം ഫീച്ചറുമായി ബന്ധപ്പെട്ട ചോർച്ചകളെ ഇല്ലാതാക്കുന്നു.
ചുരുക്കത്തിൽ
അസംസ്കൃത ഡാറ്റയിൽ നിന്ന് അർത്ഥവത്തായ സിഗ്നലുകൾ സൃഷ്ടിക്കുന്ന കലയാണ് ഫീച്ചർ എഞ്ചിനീയറിംഗ്, ഇത് പലപ്പോഴും അൽഗോരിതത്തേക്കാൾ മോഡലിൻ്റെ വിജയം നിർണ്ണയിക്കുന്നു. എൻകോഡിംഗ് കാറ്റഗറിക്കലുകൾ (വൺ-ഹോട്ട്, ലേബൽ, ടാർഗെറ്റ്), സ്കെയിലിംഗ് സംഖ്യകൾ (സ്റ്റാൻഡേർഡൈസേഷൻ, നോർമലൈസേഷൻ), ഡൊമെയ്ൻ വിജ്ഞാനം ഉപയോഗിച്ച് ഡെറിവേറ്റീവ് സവിശേഷതകൾ നിർമ്മിക്കൽ എന്നിവയാണ് അടിസ്ഥാന ഉപകരണങ്ങൾ. എന്നാൽ ഈ ഘട്ടം ചോർച്ചയുടെ ഹൃദയം കൂടിയാണ്: പരിശീലന/ടെസ്റ്റ് വിഭജനത്തിന് ശേഷം എല്ലാ പരിവർത്തനങ്ങളും പരിശീലന ഡാറ്റയിൽ നിന്ന് മാത്രം പഠിക്കണം. AI ധാരാളം ആശയങ്ങൾ സൃഷ്ടിക്കുന്നു; അപകടകരമായതിൽ നിന്ന് വിലപ്പെട്ടതിനെ വേർതിരിക്കുന്നത് മനുഷ്യൻ്റെ വിധിയാണ്.
ആപ്ലിക്കേഷൻ ടാസ്ക്
ഒരു ടാർഗെറ്റ് വേരിയബിൾ തിരഞ്ഞെടുത്ത് നിങ്ങളുടെ പക്കലുള്ള കോളങ്ങളിൽ നിന്ന് കുറഞ്ഞത് അഞ്ച് ഡെറിവേറ്റീവ് ഫീച്ചറുകളെങ്കിലും രൂപകൽപ്പന ചെയ്യുക. അവയിൽ ഓരോന്നിനും, "പ്രവചന സമയത്ത് ഞാൻ ലഭ്യമാണോ" എന്ന ചോദ്യത്തിന് രേഖാമൂലം ഉത്തരം നൽകുകയും കുറഞ്ഞത് ഒരെണ്ണമെങ്കിലും "ചോർച്ചയുടെ ഉയർന്ന അപകടസാധ്യത" എന്ന് ഒഴിവാക്കുകയും ചെയ്യുക. പാർട്ടീഷനു ശേഷം നടപ്പിലാക്കേണ്ട പൈപ്പ്ലൈനിലെ സുരക്ഷിത സവിശേഷതകൾ കോഡ് ചെയ്യുക.
ചെക്ക്ലിസ്റ്റ്
- [ ] ട്രെയിൻ/ടെസ്റ്റ് വിഭജനത്തിന് ശേഷം ഞാൻ എല്ലാ പരിവർത്തനങ്ങളും പ്രയോഗിച്ചോ?
- [ ] പരിശീലനത്തിൽ നിന്ന് സ്കെയിലിംഗ്/എൻകോഡിംഗ് പാരാമീറ്ററുകൾ മാത്രമാണോ ഞാൻ പഠിച്ചത്?
- [ ] ഓരോ ഫീച്ചറിനും വേണ്ടിയുള്ള "പ്രവചന സമയത്ത് എനിക്കത് ഉണ്ടോ" എന്ന ചോദ്യത്തിന് ഞാൻ ഉത്തരം നൽകിയിട്ടുണ്ടോ?
- ടാർഗെറ്റ് കോഡിംഗ് പോലുള്ള ഉയർന്ന അപകടസാധ്യതയുള്ള രീതികളിൽ ഞാൻ കൂടുതൽ ശ്രദ്ധ ചെലുത്തിയിട്ടുണ്ടോ?
- [ ] മോഡൽ തരത്തിന് (ട്രീ/ലീനിയർ) അനുയോജ്യമായ രീതിയിൽ സ്കെയിൽ ചെയ്യാൻ ഞാൻ തീരുമാനിച്ചിട്ടുണ്ടോ?