Как получить объяснения атрибуции функций для логистической регрессии с двумя классами, развернутой из Azure ML DesignerPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить объяснения атрибуции функций для логистической регрессии с двумя классами, развернутой из Azure ML Designer

Сообщение Anonymous »

Привет всем,
Я работаю над задачей оценки потенциальных клиентов в Stude Learning Studio и нуждается в помощи в интеграции модели интерпретации в мое развернутое решение. Пожалуйста, найдите подробности ниже: < /p>

фон < /strong> < /h3>
  • объектив < /strong>:

    Train модель на исторических данных, предсказания (Won Won /Loss). (т.е. объясните, почему лидерство классифицируется как выиграно или потеряно, подчеркивая наиболее влиятельные атрибуты).
  • среда :

    Azure Machine Learning Studio (используя induction ). /> workflow < /strong>: < /p>

    Импортированные данные и обученные модели, используя следующие компоненты дизайнера:

    Модель < /li>
    < /ul>
    < /li>
    Успешно развернула модель как веб -сервис; Я могу вызвать API и получить прогнозы для новых данных о ведущих. API. < /P>
    < /li>
    Я попытался использовать функции интерпретации model < /strong> в Azure ML: < /p>

    подход 1 < /strong>:

    ecleder, но в использовании, но в «Br />». Ошибка: < /p>

    Код: Выделить всё

    NotADirectoryError: [Errno 20] Not a directory: 'model.pkl/model.pkl'
    
  • Approach 2[/b]:

    Tried registering the trained model programmatically with local data and running the explainer, but encountered another error at the registration/explanation stage (details and code snippets below).
< /ul>

Код: Выделить всё

    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] Вопросы < /strong> < /h3>

[*]  Как я могу генерировать объяснения о том, почему лидерство классифицируется как выигранный или потерянный с использованием обученной модели Azure ML? Дизайнерская модель трубопровода и разоблачение объяснений с помощью API REST? Интерпретируемость «с помощью разработчиков, обученных развернутыми моделями (включая, как правильно загрузить модель и запустить форму или аналогичные объяснения)? < /p>
< /li>
  Как я могу генерировать объяснения на ясном человеческом языке для каждого прогноза, подходящего для показа для бизнеса? />
  фрагмент кода, чтобы получить объяснение, работая над локальными данными < /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>

 обо мне < /h3>
Я относительно новичок в машинном обучении Azure, особенно когда речь идет о аспектах интерпретации и развертывания. Designer [/b]:

 Способ получить [b] объяснения по прогнозам [/b] для потенциальных клиентов через [b] или ноутбук [/b].
 Помогать разрешить [b] ошибки, с которыми я сталкиваюсь с объяснителем [/b]. Документация, учебные пособия или примеры ноутбуков были бы очень оценены! < /p>
Заранее спасибо за вашу поддержку! Этот черновик готов к публикации в Microsoft Q & A, переполнение стека (с тегом [Azure-Machine-обучение] 
) или сообщество Microsoft Tech, как рекомендовано ранее.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ression-de
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»