百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

炼丹神器|python的开源库:Shapash

off999 2024-10-10 07:51 35 浏览 0 评论

作者丨时晴

来源丨炼丹笔记

来源链接:https://mp.weixin.qq.com/s/Iq4Gz3qgKNTIC4TryGdX0A

最近时晴又发现了个炼丹神器Shapash,就迫不及待的要推荐给大家.这是个python的开源库,可以让炼丹师们在炼丹过程中理解自己为什么能练出"好"丹.相信诸位炼丹师和我一样,不仅追求一个好的模型,同时也追究模型的可解释性,废话不多说,我们看看"太阳女神"如何解释我们的模型吧.

shapash适用于很多模型:Catboost,Xgboost,LightGBM,Sklearn Ensemble等.可以简单的用pip进行安装:

$pip install shapash

我们用一个实际的例子来说明shapash的用法.我们先训练一个回归模型,用于预测房价.

数据下载链接:https://www.kaggle.com/c/house-prices-advanced-regression-techniques

先用shapash读入数据:

import pandas as pd
from shapash.data.data_loader import data_loading
# house_dict里面是特征名到特征含义的映射

house_df, house_dict = data_loading('house_prices')
y_df=house_df['SalePrice'].to_frame()
X_df=house_df[house_df.columns.difference(['SalePrice'])]

看下数据如下:

对类别特征进行编码:

from category_encoders import OrdinalEncoder

categorical_features = [col for col in X_df.columns if X_df[col].dtype == 'object']
encoder = OrdinalEncoder(cols=categorical_features).fit(X_df)
X_df=encoder.transform(X_df)

我们可以看到,所有特征都变成数值了:

找个任意的回归模型训练,这里我用随机森林:

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
Xtrain, Xtest, ytrain, ytest = train_test_split(X_df, y_df, train_size=0.75)
reg = RandomForestRegressor(n_estimators=200, min_samples_leaf=2).fit(Xtrain,ytrain)
#预估测试集
y_pred = pd.DataFrame(reg.predict(Xtest), columns=['pred'], index=Xtest.index)

这里我们不探讨该模型效果,直接看看如何用"太阳女神"解释该模型:

from shapash.explainer.smart_explainer import SmartExplainer
xpl = SmartExplainer(features_dict=house_dict) # Optional parameter 
xpl.compile(
    x=Xtest,
    model=reg,
    preprocessing=encoder,# Optional: use inverse_transform method
    y_pred=y_pred # Optional
)

然后使用一行代码,就可以解释模型了:

app = xpl.run_app()

我们可以看到特征重要性:

已经特征多大程度影响预估:

当我们选择特征重要性最低的特征时,可以发现该特征影响的样本较少,影响值的范围也小了很多(-2000~2000).

此外还有一些可视化的特性等待大家探索:

相关推荐

电脑wifi突然变成红叉搜不到

1、WiFi功能未开启:很多时候出现WiFi红色叉叉图标,可能就是无线WiFi的开关或者按键没有开启导致的。一般的笔记本键盘上面都有一个F5开启WiFi的功能,有的需要结合Fn功能键一起按。每个品牌的...

正版win10系统一键重装官网(一键装机win10正版系统)

1、下载小白一键重装软件,打开软件后选择我们要安装的系统。?2、接着小白给出我们一些常用的电脑软件,大家可根据自己需要进行下载。?3、然后就是我们就耐心的等待系统镜像的下载吧。?4、部署环境完成后我们...

windows8系统自己怎么装(如何安装windows 8)

要在线安装Windows8系统,您可以按照以下步骤操作:1.准备安装媒体:在您的计算机上打开一个现代的网络浏览器(如Chrome、Firefox或Edge),然后前往Microsoft...

win10登录选项没有密码设置(win10没有登陆密码框)

是该电脑没设置密码,所以登录时看不到密码选项。电脑开机后,要设置密码,设置完成后,重新启动电脑,就会出现密码登录框,输入密码并正确后,电脑才能正常进入系统。1、首先进入安全模式;进入安全模式教程:2、...

小白刷机官网(小白刷机助手)

平板的话,和处理器有关,如果处理器只支持win8是不能刷win10的。

windows关闭端口命令(windows 关端口)

1、点击控制面板。2、进入控制面板,然后点击系统和安全。3、进入系统和安全,点击Windows防火墙。4、进入Windows防火墙,点击左侧的高级设置。5、进入防火墙高级设置,点击入站规则。6、点击入...

360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
  • 360免费wifi老版本(360免费wifi2019下载安装)
无线wifi路由器怎么安装(请问无线路由器怎么安装)

安装的方法/步骤:1、怎么安装无线路由器呢?首先把网线的其中一头插入进光猫里面。2、接着用网线的另一头插入进无线路由器的蓝色接口处,这样就安装好无线路由器啦。3、点击打开电脑浏览器,输入路由器设置地址...

fat32格式化精灵(格式化fat32格式工具)

内存卡格式化一般有两种方式:第一种是直接将内存卡插入手机的卡托,然后进入设置——运行及内存管理,点击格式化SD卡即可完成。当然有一些手机是不支持外置的内存卡插入,这就需要用OTG线插入手机,点击手机的...

外置光驱安装win7系统(外置光驱安装操作系统)

苹果电脑、电源适配器丶光盘装系统(电脑有光驱、或者外接光驱)光盘安装准备:win764位纯净版安装盘,如果使用的苹果电脑有光驱,优先使用自带光驱安装;如电脑没有光驱,可以是用外接USB光驱安装。光盘...

win7x86是32位还是64位

32位win7x86是32位操作系统,win7x64是64位操作系统。扩展资料Windows7,中文名称视窗7,是由微软公司(Microsoft)开发的操作系统,内核版本号为WindowsNT...

用我告诉你安装win7(安装win7教程)

方法一:使用工具在线一键下载安装win7(win7正式版只需使用正版密钥激活即可)1、在电脑安装好小白一键重装系统工具打开,选择原版win7旗舰版系统,点击安装此系统。2、等待软件自动下载系统镜像文件...

sd卡如何修复(如何修复sd卡视频教程)

修复SD卡的三个步骤如下:1.使用磁盘检测工具检查SD卡的错误:您可以使用Windows操作系统中自带的磁盘检查工具或第三方软件来检查并修复SD卡中的错误。2.格式化SD卡:如果检查后发现错误无法...

安卓手机杀毒软件哪个最好用

腾讯手机管家的守护老人安全功能版本我在用,我来说说吧。此版本是专门为守护老人安全设计推出的,不但有效拦截诈骗短信,电话,木马病毒,钓鱼网址,辟谣功能可以帮助老人立即分辨养生讯息,银行卡故障讯息,保险异...

xp3用什么模拟器打开(xp3用什么模拟器打开好)

可以按照以下的步骤排查解决:首先,游戏必须要使kirikiri引擎,这点可以从文件中是否含有部分xp3后缀的文件来判断然后用模拟器打开date.xp3就行了,部分汉化游戏是直接打开exe程序如果遇到d...

取消回复欢迎 发表评论: