कस्टम scikit-learn मॉडल
इस अभ्यास में आप MLflow के pyfunc फ्लेवर का उपयोग करके एक कस्टम मॉडल बनाएँगे. insurance_charges डेटासेट का उपयोग करते समय, प्रशिक्षण के दौरान क्लासिफिकेशन के लिए लेबल्स को female से 0 और male से 1 में बदलना होगा. मॉडल का उपयोग करते समय, 0 या 1 की जगह female या male स्ट्रिंग्स वापस आनी चाहिए.
कस्टम मॉडल LogisticRegression पर आधारित एक Classification मॉडल है और CustomPredict नाम की क्लास का उपयोग करेगा. CustomPredict predict मेथड में एक अतिरिक्त स्टेप जोड़ता है, जो इनपुट मिलने पर आपके 0 और 1 वाले लेबल्स को वापस female और male में मैप कर देता है. आप अपने मॉडल को लॉग और लोड करने के लिए pyfunc फ्लेवर का उपयोग करेंगे.
हमारे insurance_charges डेटासेट को प्रीप्रोसेस किया जाएगा और मॉडल को इस तरह ट्रेन किया जाएगा:
lr_model = LogisticRegression().fit(X_train, y_train)
MLflow मॉड्यूल इम्पोर्ट कर लिया जाएगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
MLflow परिचय
अभ्यास निर्देश
- MLflow के
pyfuncफ्लेवर का उपयोग करके कस्टम मॉडल लॉग करें. pyfuncकेpython_modelआर्गुमेंट को कस्टम क्लासCustomPredict()पर सेट करें.pyfuncका उपयोग करके कस्टम मॉडल लोड करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Log the pyfunc model
____.____.____(
artifact_path="lr_pyfunc",
# Set model to use CustomPredict Class
python_model=____,
artifacts={"lr_model": "lr_model"}
)
run = mlflow.last_active_run()
run_id = run.info.run_id
# Load the model in python_function format
loaded_model = ____.____.____(f"runs:/{run_id}/lr_pyfunc")