फीचर सेलेक्टर को जोड़ना

Python में Dimensionality Reduction

Jeroen Boeye

Head of Machine Learning, Faktion

Lasso रिग्रेसर

from sklearn.linear_model import Lasso

la = Lasso(alpha=0.05)
la.fit(X_train, y_train)

# Actual coefficients = [5 2 0]
print(la.coef_)
[ 4.91  1.76 0. ]
print(la.score(X_test, y_test))
0.974
Python में Dimensionality Reduction

LassoCV रिग्रेसर

from sklearn.linear_model import LassoCV

lcv = LassoCV()

lcv.fit(X_train, y_train)

print(lcv.alpha_)
0.09
Python में Dimensionality Reduction

LassoCV रिग्रेसर

mask = lcv.coef_ != 0

print(mask)
[ True True False ]
reduced_X = X.loc[:, mask]
Python में Dimensionality Reduction

थोड़ा पीछे हटकर देखें

  • रैंडम फॉरेस्ट कई डिसीजन ट्री का संयोजन है.

  • फीचर चयन के लिए हम मॉडलों का संयोजन भी ले सकते हैं.

Python में Dimensionality Reduction

LassoCV से फीचर चयन

from sklearn.linear_model import LassoCV

lcv = LassoCV()
lcv.fit(X_train, y_train)

lcv.score(X_test, y_test)
0.99
lcv_mask = lcv.coef_ != 0
sum(lcv_mask)
66
Python में Dimensionality Reduction

रैंडम फॉरेस्ट से फीचर चयन

from sklearn.feature_selection import RFE
from sklearn.ensemble import RandomForestRegressor

rfe_rf = RFE(estimator=RandomForestRegressor(), 
             n_features_to_select=66, step=5, verbose=1)

rfe_rf.fit(X_train, y_train)

rf_mask = rfe_rf.support_
Python में Dimensionality Reduction

ग्रेडिएंट बूस्टिंग से फीचर चयन

from sklearn.feature_selection import RFE
from sklearn.ensemble import GradientBoostingRegressor

rfe_gb = RFE(estimator=GradientBoostingRegressor(), 
             n_features_to_select=66, step=5, verbose=1)

rfe_gb.fit(X_train, y_train)

gb_mask = rfe_gb.support_
Python में Dimensionality Reduction

फीचर सेलेक्टर को मिलाना

import numpy as np

votes = np.sum([lcv_mask, rf_mask, gb_mask], axis=0)

print(votes)
array([3, 2, 2, ..., 3, 0, 1])
mask = votes >= 2

reduced_X = X.loc[:, mask]
Python में Dimensionality Reduction

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

Python में Dimensionality Reduction

Preparing Video For Download...