फीचर इंजीनियरिंग
मशीन लर्निंग एल्गोरिदम को अधिक प्रभावी बनाने के लिए डेटा अभ्यावेदन को बदलना।
Ready for Machine Learning Training
X_TRAIN, Y_TRAIN: Validation Passed
फीचर इंजीनियरिंग क्या है?
जबकि डेटा क्लीनिंग त्रुटियों को दूर करने पर केंद्रित है, फीचर इंजीनियरिंग (Feature Engineering) आपके डेटा की भविष्यवाणी करने की शक्ति को अधिकतम करने के बारे में है। इसमें कच्चे डेटा को चुनना, हेरफेर करना और 'फीचर्स' (विशेषताओं) में बदलना शामिल है जिसे एल्गोरिदम आसानी से समझ सकते हैं।
AI के अग्रणी एंड्रयू एनजी (Andrew Ng) ने प्रसिद्ध रूप से उल्लेख किया है: *"फीचर्स के साथ आना कठिन है, समय लेने वाला है, विशेषज्ञ ज्ञान की आवश्यकता है। 'एप्लाइड मशीन लर्निंग' मूल रूप से फीचर इंजीनियरिंग है।"*
सामान्य तकनीकें
- कैटेगोरिकल एनकोडिंग (Categorical Encoding): मशीन लर्निंग मॉडल केवल संख्याएं समझते हैं। यदि आपके पास 'लाल', 'नीला' जैसे मानों के साथ 'रंग' के लिए एक कॉलम है, तो आपको इसे गणितीय प्रतिनिधित्व (जैसे वन-हॉट एनकोडिंग) में बदलना होगा।
- स्केलिंग और नॉर्मलाइजेशन (Scaling & Normalization): 'आयु' (0-100) और 'आय' ($0-$1,000,000) की तुलना करने की कल्पना करें। बड़े पैमाने का अंतर मॉडल को भ्रमित करेगा। स्केलिंग इन सुविधाओं को एक मानक सीमा (जैसे, 0 से 1) में सामान्य कर देता है।
- फीचर निर्माण (Feature Creation): मौजूदा कॉलम से पूरी तरह से नए कॉलम प्राप्त करना। उदाहरण के लिए, यदि आपके पास 'खरीद की तिथि' है, तो 'क्या सप्ताहांत है?' नामक एक नई सुविधा बनाना खुदरा भविष्यवाणी मॉडल को भारी रूप से प्रभावित कर सकता है।
Python: एक फीचर बनाना
पंडास (pandas) का उपयोग करके कच्चे डेटा से नई, अत्यधिक भविष्य कहनेवाला विशेषताएं बनाना:
import pandas as pd
from datetime import datetime
# कच्चा डेटा: केवल जन्म तिथि
df = pd.DataFrame({'birth_date': ['1990-05-14', '1985-11-20', '2000-01-10']})
df['birth_date'] = pd.to_datetime(df['birth_date'])
# फीचर इंजीनियरिंग: 'आयु' (Age) और 'मिलेनियल है' (Is_Millennial) निकालें
current_year = datetime.now().year
df['age'] = current_year - df['birth_date'].dt.year
df['is_millennial'] = ((df['birth_date'].dt.year >= 1981) & (df['birth_date'].dt.year <= 1996)).astype(int)
print(df[['age', 'is_millennial']])डोमेन ज्ञान राजा है
सबसे शक्तिशाली विशेषताएं गणितीय एल्गोरिदम द्वारा नहीं खोजी जाती हैं; वे मानवीय डोमेन ज्ञान (Domain Knowledge) से आती हैं। एक चिकित्सक वास्तव में जानता है कि लक्षणों का कौन सा संयोजन एक बीमारी की दृढ़ता से भविष्यवाणी करता है। डेटा इंजीनियर का काम उस ज्ञान को गणितीय रूप से प्रस्तुत करना है ताकि AI इसका उपयोग कर सके।
