前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Part1:可解释的机器学习-XAI – eXplainable Artificial Intelligence

Part1:可解释的机器学习-XAI – eXplainable Artificial Intelligence

作者头像
Jamesjin63
发布2022-11-03 14:54:39
4810
发布2022-11-03 14:54:39
举报
文章被收录于专栏:EpiHubEpiHub

[toc]

## Part1:可解释的机器学习-XAI – eXplainable Artificial Intelligence

DALEX是一个R包,用于机器学习的可视化解释、探索、模型调试和模型预测(又名XAI -可解释的人工智能)。它为预测模型的不同方面提供了大量的可视化解释。在构建机器学习时候非常有用。目前还没有过多应用于医学领域;在这篇文章中,我们将在R中实现可解释人工智能的算法。在这里可以找到对全局和局部模型评估方法的介绍。

image.png

本文主要介绍:

  1. 为什么要使用XAI
  2. 代码实现

1.为什么要使用XAI

目前,人工智能算法非常流行,通过快速调用机器学习包,完成模型预测目的,这些复杂的算法,也称之为黑盒模型。由于机器学习算法的灵活性与复杂性,它们通常可发现变量之间的复杂关系,学习出特定规律,让预测变得更加准确。因此,在达到精确预测的同时,机器学习模型也损失了对现实的课解释性。

当我们选择复杂而又有弹性的模型时,往往需要了解模型中哪些变量做了决策,目前已有人正在开发相关算法和工具来我们理解模型是如何工作的。而可解释人工智能(XAI)就是用来解释或探索复杂的模型。

2.代码实现

以apartments数据集为例,(From Warsaw,在R和Python的DALEX包均可调用)。数据集描述了1000个公寓的六个变量,如面积,地板,房间数,建设年代,每平方米均价,所处位置地区。我们将创建一个预测公寓价格的模型,就从——随机森林(回归黑盒模型)开始。

Python实现

代码语言:javascript
复制
#library
import dalex as dx
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestRegressor

#apartments dataset from DALEX
#data have 5 numerical variables and 1 categorical variables
data = dx.datasets.load_apartments()
data.head()

#we use one-hot encoding for district variable - get_dummies function from pandas
data = pd.get_dummies(data)
X = data.drop(columns='m2_price')
y = data.m2_price

#we created a random forest model using scikit-learn library
regr = RandomForestRegressor(max_depth=2, random_state=0)
regr.fit(X, y)

#we created an explainer with dalex package
exp = dx.Explainer(regr, X, y)

R-实现

代码语言:javascript
复制
#library
library(DALEX)

#apartments dataset from DALEX
#data have 5 numerical variables and 1 factor
head(apartments)

#we use one-hot encoding for district variable - one_hot() function from mltools
data <- mltools::one_hot(data.table::data.table(apartments))

#we created a random forest model using ranger library
library(ranger)
model <- ranger(m2.price~., data = data)

#we created an explainer with DALEX package
explainer <- explain(model, data = data, y = data$m2.price)

接下来的部分,会继续对XAI的可解释机器学习进行补充介绍:

  1. 基本的XAI与DALEX -Part1:介绍。
  2. 基本的XAI与DALEX -Part2:基于模型的变量重要性。
  3. 基本的XAI与DALEX -Part3:因素的边际效应
  4. 基本的XAI与DALEX -Part4:SHAP解释

-- 12.29 -- Happy birthday

参考文献

  1. DALEX has a new skin
  2. BASIC XAI with DALEX— Part 1: Introduction
  3. 源码Github
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ## Part1:可解释的机器学习-XAI – eXplainable Artificial Intelligence
  • 1.为什么要使用XAI
  • 2.代码实现
    • Python实现
      • R-实现
      • 参考文献
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档