تصویر سازی خروجی از مدل یادگیری ماشینی

شکل ۱. تصویرسازی خروجی از مدل یادگیری ماشینیمنتشر‌شده در: towardsdatascience به تاریخ ۱۳ ژوئن ۲۰۲۱ لینک منبع Visualizing Output Of Machine Learning Modelتفسیر یک مدل یادگیری ماشین کار دشواری است، زیرا ما واقعا نمی‌دانیم که این مدل در داخل آن جعبه سیاه چگونه کار می‌کند. تفسیر مورد نیاز است تا بتوانیم بهترین مدل را برای داده‌های خود انتخاب کرده و آن را تقویت کنیم. Shap یک کتابخانه پیتون منبع باز است که برای توضیح مدل‌ها استفاده می‌شود. می‌تواند انواع متعددی از تجسم‌ها را ایجاد کند که به تفسیر مدل و توضیح نحوه کار مدل کمک می‌کند.در این مقاله، انواع مختلف تصویرسازی مدل یادگیری ماشینی را خواهیم دید که می‌تواند با استفاده از Shap ایجاد شود.بیایید شروع کنیم …نصب کتابخانه‌های مورد نیازما با نصب Shap با استفاده از pip شروع می‌کنیم. فرمانی که در زیر داده شده‌است این کار را خواهد کرد.pip install shapوارد کردن کتابخانه‌های مورد نیازدر این مرحله، ما کتابخانه‌های مورد نیاز برای بارگذاری داده‌ها، ایجاد یک مدل، و ایجاد تجسم‌های آن مدل را وارد می‌کنیم.import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport shapfrom sklearn.model_selection import train_test_splitimport xgboost as xgbساخت مدلدر این مرحله، ما مدل یادگیری ماشینی را ایجاد خواهیم کرد. برای این مقاله، من در حال ایجاد یک مدل XGBoost هستم، اما شما می‌توانید هر مدلی از انتخاب خود را انتخاب کنید. مجموعه داده‌هایی که ما برای این مدل استفاده خواهیم کرد مجموعه داده معروف دیابت است که می‌تواند از کاگل دانلود شود.df = pd.read_csv('/content/Diabetes.csv')features = ['Pregnancies', 'Glucose','BloodPressure','SkinThickness','Insulin','BMI','DiabetesPedigreeFunction','Age']Y = df['Outcome']X = df[features]X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 1234)xgb_model = xgb.XGBRegressor(random_state=42)xgb_model.fit(X_train, Y_train)ایجاد تصویر سازیحالا ما یک توضیح برای شکل دادن ایجاد می‌کنیم و مقادیر شکل را برای مدل خود پیدا می‌کنیم و با استفاده از آن‌ها تجسم‌ها را ایجاد می‌کنیم.explainer = shap.Explainer(xgb_model)shap_values = explainer(X_test)۱. نوار بارshap.plots.bar(shap_values, max_display=10)شکل ۲: نمودار بار مقادیر تکان۲. نمودار Cohortshap.plots.bar(shap_values.cohorts(2).abs.mean(0))شکل ۳: مجموعه طرح Cohort۳. نقشه حرارتیshap.plots.heatmap(shap_values[1:100])شکل ۴: نقشه حرارتی۴. نمودار آبشاریshap.plots.waterfall(shap_values[0]) # For the first observationشکل ۵: نمودار آبشاری۵. نموادر نیروبرای این طرح، ما باید «js» را نیز آغاز کنیم.shap.initjs()explainer = shap.TreeExplainer(xgb_model)shap_values = explainer.shap_values(X_test)def p(j): return(shap.force_plot(explainer.expected_value, shap_values[j,:], X_test.iloc[j,:]))p(0)شکل ۶: نمودار نیرو۶. نمودار تصمیمshap_values = explainer.shap_values(X_test)[1]print("The expected value is ", expected_value)print("The final prediction is ", xgb_model.predict(X_test)[1])shap.decision_plot(expected_value, shap_values, X_test)شکل ۷: نمودار تصمیماین روشی است که شما می‌توانید از Shap برای ایجاد تجسم‌های مرتبط با مدل‌های یادگیری ماشین و آنالیز آن‌ها استفاده کنید. پیش بروید و این را با مجموعه داده‌های مختلف و مدل‌های یادگیری ماشین امتحان کنید و اجازه دهید نظر شما را در بخش پاسخ بدانم.این مقاله در هم‌کاری با پیوش اینگل است.از خواندن متشکرم!این متن با استفاده از ربات ترجمه مقاله دیتاساینس ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.