Feature engineering और selection

एंड-टू-एंड मशीन लर्निंग

Joshua Stapleton

Machine Learning Engineer

Feature engineering

Features बनाएँ

  • समस्या सरल बनती है
  • मॉडल efficiency बेहतर होती है

तकनीकें

  • मौजूदा features संशोधित करें
  • नए features डिज़ाइन करें

फ़ायदे

  • deployment, maintenance, training आसान
  • interpretability बढ़ती है

मशीन लर्निंग लाइफसाइकल की मौजूदा अवस्था: feature engineering

एंड-टू-एंड मशीन लर्निंग

Normalization

  • Numeric features को [0, 1] पर scale करता है
  • तब उपयोगी जब features के scale/range अलग हों।
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import Normalizer

# Split the data
X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
# Createnormalizer object, fit on training data, normalize, and transform test set
norm = Normalizer()
X_train_norm = norm.fit_transform(X_train)
X_test_norm = norm.transform(X_test)
एंड-टू-एंड मशीन लर्निंग

Standardization

  • डेटा को mean = 0, variance = 1 पर scale करता है
  • उन algorithms के लिए लाभकारी जो समान mean और variance मानते हैं
from sklearn.preprocessing import StandardScaler

# Split the data
X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
# Create a scaler object and fit training data to standardize it
sc = StandardScaler()
X_train_stzd = sc.fit_transform(X_train)
# Only standardize the test data
X_test_stzd = sc.transform(X_test)
एंड-टू-एंड मशीन लर्निंग

एक अच्छा feature कैसा होता है?

  • प्रासंगिक features इस्तेमाल करें
  • मरीज की appointment वाले दिन का मौसम diagnosis पर असर नहीं डालना चाहिए

 

तूफानी मौसम की तस्वीर, feature selection में feature relevance का सिद्धांत दिखाती हुई

  • असमान (orthogonal) features इस्तेमाल करें
  • उम्र महीनों में और उम्र वर्षों में जैसे दो features मददगार नहीं होंगे

 

एक आरेख जो feature selection में orthogonality का सिद्धांत दिखाता है

एंड-टू-एंड मशीन लर्निंग

sklearn.feature_selection

 

from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_selection import SelectFromModel
from sklearn.model_selection import train_test_split

# Splitting data into train and test subsets first to avoid data leakage X_train, X_test, y_train, y_test = train_test_split( heart_disease_df_X, heart_disease_df_y, test_size=0.2, random_state=42)
एंड-टू-एंड मशीन लर्निंग

sklearn.feature_selection (cont.)

 

# Define and fit the random forest model
rf = RandomForestClassifier(n_jobs=-1, class_weight='balanced', max_depth=5)
rf.fit(X_train, y_train)

# Define and run feature selection model = SelectFromModel(rf, prefit=True) features_bool = model.get_support() features = heart_disease_df.columns[features_bool]
एंड-टू-एंड मशीन लर्निंग

अभ्यास करते हैं!

एंड-टू-एंड मशीन लर्निंग

Preparing Video For Download...