feature_importances_
সর্বাধিক গুরুত্বপূর্ণ স্কোর সহ বৈশিষ্ট্যগুলি নির্বাচন করতে আপনি কেবল বৈশিষ্ট্যটি ব্যবহার করতে পারেন । সুতরাং উদাহরণস্বরূপ আপনি গুরুত্ব অনুযায়ী কে সেরা বৈশিষ্ট্য নির্বাচন করতে নিম্নলিখিত ফাংশনটি ব্যবহার করতে পারেন।
def selectKImportance(model, X, k=5):
return X[:,model.feature_importances_.argsort()[::-1][:k]]
বা যদি আপনি নিম্নলিখিত ক্লাসে পাইপলাইন ব্যবহার করছেন
class ImportanceSelect(BaseEstimator, TransformerMixin):
def __init__(self, model, n=1):
self.model = model
self.n = n
def fit(self, *args, **kwargs):
self.model.fit(*args, **kwargs)
return self
def transform(self, X):
return X[:,self.model.feature_importances_.argsort()[::-1][:self.n]]
উদাহরণস্বরূপ:
>>> from sklearn.datasets import load_iris
>>> from sklearn.ensemble import RandomForestClassifier
>>> iris = load_iris()
>>> X = iris.data
>>> y = iris.target
>>>
>>> model = RandomForestClassifier()
>>> model.fit(X,y)
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
max_depth=None, max_features='auto', max_leaf_nodes=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,
oob_score=False, random_state=None, verbose=0,
warm_start=False)
>>>
>>> newX = selectKImportance(model,X,2)
>>> newX.shape
(150, 2)
>>> X.shape
(150, 4)
এবং স্পষ্টতই যদি আপনি "শীর্ষ কে বৈশিষ্ট্যগুলি" তুলনায় অন্য কিছু মানদণ্ডের ভিত্তিতে নির্বাচন করতে চান তবে আপনি কেবল সেই অনুযায়ী ফাংশনগুলি সামঞ্জস্য করতে পারেন।