शुरू करेंमुफ़्त में शुरू करें

Pipelines में कस्टम फ़ंक्शन ट्रांसफॉर्मर

किसी समय आपको बताया गया था कि मोटापे से ग्रस्त व्यक्तियों के लिए सेंसर ठीक तरह से काम नहीं कर रहे हो सकते हैं. पहले आपने इसे वेट्स से संभाला था, लेकिन अब आपको लगता है कि यह जानकारी फीचर इंजीनियरिंग में भी उपयोगी हो सकती है, इसलिए आप किसी व्यक्ति के रिकॉर्ड किए गए वज़न को इस संकेतक से बदलने का निर्णय लेते हैं कि वे मोटापे से ग्रस्त हैं या नहीं. आप यह काम pipelines का उपयोग करके करना चाहते हैं. आपके पास numpy np नाम से उपलब्ध है, साथ में RandomForestClassifier(), FunctionTransformer(), और GridSearchCV() भी हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • एक कस्टम फीचर एक्सट्रैक्टर परिभाषित करें. यह ऐसा फंक्शन होगा जो अपने इनपुट की संशोधित कॉपी आउटपुट करेगा.
  • पहली कॉलम के प्रत्येक मान को इस संकेतक से बदलें कि वह मान कॉलम के औसत के किसी गुणक द्वारा दिए गए थ्रेशहोल्ड से ऊपर है या नहीं.
  • ऊपर दिए गए फीचर एक्सट्रैक्टर को ट्रांसफॉर्मर में बदलें और उसे एक रैंडम फॉरेस्ट क्लासिफायर के साथ पाइपलाइन में रखें.
  • Grid search CV का उपयोग करके अपने फीचर एक्सट्रैक्टर में गुणा-स्थिरांक multiplier के लिए 1, 2 और 3 के मान आज़माएँ.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Define a feature extractor to flag very large values
def more_than_average(X, multiplier=1.0):
  Z = ____
  Z[:,1] = ____ > multiplier*np.mean(Z[:,1])
  return Z

# Convert your function so that it can be used in a pipeline
pipe = Pipeline([
  ('ft', ____(____)),
  ('clf', RandomForestClassifier(random_state=2))])

# Optimize the parameter multiplier using GridSearchCV
params = ____
grid_search = GridSearchCV(pipe, param_grid=params)
कोड संपादित करें और चलाएँ