Ich arbeite an einer Lead -Scoring -Aufgabe in Azure Machine Learning Studio und brauche Hilfe bei der Integration von Modellinterpretierbarkeit in meine bereitgestellte Lösung. Die folgenden Details finden Sie unter: < /p>
Hintergrund < /strong> < /h3>
[*] Objektiv < /strong>:
trainieren ein Modell für historische Leads-Daten, Drediction-Out-CHEIS (-Won- /Verlust). Erklären Sie, warum ein Vorsprung als gewonnen oder verloren eingestuft wird, wodurch die einflussreichsten Attribute hervorgehoben werden. />Workflow[/b]:
Imported data and trained a model using the following Designer components:
Two-class logistic regression
[*]Train Model
[*]Score Model
[*]Evaluate Modell < /li>
< /ul>
< /li>
Das Modell wurde erfolgreich als Webdienst bereitgestellt; Ich kann die API aufrufen und Vorhersagen für neue Leaddaten abrufen. API. Fehler: < /p>
Code: Select all
NotADirectoryError: [Errno 20] Not a directory: 'model.pkl/model.pkl'
Versuchte das Programm für geschulte Modells mit lokalen Daten und Ausführen des Erklärung, jedoch auf einen weiteren Fehler in der Registrierung/Erläuterung (Details und Code -Schnipsel). /> < /ul>
Code: Select all
explainer = TabularExplainer(
model=clf,
initialization_examples=new_lead,
features=new_lead.columns.tolist(),
classes=[0, 1]
)
print('Done')
# The Below code is not returning the explanation. No error as well.
explanation = explainer.explain_local(new_lead)
< /code>
[b] Fragen < /strong> < /h3>
Wie kann ich Erklärungen erstellen, warum ein Blei mit dem ausgebildeten Modell in Azure ML Designer eingestuft wird. Pipeline-Modell und Erläuterungen über die REST-API? Mit Designer-ausgebildeten, bereitgestellten Modellen (einschließlich des korrekten Ladens des Modells und der Ausführung von Form oder ähnlichen Erklärern)? /> Code-Snippet, um Erläuterungen zu erhalten, die an lokalen Daten arbeiten < /strong> < /h3>
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
import joblib
# Step 1: Generate dummy lead scoring dataset
df = pd.DataFrame({
"company_size": np.random.randint(10, 500, 100),
"annual_revenue": np.random.randint(100000, 10000000, 100),
"engagement_score": np.random.randint(0, 100, 100),
"last_contact_days_ago": np.random.randint(1, 60, 100),
"qualified": np.random.choice([0, 1], 100)
})
X = df.drop(columns=["qualified"])
y = df["qualified"]
# Step 2: Train model with pipeline
pipeline = Pipeline([
("scaler", StandardScaler()),
("clf", LogisticRegression())
])
pipeline.fit(X, y)
# Step 3: Save the model
joblib.dump(pipeline, "model.pkl")
print('Done')
# Step 4: Register model in Azure ML
from azureml.core import Workspace, Model
# Load workspace from config
ws = Workspace.from_config()
# Step 5: Load model back from registry
import os
model = Model(ws, name="lead-logreg-vai1")
model_dir = model.download(exist_ok=True)
print("model_dir:", model_dir)
clf = joblib.load(model_dir)
print("Loaded model type:", type(clf))
# Step 6: Make prediction and interpret with TabularExplainer
from interpret.ext.blackbox import TabularExplainer
# New lead sample
new_lead = pd.DataFrame([{
"company_size": 10,
"annual_revenue": 20000,
"engagement_score": 100,
"last_contact_days_ago": 100
}])
# Predict probability and class
proba = clf.predict_proba(new_lead)
pred = clf.predict(new_lead)
print(f"Predicted probability: {proba[0][1]:.2f}, Class: {pred[0]}")
explainer = TabularExplainer(
model=clf,
initialization_examples=new_lead,
features=new_lead.columns.tolist(),
classes=[0, 1]
)
print('Done')
# The below code is not returning the explanation. No error as well.
explanation = explainer.explain_local(new_lead)
< /code>
Über mich < /h3>
Ich bin relativ neu im maschinellen Lernen von Azure, insbesondere wenn es um Interpretierbarkeit und Bereitstellungsaspekte geht. Designer [/b]:
Eine Möglichkeit, [b] Erklärungen pro Vorhersage zu erhalten [/b] für Leads über [b] API oder Notebook [/b]. Dokumentation, Tutorials oder Beispielnotizen wären sehr geschätzt! < /p>
Vielen Dank im Voraus für Ihre Unterstützung! Dieser Entwurf ist bereit für die Veröffentlichung von Microsoft Q & A, Stack Overflow (mit dem [Azure-Machine-Learning]