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

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

Сообщение Anonymous »

Я работаю над задачей оценки свинца в студии Machine Learning Machine Learning и нуждаюсь в помощи в интеграции модели интерпретируемости в мое развернутое решение.
фон







  • arure match Интерфейс). < /p>
    < /li>
    workflow < /strong>: < /p>

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

    . Модель < /li>
    Оценить модель < /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'
    
  • подход 2 [/b]:

    Пробовал зарегистрировать подготовленную модель программно с помощью локальных данных и запустить объяснитель, но столкнулся с другой ошибкой на этапе регистрации/br/br/br/>

    /> < /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)
    
    
    Вопросы

    Как я могу генерировать объяснения того, почему лидерство классифицируется как выигранный или теряется с использованием обученной модели в дизайнере Azure ML? Объяснения через API REST? Развернутые модели, обученные дизайнером (включая, как правильно загрузить модель и запустить форму или аналогичные объяснения)? Данные < /p>

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

    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)
    
    Может ли кто -нибудь предоставить руководство или указать мне на рабочий пример для достижения следующего в Azure ML Designer :

    способ получить объяснения по прогнозу для или нот -блокно ошибки, с которыми я сталкиваюсь с объяснением .


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

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

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

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

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

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

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