美文网首页
Part1:可解释的机器学习-XAI – eXplainable

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

作者: jamesjin63 | 来源:发表于2020-12-29 22:39 被阅读0次

    [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实现

    #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-实现

    #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

    相关文章

      网友评论

          本文标题:Part1:可解释的机器学习-XAI – eXplainable

          本文链接:https://www.haomeiwen.com/subject/eqtcoktx.html